comp.lang.ada
 help / color / mirror / Atom feed
From: antispam@math.uni.wroc.pl
Subject: Re: Are there any cross-compiler for Embedded Linux on ARMv7?
Date: Wed, 7 Apr 2021 19:24:33 +0000 (UTC)	[thread overview]
Message-ID: <s4l0th$bv5$1@z-news.wcss.wroc.pl> (raw)
In-Reply-To: 87ft03ndyn.fsf@nightsong.com

Paul Rubin <no.email@nospam.invalid> wrote:
> antispam@math.uni.wroc.pl writes:
> > Is there real hardware implementing Java bytecode?
> 
> There have been various hardware assists for Java bytecode, but nowadays
> people use JIT compilers.  I think it's not reasonable to implement Java
> entirely in hardware, since some of the bytecode operations are higher
> level, like looking up class methods I guess.  I never used Java much
> and am glad it is mostly gone ;).

To be clear: I am not interested at all in running Java.  My interest
has following reason: long time experience of several systems
indicate that various bytecodes give smallest size of resulting
binary.  So, having most of binary as bytecode and time-critical
parts as conventional code could be valuable optimization: size
would be similar to pure bytecode (hance very small) and speed
should be close to native code.  Now, there is some effort to
implement such scheme: fast and seamless switching between
bytecode and native code and of course resonably performant
execution engine for bytecode.  Now, hardware implemented
bytecodes should have reasonably good performance and presumably
implementation should have fast ways of switching between
bytecode and native code.

Concerning specifically Java bytecode: I had a short look at
it in the past and it looked like resonable bytecode.  I admit
that I do not remember details.  Now, thing like looking up
class methods are logically calls to runtime.  If this is
a bytecode (and not a call), then it is natural for hardware
to implement it as vectored control transfer to runtime.
And similarly for other "high level" bytecodes.  Some time
ago I wrote code generator targeting ARM.  I could choose
mode, for some reasons it would be natural to generate
bytecode.  So I looked at ARM documentation and all I found
basically was "you need support routines, when they are
present Java will run".  No word about what hardware will
do (for example info which bytecodes are implemented by
hardware, which trap to software).  AFAICS ARM says that
sofware-only implementation is valid one, and there is
no indication that they provide real hardware support.
Of course, lack of info may be due to their silly
information policy.  But ATM there is no indication
that "Jazelle supporting" hardware have hardware
implementation of Java (or some other) bytecode.

Just extra thing: AFAICS translating on load Java bytecode
to a different, but semantically similar bytecode
could be a valid implementation.  For my purposes
such bytecode would be good enough, I do not care
if it Java or not.

-- 
                              Waldek Hebisch

  reply	other threads:[~2021-04-07 19:24 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-29 17:16 Are there any cross-compiler for Embedded Linux on ARMv7? John McCabe
2021-03-29 18:26 ` Dmitry A. Kazakov
2021-03-29 21:06   ` John McCabe
2021-03-29 21:40     ` Dmitry A. Kazakov
2021-03-30 16:17       ` John McCabe
2021-03-30 18:12         ` Dmitry A. Kazakov
2021-03-29 18:46 ` Andreas ZEURCHER
2021-03-29 21:14   ` John McCabe
2021-03-30 10:01 ` Maxim Reznik
2021-03-30 17:58 ` Shark8
2021-04-01  9:16   ` John McCabe
2021-04-05 18:19     ` Shark8
2021-04-06 18:26       ` John McCabe
2021-04-06 21:19       ` antispam
2021-04-06 22:02         ` Britt
2021-04-07 18:58           ` antispam
2021-04-07  0:19         ` Paul Rubin
2021-04-07 19:24           ` antispam [this message]
2021-04-07  9:00         ` John McCabe
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox