This is a fork of Chicory, a bit more context of the relationship between the projects can be found here:
Projects like this would be significantly funner and easier to make in Jdk25+(well technically 24+) because of the new Java classfile/bytecode API. It looks like Endive uses OW2 ASM, probably because this supports back to Jdk11. The new jdk API has a minimum target of Jdk17. OW2 ASM is significantly harder to use IMHO though.
What got me into this is I just finished a major release of Petrify (https://github.com/exabrial/petrify) that compiles ML Models to JVM Bytecode. It requires Jdk25 to do the compilation, but the compiled models can run on Jdk17+.
I'm looking for more side projects to use the classfile API on.
On the CNCF wasmCloud Community call this week we played with this: - a demonstration of Endive - implemented CNCF wasmCloud host - Integrated into Vert.x as an example
And discussed the roadmap.
Blogpost and video here: https://blog.cosmonic.com/engineering/2026-05-26-diving-into...
I was trying to write something like this in rust at some point, just for the joke that you can compile that rust to wasm, and then it can compile itself to JVM assembly. The complexity of it turned out to be quite a bit too high for a joke only.
Lots of context for this project on the Bytecode Alliance blog: https://bytecodealliance.org/articles/endive-and-the-next-ch...
It will be really great if this becomes a second popular runtime with both GC and WASI component model support. Wasmtime being the only runtime with that combo is a bit concerning. Node supporting the component model will help a lot too.
I guess we can come full circle and eventualy port it to Android Java.
Why not resurrect applets? We had this webasm thing 30 years ago.
Is this being handed over to the Bytecode Alliance or is this a hard fork and will diverge from Chicory? It isn't clear from the announcement but I suspect the former.
If you haven't seen The Birth & Death of JavaScript, it's well worth a watch:
https://www.destroyallsoftware.com/talks/the-birth-and-death...
Another Shameless plug: A common interface for webassembly engines, including Chicory, in Java https://github.com/tegmentum/webassembly4j
Finally we can run Kotlin/WASM on desktop! /s
[dead]
Shameless plug: we solved the opposite problem, running any Java application in the browser via WebAssembly: https://labs.leaningtech.com/blog/cheerpj-4.3
And yes, it does run Minecraft as well :-) https://browsercraft.cheerpj.com/