Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Per the GraalVM website: "GraalVM JIT and Native Image will become a part of OpenJDK"

I understand the Native Image stuff becoming part of OpenJDK, but what does it mean for OpenJDK to get the GraalVM JIT? does it replace the one in OpenJDK? will OpenJDK have two JIT implementations to choose from?



Yeah, I bet the GraalVM JIT will be under a flag: -XX:EnableGraalJIT or something like that.


Hotspot introduced the JVM Compiler Interface (JVMCI) a while back, so you could drop in any JIT replacement, including Graal.

https://openjdk.org/jeps/243

This is different than using GraalVM, which has all the polyglot stuff too. And the Native Image AOT stuff is different yet again ... I think! There's a lot of uses of the same core technology. It's pretty cool stuff!


If I’m not mistaken it goes like this: Graal JIT compiler is itself written in Java, and thanks to the incredible architecture of OpenJDK even something as internal can be plug’n’play.

Every other part of Graal is also ordinary java classes, for example Truffle, which can execute interpreters and JIT optimize them very effectively (Truffle’s javascript can run after warm up with comparable speed as V8, while the former has orders of magnitude smaller team/budget). This is possible because the JIT compiler has a few special intrinsics for these libraries that allow for this magic, and also the reuse of the many many thousands of workhours that went into the OpenJDK project, reusing its killer GCs, etc.


The first version was dropped, because almost no one used (hardly any complaints regarding it being dropped), and they were parallel codebases somehow.

I would guess they see this a way to actually trigger adoption of GraalVM CE, beyond the language nerds, a couple of more adventurous companies and also it is a safer way for other JVM vendors to enter the game.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: