Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

System going down at 1:45 this afternoon for disk crashing.


devel / comp.arch / Java bytecode processors

SubjectAuthor
* Java bytecode processorsThomas Koenig
+* Re: Java bytecode processorsMitchAlsup
|+* Re: Java bytecode processorsBGB
||`* Re: Java bytecode processorsaph
|| +* Re: Java bytecode processorsMitchAlsup
|| |`* Re: Java bytecode processorsThomas Koenig
|| | +- Re: Java bytecode processorsMitchAlsup
|| | `- Re: Java bytecode processorsBGB
|| `- Re: Java bytecode processorsBGB
|+* Re: Java bytecode processorsThomas Koenig
||`* Re: Java bytecode processorsEricP
|| +- Re: Java bytecode processorsEricP
|| `* Re: Java bytecode processorsTerje Mathisen
||  `- Re: Java bytecode processorsEricP
|+- Re: Java bytecode processorsTerje Mathisen
|`* Re: Java bytecode processorsAnton Ertl
| +* Re: Java bytecode processorsStefan Monnier
| |+- Re: Java bytecode processorsBGB
| |+* Re: Java bytecode processorsAnton Ertl
| ||`* Re: Java bytecode processorsMitchAlsup
| || `- Re: Java bytecode processorsNemo
| |`* Re: Java bytecode processorsNemo
| | +* Re: Java bytecode processorsEricP
| | |`- Re: Java bytecode processorsMitchAlsup
| | `- Re: Java bytecode processorsMitchAlsup
| `* Re: Java bytecode processorsMitchAlsup
|  `* Re: Java bytecode processorsBernd Linsel
|   +- Re: Java bytecode processorsMitchAlsup
|   `* Re: Java bytecode processorsThomas Koenig
|    +- Re: Java bytecode processorsMitchAlsup
|    +- Re: Java bytecode processorsBGB
|    `* Re: bad code, Java bytecode processorsJohn Levine
|     +- Re: bad code, Java bytecode processorsThomas Koenig
|     `- Re: bad code, Java bytecode processorsAnton Ertl
+- Re: Java bytecode processorsAnton Ertl
+* Re: Java bytecode processorsgareth evans
|+* Re: Java bytecode processorsAnton Ertl
||`* Re: Java bytecode processorsBGB
|| `* Re: Java bytecode processorsMitchAlsup
||  `* Re: Java bytecode processorsBGB
||   `- Re: Java bytecode processorsMitchAlsup
|`* Re: Java bytecode processorsMitchAlsup
| `* Re: Java bytecode processorsgareth evans
|  `* Re: Java bytecode processorsMitchAlsup
|   `- Re: Java bytecode processorsBGB
+- Re: Java bytecode processorsMarcus
`* Re: Java bytecode processorsantispam
 `* Re: Java bytecode processorsJimBrakefield
  +- Re: Java bytecode processorsJimBrakefield
  `* Re: Java bytecode processorsJohn Levine
   `* Re: Java bytecode processorsMitchAlsup
    `* Re: not the PDP-11, was Java bytecode processorsJohn Levine
     +- Re: not the PDP-11, was Java bytecode processorsJimBrakefield
     `* Design a better 16 or 32 bit processorBrett
      +* Re: Design a better 16 or 32 bit processorThomas Koenig
      |`- Re: Design a better 16 or 32 bit processorBrett
      +* Re: Design a better 16 or 32 bit processorJohn Dallman
      |+- Re: Design a better 16 or 32 bit processorBGB
      |`- Re: Design a better 16 or 32 bit processorBrett
      +* Re: not a vax, was Design a better 16 or 32 bit processorJohn Levine
      |+- Re: not a vax, was Design a better 16 or 32 bit processorBrett
      |+* Re: not a vax, was Design a better 16 or 32 bit processorAnton Ertl
      ||`* Re: not a 360 either, was Design a better 16 or 32 bit processorJohn Levine
      || +- Re: not a 360 either, was Design a better 16 or 32 bit processorMitchAlsup
      || +* Re: not a 360 either, was Design a better 16 or 32 bit processorAnne & Lynn Wheeler
      || |`* Re: not a 360 either, was Design a better 16 or 32 bit processorJohn Levine
      || | `* Re: not a 360 either, was Design a better 16 or 32 bit processorAnne & Lynn Wheeler
      || |  `* vs/pascal (Was: Re: not a 360 either, was Design a better 16 or 32Terje Mathisen
      || |   `- Re: vs/pascalAnne & Lynn Wheeler
      || `* Re: not a 360 either, was Design a better 16 or 32 bit processorAnton Ertl
      ||  `* Re: not a 360 either, was Design a better 16 or 32 bit processorEricP
      ||   `- Re: not a 360 either, was Design a better 16 or 32 bit processorMitchAlsup
      |`* Re: not a vax, was Design a better 16 or 32 bit processorEricP
      | `- Re: not a vax, was Design a better 16 or 32 bit processorMitchAlsup
      +* Re: Design a better 16 or 32 bit processorBrett
      |+* Re: Design a better 16 or 32 bit processorIvan Godard
      ||`- Re: Design a better 16 or 32 bit processorBrett
      |`* Re: Design a better 16 or 32 bit processorMitchAlsup
      | `* Re: Design a better 16 or 32 bit processorBrett
      |  +- Re: Design a better 16 or 32 bit processorBrett
      |  +* Re: Design a better 16 or 32 bit processorMitchAlsup
      |  |+* Re: Design a better 16 or 32 bit processorStefan Monnier
      |  ||`* Re: Design a better 16 or 32 bit processorAnton Ertl
      |  || +- Re: Design a better 16 or 32 bit processorEricP
      |  || `* Re: Design a better 16 or 32 bit processorDavid Brown
      |  ||  `* Re: Design a better 16 or 32 bit processorStephen Fuld
      |  ||   `- Re: Design a better 16 or 32 bit processorDavid Brown
      |  |`* Re: Design a better 16 or 32 bit processorBrett
      |  | `* Re: Design a better 16 or 32 bit processorMitchAlsup
      |  |  `* Re: Design a better 16 or 32 bit processorIvan Godard
      |  |   `* Re: Design a better 16 or 32 bit processorBrett
      |  |    `* Re: Design a better 16 or 32 bit processorJimBrakefield
      |  |     `- Re: Design a better 16 or 32 bit processorBrett
      |  +* Re: Design a better 16 or 32 bit processorBGB
      |  |+* Re: Design a better 16 or 32 bit processorMitchAlsup
      |  ||+- Re: Design a better 16 or 32 bit processorBGB
      |  ||`- Re: Design a better 16 or 32 bit processorIvan Godard
      |  |`- Re: Design a better 16 or 32 bit processorBGB
      |  `* Re: Design a better 16 or 32 bit processorTerje Mathisen
      |   `* Re: Design a better 16 or 32 bit processorMitchAlsup
      |    +- Re: Design a better 16 or 32 bit processorStephen Fuld
      |    +- Re: Design a better 16 or 32 bit processorBGB
      |    `* Re: Design a better 16 or 32 bit processorEricP
      `* ARM just added MEMCPY instructions.Brett

Pages:12345678910
Java bytecode processors

<sh3evb$n1v$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20247&group=comp.arch#20247

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!news.mixmin.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-22d2-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Java bytecode processors
Date: Sun, 5 Sep 2021 22:05:31 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sh3evb$n1v$1@newsreader4.netcologne.de>
Injection-Date: Sun, 5 Sep 2021 22:05:31 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-22d2-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:22d2:0:7285:c2ff:fe6c:992d";
logging-data="23615"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Sun, 5 Sep 2021 22:05 UTC

Although there are Java bytecode processors (even one available on
Github, https://github.com/amal029/jop) they have had very limited
success.

Why? A lot of commercial code runs on JVM now (I've heard quipped
that Java is the new COBOL), and I would expect significant
performance increase from a native implementation as opposed to
an interpreter or a JIT compiler. Or have JIT compilers become
so good that it no longer matters, and the effort of introducing
a new architecture would be too large (again)?

Re: Java bytecode processors

<1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20248&group=comp.arch#20248

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:2297:: with SMTP id o23mr8498996qkh.405.1630883118757;
Sun, 05 Sep 2021 16:05:18 -0700 (PDT)
X-Received: by 2002:a54:4883:: with SMTP id r3mr6567610oic.7.1630883118533;
Sun, 05 Sep 2021 16:05:18 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 5 Sep 2021 16:05:18 -0700 (PDT)
In-Reply-To: <sh3evb$n1v$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com>
Subject: Re: Java bytecode processors
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 05 Sep 2021 23:05:18 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 21
 by: MitchAlsup - Sun, 5 Sep 2021 23:05 UTC

On Sunday, September 5, 2021 at 5:05:33 PM UTC-5, Thomas Koenig wrote:
> Although there are Java bytecode processors (even one available on
> Github, https://github.com/amal029/jop) they have had very limited
> success.
>
> Why?
<
A Bytecode interpreter, even in HW will have a serious performance
issue when compared to a cross compiling native instruction set.
Probably around 2×-3× penalty.
<
> A lot of commercial code runs on JVM now (I've heard quipped
> that Java is the new COBOL), and I would expect significant
> performance increase from a native implementation as opposed to
> an interpreter or a JIT compiler. Or have JIT compilers become
> so good that it no longer matters, and the effort of introducing
> a new architecture would be too large (again)?
<
JIT compilers compile to native ISA and perform reasonable
optimizations; a bytecode interpreter is always at the mercy
of the interpreter, even when done in HW. Can you get a bytecode
interpreter to run 3-4 bytes per cycle ? continuously ?

Re: Java bytecode processors

<sh3n17$fdf$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20253&group=comp.arch#20253

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Sun, 5 Sep 2021 19:21:47 -0500
Organization: A noiseless patient Spider
Lines: 50
Message-ID: <sh3n17$fdf$1@dont-email.me>
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
<1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 6 Sep 2021 00:23:03 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="71911c025cb2d08a7ebe1920a0bb34d6";
logging-data="15791"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Ww/6ypn+Q5CEm3jO7QMMs"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.13.0
Cancel-Lock: sha1:Nrd7jS4xHmpQ4e3G2hpBlz1n5SQ=
In-Reply-To: <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com>
Content-Language: en-US
 by: BGB - Mon, 6 Sep 2021 00:21 UTC

On 9/5/2021 6:05 PM, MitchAlsup wrote:
> On Sunday, September 5, 2021 at 5:05:33 PM UTC-5, Thomas Koenig wrote:
>> Although there are Java bytecode processors (even one available on
>> Github, https://github.com/amal029/jop) they have had very limited
>> success.
>>
>> Why?
> <
> A Bytecode interpreter, even in HW will have a serious performance
> issue when compared to a cross compiling native instruction set.
> Probably around 2×-3× penalty.

I think there is a reason why stack-oriented ISAs are no longer a thing.

Either the stack would need to map to registers, or be treated as a
special sort of special-purpose cache. The stack is also likely to
become a serious bottleneck if one can't schedule multiple
stack-operations per clock-cycle, and one would need to either operate
at a somewhat higher clock-speed or execute a large number of
instructions per cycle to be performance competitive with a 3R ISA.

> <
>> A lot of commercial code runs on JVM now (I've heard quipped
>> that Java is the new COBOL), and I would expect significant
>> performance increase from a native implementation as opposed to
>> an interpreter or a JIT compiler. Or have JIT compilers become
>> so good that it no longer matters, and the effort of introducing
>> a new architecture would be too large (again)?
> <
> JIT compilers compile to native ISA and perform reasonable
> optimizations; a bytecode interpreter is always at the mercy
> of the interpreter, even when done in HW. Can you get a bytecode
> interpreter to run 3-4 bytes per cycle ? continuously ?
>

Yeah. When translating from a stack IR to a 3AC IR, the number of
operations tends to actually shrink somewhat.

Say:
iload 7
iconst 13
iadd
istore 6

Might, in a 3R ISA, turn into a single instruction, say:
ADD R9, 13, R11

....

Re: Java bytecode processors

<sh4aaq$8p9$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20256&group=comp.arch#20256

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!rocksolid2!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-c002-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 6 Sep 2021 05:52:26 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sh4aaq$8p9$1@newsreader4.netcologne.de>
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
<1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 6 Sep 2021 05:52:26 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-c002-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:c002:0:7285:c2ff:fe6c:992d";
logging-data="9001"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Mon, 6 Sep 2021 05:52 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Sunday, September 5, 2021 at 5:05:33 PM UTC-5, Thomas Koenig wrote:
>> Although there are Java bytecode processors (even one available on
>> Github, https://github.com/amal029/jop) they have had very limited
>> success.
>>
>> Why?
><
> A Bytecode interpreter, even in HW will have a serious performance
> issue when compared to a cross compiling native instruction set.
> Probably around 2×-3× penalty.

Of course, the latency of the first-time compilation is somewhat
large :-)

It is interesting to read the claims about picojava, which are
(unfortunately) not substantiated anywhere where I can get
to without a paywall.

The claims are about the same level of efficiency for C/C++ code,
and about a factor of 20 vs. an interpreter.

Of course, they were also looking at the embedded market, where
JIT compilation is definitely out.

><
>> A lot of commercial code runs on JVM now (I've heard quipped
>> that Java is the new COBOL), and I would expect significant
>> performance increase from a native implementation as opposed to
>> an interpreter or a JIT compiler. Or have JIT compilers become
>> so good that it no longer matters, and the effort of introducing
>> a new architecture would be too large (again)?
><
> JIT compilers compile to native ISA and perform reasonable
> optimizations; a bytecode interpreter is always at the mercy
> of the interpreter, even when done in HW. Can you get a bytecode
> interpreter to run 3-4 bytes per cycle ? continuously ?

Me, certainly not. Anybody else... I don't know :-)

Re: Java bytecode processors

<sh4c71$bnc$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20257&group=comp.arch#20257

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!Liunnst7X9VOeBBqqVtBCw.user.46.165.242.91.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 6 Sep 2021 08:24:32 +0200
Organization: Aioe.org NNTP Server
Message-ID: <sh4c71$bnc$1@gioia.aioe.org>
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
<1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="12012"; posting-host="Liunnst7X9VOeBBqqVtBCw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
Firefox/60.0 SeaMonkey/2.53.9
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Mon, 6 Sep 2021 06:24 UTC

MitchAlsup wrote:
> On Sunday, September 5, 2021 at 5:05:33 PM UTC-5, Thomas Koenig wrote:
>> Although there are Java bytecode processors (even one available on
>> Github, https://github.com/amal029/jop) they have had very limited
>> success.
>>
>> Why?
> <
> A Bytecode interpreter, even in HW will have a serious performance
> issue when compared to a cross compiling native instruction set.
> Probably around 2×-3× penalty.
> <
>> A lot of commercial code runs on JVM now (I've heard quipped
>> that Java is the new COBOL), and I would expect significant
>> performance increase from a native implementation as opposed to
>> an interpreter or a JIT compiler. Or have JIT compilers become
>> so good that it no longer matters, and the effort of introducing
>> a new architecture would be too large (again)?
> <
> JIT compilers compile to native ISA and perform reasonable
> optimizations; a bytecode interpreter is always at the mercy
> of the interpreter, even when done in HW. Can you get a bytecode
> interpreter to run 3-4 bytes per cycle ? continuously ?
>
I have to agree 100% with Mitch here:

A Java hw machine has been suggested many times, and it has always been
a (bad) solution in search of a problem.

In my current daytime work (for https://cognite.com/, a cloud-agnostic
industrial IT provider) we use several JVM-based languages, including
both Java and Kotlin as well as Scala, and the JIT compilers are just
Good Enough, and if/when they are not, then clang have native compilers
for both Java and Kotlin.

Terje

--
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"

Re: Java bytecode processors

<2021Sep6.090922@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20259&group=comp.arch#20259

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 06 Sep 2021 07:09:22 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 49
Distribution: world
Message-ID: <2021Sep6.090922@mips.complang.tuwien.ac.at>
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
Injection-Info: reader02.eternal-september.org; posting-host="03f3240762f4be93a744c0efcd918770";
logging-data="19567"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/fm2kLAHfiTe9JWU6bBq7O"
Cancel-Lock: sha1:TNYA4uvDTj6bbdI8l04G6HWUA9E=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Mon, 6 Sep 2021 07:09 UTC

Thomas Koenig <tkoenig@netcologne.de> writes:
>Although there are Java bytecode processors (even one available on
>Github, https://github.com/amal029/jop) they have had very limited
>success.
>
>Why?

The JavaVM has not been designed for hardware implementation, and as a
result AFAIK all "hardware implementations" were partial, and fell
back to software assist for some instructions.

Also, what would the advantage of such a hardware implementation be?

A lot of commercial code runs on JVM now (I've heard quipped
>that Java is the new COBOL), and I would expect significant
>performance increase from a native implementation as opposed to
>an interpreter or a JIT compiler. Or have JIT compilers become
>so good that it no longer matters, and the effort of introducing
>a new architecture would be too large (again)?

JIT compilers certainly have become pretty good a long time ago, and
do things that "hardware implementations" at the time would not do:
E.g., escape analysis to optimize "new" into stack allocation;
determine the target of invokevirtual, inline it and use the resulting
knowledge for optimization.

In the meantime hardware designers do or at least think of things that
used to be available only in compilers, such as move elimination
(introduced in Intel CPUs with Sandy Bridge), or VVM. So maybe these
days the hardware would look better than it looked in earlier times;
IIRC both SPARC and ARM did their "hardware implementations" at a time
when they were only doing in-order CPUs. However, I don't think that
hardware can make escape analysis unnecessary, so hardware would have
to overtake JIT compilers in some places in order to make up for the
places where it is deficient.

Or one could think about whether you can get away from directly
executing JavaVM code without JIT, and combine both approaches.
Things that come to my mind would be to use the hardware
implementation for running the cold code (or code that has not yet
been found to be hot), with hardware supporting the profiling to find
hot spots, and then the compiler optimizes the hot spots. Will the
hardware implementation provide an advantage over other instruction
sets for the optimized code?

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Java bytecode processors

<2021Sep6.093932@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20260&group=comp.arch#20260

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 06 Sep 2021 07:39:32 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 36
Message-ID: <2021Sep6.093932@mips.complang.tuwien.ac.at>
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="03f3240762f4be93a744c0efcd918770";
logging-data="19567"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/y0YkBCzUkzDjm0TXR1iti"
Cancel-Lock: sha1:tJBvAL5f722fLm0KFKMGYoaTPUs=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Mon, 6 Sep 2021 07:39 UTC

MitchAlsup <MitchAlsup@aol.com> writes:
>On Sunday, September 5, 2021 at 5:05:33 PM UTC-5, Thomas Koenig wrote:
>> Although there are Java bytecode processors (even one available on=20
>> Github, https://github.com/amal029/jop) they have had very limited=20
>> success.=20
>>=20
>> Why?=20
><
>A Bytecode interpreter, even in HW will have a serious performance
>issue when compared to a cross compiling native instruction set.
>Probably around 2=C3=97-3=C3=97 penalty.

Why do you think so?

>JIT compilers compile to native ISA and perform reasonable
>optimizations; a bytecode interpreter is always at the mercy
>of the interpreter, even when done in HW.

When done in hardware, it's not an interpreter, it's an instruction
set.

>Can you get a bytecode
>interpreter to run 3-4 bytes per cycle ? continuously ?

Can you decode x register machine instructions per cycle?
Continuously?

I see no unsurmountable hurdles to create a JavaVM front end for an
appropriate OoO machine that produces a similar utilization of the FUs
of the OoO machine. Note that there is no aliasing problem wrt the
locals slots on the JavaVM.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Java bytecode processors

<sh4qsh$ove$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20261&group=comp.arch#20261

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: headston...@yahoo.com (gareth evans)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 6 Sep 2021 11:34:52 +0100
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <sh4qsh$ove$1@dont-email.me>
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 6 Sep 2021 10:34:57 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="7a825c7d6ddda9dd8530ba35181c9172";
logging-data="25582"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18wbSmRTU7uN7V/ipLH2WLa"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:38WFsAjoblNINNbNoeAee6C55es=
In-Reply-To: <sh3evb$n1v$1@newsreader4.netcologne.de>
 by: gareth evans - Mon, 6 Sep 2021 10:34 UTC

On 05/09/2021 23:05, Thomas Koenig wrote:
> Although there are Java bytecode processors (even one available on
> Github, https://github.com/amal029/jop) they have had very limited
> success.
>
> Why? A lot of commercial code runs on JVM now (I've heard quipped
> that Java is the new COBOL), and I would expect significant
> performance increase from a native implementation as opposed to
> an interpreter or a JIT compiler. Or have JIT compilers become
> so good that it no longer matters, and the effort of introducing
> a new architecture would be too large (again)?
>

Does JIT represent a threat to computer security?

We rely on memory divisions to be read-only, read / write or
execute-only but JIT (Just In Time) compilation means using
source code as data, returning compiled code as data, and then
executing that compiled code from a memory division that must
be executable read / write.

This seems like a recipe for viruses!

Re: Java bytecode processors

<2021Sep6.152518@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20264&group=comp.arch#20264

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 06 Sep 2021 13:25:18 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 9
Message-ID: <2021Sep6.152518@mips.complang.tuwien.ac.at>
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <sh4qsh$ove$1@dont-email.me>
Injection-Info: reader02.eternal-september.org; posting-host="03f3240762f4be93a744c0efcd918770";
logging-data="16435"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+8OLezwrEWAjlgNyIxJbEt"
Cancel-Lock: sha1:GvbQ6n2qL8kQpOzfc5yATzmC+hQ=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Mon, 6 Sep 2021 13:25 UTC

gareth evans <headstone255@yahoo.com> writes:
>This seems like a recipe for viruses!

This sentence *is* a recipe for security theatre.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Java bytecode processors

<jwvh7ex95yv.fsf-monnier+comp.arch@gnu.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20267&group=comp.arch#20267

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: monn...@iro.umontreal.ca (Stefan Monnier)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 06 Sep 2021 09:44:42 -0400
Organization: A noiseless patient Spider
Lines: 13
Message-ID: <jwvh7ex95yv.fsf-monnier+comp.arch@gnu.org>
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
<1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com>
<2021Sep6.093932@mips.complang.tuwien.ac.at>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="9fd737a8d44ae1880b4a37cdc160d617";
logging-data="32146"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+o8yLzZha8jVI2y0YiSjpZ"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
Cancel-Lock: sha1:ymLinG6c2Neqzm2TQyZwhCCRzFg=
sha1:GJ8pAS9XNMKXvm9jPP8j14oNsNo=
 by: Stefan Monnier - Mon, 6 Sep 2021 13:44 UTC

> I see no unsurmountable hurdles to create a JavaVM front end for an
> appropriate OoO machine that produces a similar utilization of the FUs
> of the OoO machine. Note that there is no aliasing problem wrt the
> locals slots on the JavaVM.

Whether a JVM CPU is possible (and even efficient) is probably
a hypothetical question at this point. The main question is: where's
the market for it?

Reminds me of the Lisp machines,

Stefan

Re: Java bytecode processors

<sh5d82$t8q$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20274&group=comp.arch#20274

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 6 Sep 2021 10:47:02 -0500
Organization: A noiseless patient Spider
Lines: 57
Message-ID: <sh5d82$t8q$1@dont-email.me>
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
<1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com>
<2021Sep6.093932@mips.complang.tuwien.ac.at>
<jwvh7ex95yv.fsf-monnier+comp.arch@gnu.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 6 Sep 2021 15:48:18 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="71911c025cb2d08a7ebe1920a0bb34d6";
logging-data="29978"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+RbodGUZQSLjIlYT5vnpvz"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.13.0
Cancel-Lock: sha1:7Y7ILFyK+OjDDi9EyrdBt+xXUac=
In-Reply-To: <jwvh7ex95yv.fsf-monnier+comp.arch@gnu.org>
Content-Language: en-US
 by: BGB - Mon, 6 Sep 2021 15:47 UTC

On 9/6/2021 8:44 AM, Stefan Monnier wrote:
>> I see no unsurmountable hurdles to create a JavaVM front end for an
>> appropriate OoO machine that produces a similar utilization of the FUs
>> of the OoO machine. Note that there is no aliasing problem wrt the
>> locals slots on the JavaVM.
>
> Whether a JVM CPU is possible (and even efficient) is probably
> a hypothetical question at this point. The main question is: where's
> the market for it?
>

ARM had Jazelle DBX previously, which did a basic set of JVM
instructions in hardware and would jump back to ARM code for anything it
couldn't handle.

A little later on, Jazelle was all but dead, killed off mostly in favor
of JIT compiling the JVM bytecode to ARM / Thumb instructions.

I suspect there are reasons it happened this way.

I mostly suspect that a possible reason is that if one executes most
basic JVM instructions at, say, one instruction per cycle; then normal
ARM code (also running at one instruction per cycle) would effectively
run circles around it.

Though, FWIW, there could be more incentive for an ISA to have partial
emulation for x86 instructions, say:
0/1 prefix bytes;
1/2 opcode bytes;
optional Mod/RM;
optional immed.

And then trap back to an emulator for anything which does not fit this
pattern. Say, for example, it only supports a Load/Store subset of x86,
no SIB byte, ...
MOV EAX, [ECX+0x7C] //native execution
ADD ECX, EAX //native execution
...
MOV EDX, [ECX+4*EAX+0x4000] //trap
ADD EAX, [EDX] //trap (not Load/Store)

....

Does leave open how much of x86 could be run with such restrictions.
Would likely need hardware support for emulating x86 EFLAGS behavior and
similar though, ...

> Reminds me of the Lisp machines,
>
>
> Stefan
>

Re: Java bytecode processors

<2021Sep6.170444@mips.complang.tuwien.ac.at>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20275&group=comp.arch#20275

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 06 Sep 2021 15:04:44 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 58
Message-ID: <2021Sep6.170444@mips.complang.tuwien.ac.at>
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com> <2021Sep6.093932@mips.complang.tuwien.ac.at> <jwvh7ex95yv.fsf-monnier+comp.arch@gnu.org>
Injection-Info: reader02.eternal-september.org; posting-host="03f3240762f4be93a744c0efcd918770";
logging-data="31316"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/C8zyaUFskEEP7Y9JZFhFQ"
Cancel-Lock: sha1:zyImi1r0YnPqne57P//ziasa3BM=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Mon, 6 Sep 2021 15:04 UTC

Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> I see no unsurmountable hurdles to create a JavaVM front end for an
>> appropriate OoO machine that produces a similar utilization of the FUs
>> of the OoO machine. Note that there is no aliasing problem wrt the
>> locals slots on the JavaVM.
>
>Whether a JVM CPU is possible (and even efficient) is probably
>a hypothetical question at this point. The main question is: where's
>the market for it?

A lot of code is written in Java, so if a hardware JavaVM
implementation provides a significant advantage for that, there should
be a big market (possibly as additional decoder for otherwise
general-purpose hardware, or by adding instructions for missing C
operations to the JavaVM instruction set).

>Reminds me of the Lisp machines,

I think in this case you need to analyse the actual factors involved.

Lisp Machines came out of the 1970s when bit-slice technology made it
relatively cheap (in manpower) to design a CPU, and they provided an
advantage in e.g., tag-handling and cdr-handling, and were faster at
that than other CPUs done in similar technology. But the RISC
revolution killed both the other CPUs done in similar technology and
Lisp machines (and one of the AI winter's helped the demise along).
RISCs with small extensions that can be useful for implementing Lisp
were developed: SOAR on the academic level, and some of that went into
SPARC on the commercial level.

The JavaVM hardware efforts (picoJava, Jazelle DBX) were done in the
late 1990s when Java JIT compilers did not play a role (at least when
the projects were started). Jazelle DBX was a front end for an ARM9
(not ARM v9), a single-issue in-order CPU; not much is known about
picoJava (it never became a product), but given the other designs that
Sun did at the time, I don't expect it to be OoO, and probably not
superscalar, either (with in-order, superscalar stack machines are
hard). This was in a world where OoO CPUs were winning and in
particular Intel and AMD were into the GHz race and crushed basically
all other architectures in the process, presumably not because of the
superior architecture, but because of superior microarchitecture,
superior circuit design, and maybe also superior process technology.

These days, we do not see much generational speedup, so architectural
differences can play a bigger role now. You can afford to spend a
year more on designing a CPU if it gives you 20% speedup (in the 1990s
this would have been the recipe for defeat), although it's still
better to releas the slow version now and the improved version in a
year. OTOH, designing a competetive microarchitecture is a pretty big
task these days, it's not like in the Lisp Machine days. So if a
hardware JavaVM has an advantage in some market over a conventional
architecture and a JIT, the chances are probably much better now than
they were in 1985-2005. The question is if the "if" is satisfied.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Java bytecode processors

<17ac8a02-d60e-4990-90a7-18af04817964n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20279&group=comp.arch#20279

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:5506:: with SMTP id az6mr12554249qvb.65.1630944771317; Mon, 06 Sep 2021 09:12:51 -0700 (PDT)
X-Received: by 2002:a9d:ecc:: with SMTP id 70mr11924631otj.96.1630944771104; Mon, 06 Sep 2021 09:12:51 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 6 Sep 2021 09:12:50 -0700 (PDT)
In-Reply-To: <2021Sep6.093932@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com> <2021Sep6.093932@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <17ac8a02-d60e-4990-90a7-18af04817964n@googlegroups.com>
Subject: Re: Java bytecode processors
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 06 Sep 2021 16:12:51 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 40
 by: MitchAlsup - Mon, 6 Sep 2021 16:12 UTC

On Monday, September 6, 2021 at 2:51:02 AM UTC-5, Anton Ertl wrote:
> MitchAlsup <Mitch...@aol.com> writes:
> >On Sunday, September 5, 2021 at 5:05:33 PM UTC-5, Thomas Koenig wrote:
> >> Although there are Java bytecode processors (even one available on=20
> >> Github, https://github.com/amal029/jop) they have had very limited=20
> >> success.=20
> >>=20
> >> Why?=20
> ><
> >A Bytecode interpreter, even in HW will have a serious performance
> >issue when compared to a cross compiling native instruction set.
> >Probably around 2=C3=97-3=C3=97 penalty.
>
> Why do you think so?
<
Intuition, plus the bytecode is for a stack machine.
<
> >JIT compilers compile to native ISA and perform reasonable
> >optimizations; a bytecode interpreter is always at the mercy
> >of the interpreter, even when done in HW.
> When done in hardware, it's not an interpreter, it's an instruction
> set.
> >Can you get a bytecode
> >interpreter to run 3-4 bytes per cycle ? continuously ?
<
> Can you decode x register machine instructions per cycle?
> Continuously?
<
Yes.
>
> I see no unsurmountable hurdles to create a JavaVM front end for an
> appropriate OoO machine that produces a similar utilization of the FUs
> of the OoO machine. Note that there is no aliasing problem wrt the
> locals slots on the JavaVM.
<
The stack nature of the bytecode is the most significant imposition.
<
> - anton
> --
> 'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
> Mitch Alsup, <c17fcd89-f024-40e7...@googlegroups.com>

Re: Java bytecode processors

<J6rZI.29250$z%4.26088@fx37.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20280&group=comp.arch#20280

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx37.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com> <sh4aaq$8p9$1@newsreader4.netcologne.de>
In-Reply-To: <sh4aaq$8p9$1@newsreader4.netcologne.de>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 29
Message-ID: <J6rZI.29250$z%4.26088@fx37.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Mon, 06 Sep 2021 16:13:29 UTC
Date: Mon, 06 Sep 2021 12:13:02 -0400
X-Received-Bytes: 1839
 by: EricP - Mon, 6 Sep 2021 16:13 UTC

Thomas Koenig wrote:
> MitchAlsup <MitchAlsup@aol.com> schrieb:
>> On Sunday, September 5, 2021 at 5:05:33 PM UTC-5, Thomas Koenig wrote:
>>> Although there are Java bytecode processors (even one available on
>>> Github, https://github.com/amal029/jop) they have had very limited
>>> success.
>>>
>>> Why?
>> <
>> A Bytecode interpreter, even in HW will have a serious performance
>> issue when compared to a cross compiling native instruction set.
>> Probably around 2×-3× penalty.
>
> Of course, the latency of the first-time compilation is somewhat
> large :-)
>
> It is interesting to read the claims about picojava, which are
> (unfortunately) not substantiated anywhere where I can get
> to without a paywall.

1997 paper by Sun engineers on picoJava uArch and benchmarks says
it was 15-20 times faster than a 486/33 running interpreter,
and about 7-10 times faster than JIT.

picoJava-I: The Java Virtual Machine in Hardware, 1997
https://tsunami.zaibatsutel.net/liberez/picojava.pdf

Re: Java bytecode processors

<456e84af-b7a4-40b4-b10f-0b9808e0e586n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20281&group=comp.arch#20281

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:74b:: with SMTP id k11mr11782198qth.46.1630944978723;
Mon, 06 Sep 2021 09:16:18 -0700 (PDT)
X-Received: by 2002:a9d:609e:: with SMTP id m30mr5904578otj.38.1630944978529;
Mon, 06 Sep 2021 09:16:18 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 6 Sep 2021 09:16:18 -0700 (PDT)
In-Reply-To: <sh4qsh$ove$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <sh4qsh$ove$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <456e84af-b7a4-40b4-b10f-0b9808e0e586n@googlegroups.com>
Subject: Re: Java bytecode processors
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 06 Sep 2021 16:16:18 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Mon, 6 Sep 2021 16:16 UTC

On Monday, September 6, 2021 at 5:34:59 AM UTC-5, gareth evans wrote:
> On 05/09/2021 23:05, Thomas Koenig wrote:
> > Although there are Java bytecode processors (even one available on
> > Github, https://github.com/amal029/jop) they have had very limited
> > success.
> >
> > Why? A lot of commercial code runs on JVM now (I've heard quipped
> > that Java is the new COBOL), and I would expect significant
> > performance increase from a native implementation as opposed to
> > an interpreter or a JIT compiler. Or have JIT compilers become
> > so good that it no longer matters, and the effort of introducing
> > a new architecture would be too large (again)?
> >
> Does JIT represent a threat to computer security?
<
Absofriggenlutely !
>
> We rely on memory divisions to be read-only, read / write or
> execute-only but JIT (Just In Time) compilation means using
> source code as data, returning compiled code as data, and then
> executing that compiled code from a memory division that must
> be executable read / write.
<
Which is why the JIT should have write only access to the area
it keeps compiled code, and the consumer of that code have
execute only access.
>
> This seems like a recipe for viruses!
<
Where do you think viruses come from ?? eXcel !?!

Re: Java bytecode processors

<sh5f9l$cqf$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20282&group=comp.arch#20282

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: headston...@yahoo.com (gareth evans)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 6 Sep 2021 17:23:13 +0100
Organization: A noiseless patient Spider
Lines: 9
Message-ID: <sh5f9l$cqf$1@dont-email.me>
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
<sh4qsh$ove$1@dont-email.me>
<456e84af-b7a4-40b4-b10f-0b9808e0e586n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 6 Sep 2021 16:23:17 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="7a825c7d6ddda9dd8530ba35181c9172";
logging-data="13135"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18cNPyPVZhCO8pXslbxn9C0"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:E0Wngbk55Xc5iL15dxzUF9IAbZA=
In-Reply-To: <456e84af-b7a4-40b4-b10f-0b9808e0e586n@googlegroups.com>
 by: gareth evans - Mon, 6 Sep 2021 16:23 UTC

On 06/09/2021 17:16, MitchAlsup wrote:
> Which is why the JIT should have write only access to the area
> it keeps compiled code, and the consumer of that code have
> execute only access.

Suggesting that the running application and the JIT compiler
run as coroutines

Re: Java bytecode processors

<FhrZI.63480$rl3.44933@fx45.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20283&group=comp.arch#20283

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx45.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com> <sh4aaq$8p9$1@newsreader4.netcologne.de> <J6rZI.29250$z%4.26088@fx37.iad>
In-Reply-To: <J6rZI.29250$z%4.26088@fx37.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 33
Message-ID: <FhrZI.63480$rl3.44933@fx45.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Mon, 06 Sep 2021 16:25:09 UTC
Date: Mon, 06 Sep 2021 12:24:55 -0400
X-Received-Bytes: 1993
 by: EricP - Mon, 6 Sep 2021 16:24 UTC

EricP wrote:
> Thomas Koenig wrote:
>> MitchAlsup <MitchAlsup@aol.com> schrieb:
>>> On Sunday, September 5, 2021 at 5:05:33 PM UTC-5, Thomas Koenig wrote:
>>>> Although there are Java bytecode processors (even one available on
>>>> Github, https://github.com/amal029/jop) they have had very limited
>>>> success.
>>>> Why?
>>> <
>>> A Bytecode interpreter, even in HW will have a serious performance
>>> issue when compared to a cross compiling native instruction set.
>>> Probably around 2×-3× penalty.
>>
>> Of course, the latency of the first-time compilation is somewhat
>> large :-)
>>
>> It is interesting to read the claims about picojava, which are
>> (unfortunately) not substantiated anywhere where I can get
>> to without a paywall.
>
> 1997 paper by Sun engineers on picoJava uArch and benchmarks says
> it was 15-20 times faster than a 486/33 running interpreter,
> and about 7-10 times faster than JIT.
>
> picoJava-I: The Java Virtual Machine in Hardware, 1997
> https://tsunami.zaibatsutel.net/liberez/picojava.pdf

And apparently this was a simulated piocJava core
vs real 486/33 and a Pentium/166.

Re: Java bytecode processors

<3fcc95a0-c4f9-4731-8817-776637fee6ban@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20284&group=comp.arch#20284

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:e301:: with SMTP id y1mr11539642qki.475.1630945511685;
Mon, 06 Sep 2021 09:25:11 -0700 (PDT)
X-Received: by 2002:a9d:7110:: with SMTP id n16mr11646752otj.94.1630945511453;
Mon, 06 Sep 2021 09:25:11 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 6 Sep 2021 09:25:11 -0700 (PDT)
In-Reply-To: <2021Sep6.170444@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com>
<2021Sep6.093932@mips.complang.tuwien.ac.at> <jwvh7ex95yv.fsf-monnier+comp.arch@gnu.org>
<2021Sep6.170444@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3fcc95a0-c4f9-4731-8817-776637fee6ban@googlegroups.com>
Subject: Re: Java bytecode processors
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 06 Sep 2021 16:25:11 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: MitchAlsup - Mon, 6 Sep 2021 16:25 UTC

On Monday, September 6, 2021 at 10:51:25 AM UTC-5, Anton Ertl wrote:
> Stefan Monnier <mon...@iro.umontreal.ca> writes:
> >> I see no unsurmountable hurdles to create a JavaVM front end for an
> >> appropriate OoO machine that produces a similar utilization of the FUs
> >> of the OoO machine. Note that there is no aliasing problem wrt the
> >> locals slots on the JavaVM.
> >
> >Whether a JVM CPU is possible (and even efficient) is probably
> >a hypothetical question at this point. The main question is: where's
> >the market for it?
> A lot of code is written in Java, so if a hardware JavaVM
> implementation provides a significant advantage for that, there should
> be a big market (possibly as additional decoder for otherwise
> general-purpose hardware, or by adding instructions for missing C
> operations to the JavaVM instruction set).
> >Reminds me of the Lisp machines,
> I think in this case you need to analyse the actual factors involved.
>
> Lisp Machines came out of the 1970s when bit-slice technology made it
> relatively cheap (in manpower) to design a CPU, and they provided an
> advantage in e.g., tag-handling and cdr-handling, and were faster at
> that than other CPUs done in similar technology. But the RISC
> revolution killed both the other CPUs done in similar technology and
> Lisp machines (and one of the AI winter's helped the demise along).
> RISCs with small extensions that can be useful for implementing Lisp
> were developed: SOAR on the academic level, and some of that went into
> SPARC on the commercial level.
>
> The JavaVM hardware efforts (picoJava, Jazelle DBX) were done in the
> late 1990s when Java JIT compilers did not play a role (at least when
> the projects were started). Jazelle DBX was a front end for an ARM9
> (not ARM v9), a single-issue in-order CPU; not much is known about
> picoJava (it never became a product), but given the other designs that
> Sun did at the time, I don't expect it to be OoO, and probably not
> superscalar, either (with in-order, superscalar stack machines are
> hard). This was in a world where OoO CPUs were winning and in
> particular Intel and AMD were into the GHz race and crushed basically
> all other architectures in the process, presumably not because of the
> superior architecture, but because of superior microarchitecture,
> superior circuit design, and maybe also superior process technology.
<
Java byte code is stack based, to JVM would have to execute 3-4 byte
code instructions per cycle to be in the same ball park as a GBOoO
machine executing 1 instruction per cycle. JIT is the better path.
>
> These days, we do not see much generational speedup, so architectural
> differences can play a bigger role now. You can afford to spend a
> year more on designing a CPU if it gives you 20% speedup (in the 1990s
> this would have been the recipe for defeat), although it's still
> better to releas the slow version now and the improved version in a
> year.
<
A 20% speedup in JVM in HW still leaves JVM a factor of 2.5× behind JIT
to native ISA.
<
> OTOH, designing a competetive microarchitecture is a pretty big
> task these days, it's not like in the Lisp Machine days. So if a
> hardware JavaVM has an advantage in some market over a conventional
> architecture and a JIT, the chances are probably much better now than
> they were in 1985-2005. The question is if the "if" is satisfied.
> - anton
> --
> 'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
> Mitch Alsup, <c17fcd89-f024-40e7...@googlegroups.com>

Re: Java bytecode processors

<07dc1ed3-0ae4-4a2e-8b14-3844bc18c6b0n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20285&group=comp.arch#20285

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:43d6:: with SMTP id w22mr11363240qtn.92.1630945542215;
Mon, 06 Sep 2021 09:25:42 -0700 (PDT)
X-Received: by 2002:a9d:3a6:: with SMTP id f35mr11551311otf.144.1630945541779;
Mon, 06 Sep 2021 09:25:41 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 6 Sep 2021 09:25:41 -0700 (PDT)
In-Reply-To: <sh5f9l$cqf$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <sh4qsh$ove$1@dont-email.me>
<456e84af-b7a4-40b4-b10f-0b9808e0e586n@googlegroups.com> <sh5f9l$cqf$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <07dc1ed3-0ae4-4a2e-8b14-3844bc18c6b0n@googlegroups.com>
Subject: Re: Java bytecode processors
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 06 Sep 2021 16:25:42 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Mon, 6 Sep 2021 16:25 UTC

On Monday, September 6, 2021 at 11:23:20 AM UTC-5, gareth evans wrote:
> On 06/09/2021 17:16, MitchAlsup wrote:
> > Which is why the JIT should have write only access to the area
> > it keeps compiled code, and the consumer of that code have
> > execute only access.
> Suggesting that the running application and the JIT compiler
> run as coroutines
<
Separate address spaces.

Re: Java bytecode processors

<sh5gr3$o7k$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20286&group=comp.arch#20286

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 6 Sep 2021 11:48:22 -0500
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <sh5gr3$o7k$1@dont-email.me>
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
<sh4qsh$ove$1@dont-email.me> <2021Sep6.152518@mips.complang.tuwien.ac.at>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 6 Sep 2021 16:49:39 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="71911c025cb2d08a7ebe1920a0bb34d6";
logging-data="24820"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+oCMvAGuI2Kj8SoQeTVQY/"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.13.0
Cancel-Lock: sha1:jE2S6KCV3e+1KWC3sOjt6zR/CrU=
In-Reply-To: <2021Sep6.152518@mips.complang.tuwien.ac.at>
Content-Language: en-US
 by: BGB - Mon, 6 Sep 2021 16:48 UTC

On 9/6/2021 8:25 AM, Anton Ertl wrote:
> gareth evans <headstone255@yahoo.com> writes:
>> This seems like a recipe for viruses!
>
> This sentence *is* a recipe for security theatre.
>

Meanwhile, am I like the only person with an ISA who has stuff like (?):
Memory that is RWX for the kernel, but R-X or --X for usermode;
Memory that is RW- for the kernel, but R-- for usermode;
...

This is before getting to the keyring, which can also be like:
VM program thread sees the memory as R-X;
JIT compiler thread sees the memory as RW-;
...

Though, the (more recent) addition of separate User and Supervisor
access is a bit limited/hacky given there weren't any free bits, so some
level of twiddly was used.

Likewise, say:
Task register (TBR) points to an area which is Read-Only from usermode,
but Read/Write to the kernel, pointing to another region which is
Read/Write from usermode (TLS variables and similar go here), and to a
region which is inaccessible from usermode (holds system-level state).

....

Granted, some of this stuff only works from usermode and with the MMU
enabled, where currently I only have the MME enabled if a swapfile was
found. This may change (with the MMU always being enabled after
boot-up), given I seem to now have the MMU relatively stable.

Even without a pagefile, the MMU could still allow for things like
remapping pages, growable stacks, ... It would also allow for usermode
programs to be less subject to the issues of RAM fragmentation.

At present, paged virtual memory is still mostly untested and fairly
incomplete (it also bypasses the normal filesystem code and requires the
swapfile to be contiguous on the SDcard). The use of a swapfile (rather
than a swap partition) being mostly because I didn't have a good way to
create such a partition via the Windows tools.

....

Re: Java bytecode processors

<16a249e95fee2ed3$1$1753940$c2d58868@news.newsdemon.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20287&group=comp.arch#20287

  copy link   Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Newsgroups: comp.arch
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com> <2021Sep6.093932@mips.complang.tuwien.ac.at> <jwvh7ex95yv.fsf-monnier+comp.arch@gnu.org>
From: inva...@invalid.invalid (Nemo)
Date: Mon, 6 Sep 2021 12:54:41 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <jwvh7ex95yv.fsf-monnier+comp.arch@gnu.org>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Language: en-CA
Content-Transfer-Encoding: 7bit
Message-ID: <16a249e95fee2ed3$1$1753940$c2d58868@news.newsdemon.com>
Lines: 27
Path: i2pn2.org!i2pn.org!news.swapon.de!news.uzoreto.com!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!2a07:8080:119:fe:f19b:d5b2:4545:7979.MISMATCH!news.newsdemon.com!not-for-mail
NNTP-Posting-Date: Mon, 6 Sep 2021 16:54:41 +0000
X-Received-Bytes: 1493
Organization: NewsDemon - www.newsdemon.com
X-Complaints-To: abuse@newsdemon.com
 by: Nemo - Mon, 6 Sep 2021 16:54 UTC

On 2021-09-06 09:44, Stefan Monnier wrote:
>> I see no unsurmountable hurdles to create a JavaVM front end for an
>> appropriate OoO machine that produces a similar utilization of the FUs
>> of the OoO machine. Note that there is no aliasing problem wrt the
>> locals slots on the JavaVM.
>
> Whether a JVM CPU is possible (and even efficient) is probably
> a hypothetical question at this point. The main question is: where's
> the market for it?

Well, billions of UICC devices (called sim cards) would be a lucrative
market.

Sun specified picoJava [sic] years ago but never released a product and
it never took off. Nowadays, there is Jazelle on ARM and the Atmel
AT90SC is fast enough so the JVM-on-silicon ship has probably sailed.

N.

>
> Reminds me of the Lisp machines,
>
>
> Stefan
>

Re: Java bytecode processors

<sh5hpu$vh3$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20288&group=comp.arch#20288

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
Date: Mon, 6 Sep 2021 12:04:50 -0500
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <sh5hpu$vh3$1@dont-email.me>
References: <sh3evb$n1v$1@newsreader4.netcologne.de>
<sh4qsh$ove$1@dont-email.me>
<456e84af-b7a4-40b4-b10f-0b9808e0e586n@googlegroups.com>
<sh5f9l$cqf$1@dont-email.me>
<07dc1ed3-0ae4-4a2e-8b14-3844bc18c6b0n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 6 Sep 2021 17:06:06 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="71911c025cb2d08a7ebe1920a0bb34d6";
logging-data="32291"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+E98v7/X2ciKUL81UNDJJY"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.13.0
Cancel-Lock: sha1:wvIR/VPlOCR1qgkbLl+qK4xOMD0=
In-Reply-To: <07dc1ed3-0ae4-4a2e-8b14-3844bc18c6b0n@googlegroups.com>
Content-Language: en-US
 by: BGB - Mon, 6 Sep 2021 17:04 UTC

On 9/6/2021 11:25 AM, MitchAlsup wrote:
> On Monday, September 6, 2021 at 11:23:20 AM UTC-5, gareth evans wrote:
>> On 06/09/2021 17:16, MitchAlsup wrote:
>>> Which is why the JIT should have write only access to the area
>>> it keeps compiled code, and the consumer of that code have
>>> execute only access.
>> Suggesting that the running application and the JIT compiler
>> run as coroutines
> <
> Separate address spaces.
>

IMO: It is better if one can give different sub-tasks different access
to pages within a single address space.

Granted, most existing OS API's (such as mmap/mprotect), or programs,
will have no idea of such a thing. One can add a bunch of new PROT_*
flags / macros, but most programs (probably) wont use them...

Re: Java bytecode processors

<%%rZI.57348$lC6.714@fx41.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20289&group=comp.arch#20289

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!4.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!feeder1.feed.usenet.farm!feed.usenet.farm!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx41.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Java bytecode processors
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com> <2021Sep6.093932@mips.complang.tuwien.ac.at> <jwvh7ex95yv.fsf-monnier+comp.arch@gnu.org> <16a249e95fee2ed3$1$1753940$c2d58868@news.newsdemon.com>
In-Reply-To: <16a249e95fee2ed3$1$1753940$c2d58868@news.newsdemon.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 29
Message-ID: <%%rZI.57348$lC6.714@fx41.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Mon, 06 Sep 2021 17:14:35 UTC
Date: Mon, 06 Sep 2021 13:14:35 -0400
X-Received-Bytes: 2111
 by: EricP - Mon, 6 Sep 2021 17:14 UTC

Nemo wrote:
> On 2021-09-06 09:44, Stefan Monnier wrote:
>>> I see no unsurmountable hurdles to create a JavaVM front end for an
>>> appropriate OoO machine that produces a similar utilization of the FUs
>>> of the OoO machine. Note that there is no aliasing problem wrt the
>>> locals slots on the JavaVM.
>>
>> Whether a JVM CPU is possible (and even efficient) is probably
>> a hypothetical question at this point. The main question is: where's
>> the market for it?
>
> Well, billions of UICC devices (called sim cards) would be a lucrative
> market.
>
> Sun specified picoJava [sic] years ago but never released a product and
> it never took off. Nowadays, there is Jazelle on ARM and the Atmel
> AT90SC is fast enough so the JVM-on-silicon ship has probably sailed.
>
> N.

Blu-ray requires all disc players to include Java software environment
as mandatory part of its standard called BD-J.

It was one of the reasons early Blu-ray players were so frigging slow
and expensive compared to normal DVD players. To run JVM they needed
a 32-bit processor with sophisticated OS like Linux.

If picoJava could have snagged that market...

Re: Java bytecode processors

<505c807f-0f0e-45ad-ab4e-6aea620b956en@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20290&group=comp.arch#20290

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:6214:54b:: with SMTP id ci11mr12886496qvb.24.1630949386770; Mon, 06 Sep 2021 10:29:46 -0700 (PDT)
X-Received: by 2002:a9d:3a6:: with SMTP id f35mr11796797otf.144.1630949386215; Mon, 06 Sep 2021 10:29:46 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 6 Sep 2021 10:29:46 -0700 (PDT)
In-Reply-To: <%%rZI.57348$lC6.714@fx41.iad>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <1c50b98a-8206-43ad-b7f6-910410f03c5an@googlegroups.com> <2021Sep6.093932@mips.complang.tuwien.ac.at> <jwvh7ex95yv.fsf-monnier+comp.arch@gnu.org> <16a249e95fee2ed3$1$1753940$c2d58868@news.newsdemon.com> <%%rZI.57348$lC6.714@fx41.iad>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <505c807f-0f0e-45ad-ab4e-6aea620b956en@googlegroups.com>
Subject: Re: Java bytecode processors
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 06 Sep 2021 17:29:46 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 29
 by: MitchAlsup - Mon, 6 Sep 2021 17:29 UTC

On Monday, September 6, 2021 at 12:14:38 PM UTC-5, EricP wrote:
> Nemo wrote:
> > On 2021-09-06 09:44, Stefan Monnier wrote:
> >>> I see no unsurmountable hurdles to create a JavaVM front end for an
> >>> appropriate OoO machine that produces a similar utilization of the FUs
> >>> of the OoO machine. Note that there is no aliasing problem wrt the
> >>> locals slots on the JavaVM.
> >>
> >> Whether a JVM CPU is possible (and even efficient) is probably
> >> a hypothetical question at this point. The main question is: where's
> >> the market for it?
> >
> > Well, billions of UICC devices (called sim cards) would be a lucrative
> > market.
> >
> > Sun specified picoJava [sic] years ago but never released a product and
> > it never took off. Nowadays, there is Jazelle on ARM and the Atmel
> > AT90SC is fast enough so the JVM-on-silicon ship has probably sailed.
> >
> > N.
> Blu-ray requires all disc players to include Java software environment
> as mandatory part of its standard called BD-J.
>
> It was one of the reasons early Blu-ray players were so frigging slow
> and expensive compared to normal DVD players. To run JVM they needed
> a 32-bit processor with sophisticated OS like Linux.
>
> If picoJava could have snagged that market...
<
Which only reinforces the notion that that ship has sailed.

Re: Java bytecode processors

<e3ee46e9-68d4-4dfc-9252-2f4a1c4ede37n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20291&group=comp.arch#20291

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a0c:ca06:: with SMTP id c6mr12776281qvk.52.1630949498267;
Mon, 06 Sep 2021 10:31:38 -0700 (PDT)
X-Received: by 2002:a05:6830:1105:: with SMTP id w5mr11723817otq.85.1630949498029;
Mon, 06 Sep 2021 10:31:38 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 6 Sep 2021 10:31:37 -0700 (PDT)
In-Reply-To: <sh5gr3$o7k$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <sh3evb$n1v$1@newsreader4.netcologne.de> <sh4qsh$ove$1@dont-email.me>
<2021Sep6.152518@mips.complang.tuwien.ac.at> <sh5gr3$o7k$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e3ee46e9-68d4-4dfc-9252-2f4a1c4ede37n@googlegroups.com>
Subject: Re: Java bytecode processors
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 06 Sep 2021 17:31:38 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Mon, 6 Sep 2021 17:31 UTC

On Monday, September 6, 2021 at 11:49:41 AM UTC-5, BGB wrote:
> On 9/6/2021 8:25 AM, Anton Ertl wrote:
> > gareth evans <headst...@yahoo.com> writes:
> >> This seems like a recipe for viruses!
> >
> > This sentence *is* a recipe for security theatre.
> >
> Meanwhile, am I like the only person with an ISA who has stuff like (?):
> Memory that is RWX for the kernel, but R-X or --X for usermode;
> Memory that is RW- for the kernel, but R-- for usermode;
> ...
No.
>
>
> This is before getting to the keyring, which can also be like:
> VM program thread sees the memory as R-X;
> JIT compiler thread sees the memory as RW-;
> ...
>
> Though, the (more recent) addition of separate User and Supervisor
> access is a bit limited/hacky given there weren't any free bits, so some
> level of twiddly was used.
>
>
> Likewise, say:
> Task register (TBR) points to an area which is Read-Only from usermode,
> but Read/Write to the kernel, pointing to another region which is
> Read/Write from usermode (TLS variables and similar go here), and to a
> region which is inaccessible from usermode (holds system-level state).
>
> ...
>
>
> Granted, some of this stuff only works from usermode and with the MMU
> enabled, where currently I only have the MME enabled if a swapfile was
> found. This may change (with the MMU always being enabled after
> boot-up), given I seem to now have the MMU relatively stable.
>
> Even without a pagefile, the MMU could still allow for things like
> remapping pages, growable stacks, ... It would also allow for usermode
> programs to be less subject to the issues of RAM fragmentation.
>
> At present, paged virtual memory is still mostly untested and fairly
> incomplete (it also bypasses the normal filesystem code and requires the
> swapfile to be contiguous on the SDcard). The use of a swapfile (rather
> than a swap partition) being mostly because I didn't have a good way to
> create such a partition via the Windows tools.
>
> ...

Pages:12345678910
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor