←back to thread

56 points mghackerlady | 2 comments | | HN request time: 0s | source
Show context
larsbrinkhoff ◴[] No.45989967[source]
What happened to

1. Sun's JavaStation, 2. ARM's Jazelle, ??? 3. Profit!

replies(4): >>45990000 #>>45990288 #>>45990667 #>>45993727 #
dehrmann ◴[] No.45990000[source]
It's more like JITs got good.
replies(1): >>45990334 #
ck45 ◴[] No.45990334[source]
I never understood why AOT never took off for Java. The write once run anywhere quickly faded as an argument, the number of platforms that a software package needs to support is rather small.
replies(5): >>45990420 #>>45990438 #>>45990583 #>>45990837 #>>45994530 #
1. gf000 ◴[] No.45990420{3}[source]
Well, one aspect is how dynamic the platform is.

It simply defaults to an open world where you could just load a class from any source at any time to subclass something, or straight up apply some transformation to classes as they load via instrumentation. And defaults matter, so AOT compilation is not completely trivial (though it's not too bad either with GraalVM's native image, given that the framework you use (if any) supports it).

Meanwhile most "AOT-first" languages assume a closed-world where everything "that could ever exist" is already known fully.

replies(1): >>45990450 #
2. pjmlp ◴[] No.45990450[source]
Except when they support dynamic linking they pay the indirect call cost that JITs can remove.