Endive: A JVM native WebAssembly runtime

79 pointsposted 15 hours ago
by theanonymousone

21 Comments

GoblinSlayer

a minute ago

Why not resurrect applets? We had this webasm thing 30 years ago.

syrusakbary

11 hours ago

This is a fork of Chicory, a bit more context of the relationship between the projects can be found here:

https://github.com/dylibso/chicory/issues/1296

martypitt

an hour ago

Any background / context around what the Chicory author means in this comment?

> We'll consider merging in changes that make sense from Endive, but under the stewardship of the [Byte Code Alliance] I have very little faith in its future. My words mean nothing though having all but completely lost interest and use for WebAssembly.

What's the background / history of Byte Code Alliance?

exabrial

10 hours ago

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.

spankalee

11 hours ago

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.

asibahi

10 hours ago

The component model is still in phase 1 (standardization is phase 5) and the Bytecode Alliance are its sponsors and the ones pushing it into the ecosystem with wasmtime.

spankalee

8 hours ago

I don't think you're fully saying what you want to here. Are you saying this is bad?

The point of a component model is interoperability, so the more runtimes that support it the better.

subarctic

7 hours ago

I think just pointing out that it's still in stage 1 so it makes sense that it's not supported in every runtime yet

zcw100

11 hours 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.

pjmlp

12 hours ago

I guess we can come full circle and eventualy port it to Android Java.

gavinray

13 hours ago

jbaiter

11 hours ago

Yeah, this was the first thing that came to mind, how does this compare to the Truffle WASM implementation. The Graal Polyglot API is pretty incredible, we've been using it for a JavaScript/Python plugin system in a JVM app, and it's been amazing.

outadoc

10 hours ago

Finally we can run Kotlin/WASM on desktop! /s