Live data from Hacker News

Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

en.wikipedia.org

61–70 of 77 posts

Re: Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

#61
post #50

Earlier quoted context omitted.

The current (largest) end-user Java ecosystem is in practice Android and it ahead-of-time compiling ART. Java itself got very good. Though Oracle was blocked to leech money, or have return for their investment, depending on the viewpoint.

I don’t really get your last point - java’s improvements are due to Oracle, not despite it. They have a terrible name, but they have been excellent stewards of the platform.

Android ART would unlikely to exist if Oracle would have been enforcing licensing requirements as they wished.

ART runs on devices for 1B+ users and is more relevant for the world population as Oracle. Although we can speculate likely Android would have switched to something else if Oracle were to win in the court.

Ironically Android more realised Java’s original light client vision “Write once, run everywhere” if you consider “everywhere” as all around the world, by every human, with various device architectures.

Re: Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

#62
post #21
post #8

The gains seem to not have been high enough to sustain that project. Nowadays CPUs plan, fuse and reorder so much of micro-code that lower-level languages can sort of be considered virtual as well. But Java and similar languages extract more freedom-of-operation from the programmer to the runtime: no memory address shenanigans, richer types, and to some extent immutability and sealed chunks of code. All these could b…

Remember when for a while Azul tried to sell custom CPUs to support features in their JVM (e.g. some garbage collector features that required hardware interrupts and some other extra instructions). Although they dropped it pretty quickly in favor of just working on software https://www.cpushack.com/2016/05/21/azul-systems-vega-3-54-c...

IBM's Z14 (and later I assume) supported Guarded Storage Facility for 'pauseless Java Garbage collection.'

Re: Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

#63
post #40
post #6

Earlier quoted context omitted.

It executes Java Bytecode. Whether Dalvik VM was/is a "Java" VM is hardly relevant there (not the least because "Java" is so much more than Java Bytecode, and Jazelle does nothing to help with anything on top of the latter).

Java bytecode is transpiled to Dalvik's own bytecode as a build step. Dalvik itself doesn't run Java bytecode. This is one of the reasons why Oracle sued Google: clearly Google was trying to appropriate Java with some clever IP law dodges with this Dalvik business.

Huh, I always took their rationale for having the .class -> .dex compilation step at face value (i.e. space efficiency due to shared string literals etc.), but this actually makes more sense, given that J2ME seemingly was fine without it on much more lightweight hardware.

Re: Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

#64
post #48
post #38

Earlier quoted context omitted.

Why you gotta yuck other people's yum, man? To me it seems like Hackernews, as a whole, goes off on the same kinds of thought-tangents as I do, and that makes the site more interesting. And I was one of the commenters about Jazelle on the thread you mentioned.

Because this is a community and I care about what goes on in it. I think this is precisely not a thought-tangent, it is taking the tangent that occurred elsewhere and posting an article about it to score internet points. If we keep doing that, this becomes even more of an echo chamber and a very boring place.

It's exactly the opposite to me: I might not necessarily be interested in a box on someone's wall (even though I did enjoy that particular article) but at the same time be extremely interested in efficient mobile Java implementations with or without hardware support.

Reposting that tangent as a separate submission increases the chance of me finding the conversation.

Re: Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

#65
post #58

In a similar spirit, Apple seems to have made sure some critical OSX idioms were fast on the M1, perhaps even influencing their instruction set. Retaining and releasing an NSObject took ~6.5 nanoseconds on the M1 when it came out, comparing with ~30 nanoseconds on the equiv gen Intel. In fact, the M1 _emulated_ an Intel retaining and releasing an NSObject fast than an Intel could! One source: https://daringfireball.n…

The M1 emulation with Rosetta is actually dynamic recompilation so of you're measuring only that specific small section it's not surprising that Rosetta could have emitted optimal code for that instruction sequence

That seems very similar to ARM introducing an instruction set that can be used to efficiently implement common Java idioms to me, just that x86 bytecode wasn't explicitly conceived as a VM target.

Re: Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

#66
post #5

I remember reading about Jazelle many years ago - before the release of the iPhone and suchlike. This was the age when people were coming up with things like 'Java Card' - smartcards programmed directly in Java. I never heard of anyone actually using Jazelle, though - I assume JIT ended up working better.

Java Card is still around! There's a very high chance it's running on more than one chip inside your phone right now, and at least on one card in your wallet every time you use it.

Re: Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

#67
post #48
post #38

Earlier quoted context omitted.

Why you gotta yuck other people's yum, man? To me it seems like Hackernews, as a whole, goes off on the same kinds of thought-tangents as I do, and that makes the site more interesting. And I was one of the commenters about Jazelle on the thread you mentioned.

Because this is a community and I care about what goes on in it. I think this is precisely not a thought-tangent, it is taking the tangent that occurred elsewhere and posting an article about it to score internet points. If we keep doing that, this becomes even more of an echo chamber and a very boring place.

You might be the only one concerned with internet points.

Even so, why does it affect you so much to see other people getting these internet points? Or that they were somehow unearned?

Who cares.

Re: Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

#68
post #50

Earlier quoted context omitted.

I don’t really get your last point - java’s improvements are due to Oracle, not despite it. They have a terrible name, but they have been excellent stewards of the platform.

Android ART would unlikely to exist if Oracle would have been enforcing licensing requirements as they wished. ART runs on devices for 1B+ users and is more relevant for the world population as Oracle. Although we can speculate likely Android would have switched to something else if Oracle were to win in the court. Ironically Android more realised Java’s original light client vision “Write once, run everywhere” if yo…

I wouldn’t be so quick to dismiss the huge deal of internet services running OpenJDK. Like, AWS itself, Apple’s backends, a huge part of Google’s infrastructure, the whole of Alibaba that is responsible for some crazy amount of transactions, just to mention a few.

Re: Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

#69
post #68

Earlier quoted context omitted.

Android ART would unlikely to exist if Oracle would have been enforcing licensing requirements as they wished. ART runs on devices for 1B+ users and is more relevant for the world population as Oracle. Although we can speculate likely Android would have switched to something else if Oracle were to win in the court. Ironically Android more realised Java’s original light client vision “Write once, run everywhere” if yo…

I wouldn’t be so quick to dismiss the huge deal of internet services running OpenJDK. Like, AWS itself, Apple’s backends, a huge part of Google’s infrastructure, the whole of Alibaba that is responsible for some crazy amount of transactions, just to mention a few.

Java is a light client programming language that found a small niche in server programming.

Re: Jazelle DBX: Allow ARM processors to execute Java bytecode in hardware

#70
post #68

Earlier quoted context omitted.

I wouldn’t be so quick to dismiss the huge deal of internet services running OpenJDK. Like, AWS itself, Apple’s backends, a huge part of Google’s infrastructure, the whole of Alibaba that is responsible for some crazy amount of transactions, just to mention a few.

Java is a light client programming language that found a small niche in server programming.

It doesn’t really make sense to attribute the initial domain of a language to the whole platform. Especially when Java can have so many faces, and that it’s numero 1 use case is backend applications. Android is a comparatively small market.
Post reply on HN