Live data from Hacker News

Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

graalvm.org

91–100 of 141 posts

Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

#91

Earlier quoted context omitted.

Doesn't GraalVM have both a WASM frontend and backend?

No, there is only a frontend. There is a JavaScript backend though. I hope the GC proposal for WASM ultimately goes through to enable a backend in WASM too.

What does frontend and backend mean in this context? With graal you can

- run wasm interpreted on OpenJDK, similar to javascript running interpreted in nashorn, or now graalvm, you just need to add couple of graal sdk jars to your dependencies

- run wasm compiled, you need to run on GraalVM for this. This is supposed to provide around 50x speedup compared to previous point

Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

#93
post #2

Maybe we will soon see the Java Virtual Machine implemented wholly in (a subset of) Java...

A component of the GraalVM project is called native-image. The native-image tool compiles a Java app to machine code ahead of time and combines it with a small JVM called SubstrateVM. That JVM is written in Java, just like the rest of your app. As pointed out by other comments, this concept of a "meta-circular VM" isn't new. It's been done before by two other projects, Maxine and Jikes. What's different about Substra…

Hi! I was under the impression that Graal reused OpenJDK’s GC implementations - or was it only in the Graal as JIT compiler mode?

Also, may I ask how do you know so much about the topic? I would really like to one day work on OpenJDK/Graal, but I just don’t see the road ahead me.. — I’ve just started my master in CS, but I don’t feel it closing the gap at all. Surely I can read up more and more on the topic in small steps, but I would be very grateful for any guidance/pointer.

Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

#94

Earlier quoted context omitted.

No, there is only a frontend. There is a JavaScript backend though. I hope the GC proposal for WASM ultimately goes through to enable a backend in WASM too.

What does frontend and backend mean in this context? With graal you can - run wasm interpreted on OpenJDK, similar to javascript running interpreted in nashorn, or now graalvm, you just need to add couple of graal sdk jars to your dependencies - run wasm compiled, you need to run on GraalVM for this. This is supposed to provide around 50x speedup compared to previous point

Frontend means can you take WASM code and feed it into Graal as input. Backend means can you get Graal to produce WASM code as output.

Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

#95

Earlier quoted context omitted.

It may not only be benevolence though. The JVM and Graal are not the only game in town anymore. Webassembly is growing in various areas, clienside, edge, backend. WASM fills much of the same needs as Graal, and then some since it’s embedded in every major browser. This move is good for Graal, as it will help it compete, but there’s still a big question in my mind at least about if Graal is going to be able to compete…

WASM isn't really a replacement for JVM bytecode. It's not like you can take a random JAR and convert it to WASM. Last I checked, WASM doesn't even support GCd languages at all, and at any rate the whole insight that makes GraalVM unique and a big deal is that universal bytecodes are a poor choice for making fast polyglot VMs. The JVM world was doing that long before WASM was even a twinkle in Google's eye, with invo…

python support seems fairly experimental right now:

https://www.graalvm.org/22.3/reference-manual/python/

or is that something different?

Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

#96
post #89

Earlier quoted context omitted.

There isn't any way to spin it negatively. The generalized dislike of Oracle you have seen really comes from a couple of different aspects, neither of which are relevant to this specific announcement: 1. License audits suck. 2. The Google lawsuit (about matters resolved long ago and which don't apply to anyone except Google, really). A lot of ill will comes from people whose companies have been audited. The process i…

I feel like this is a bit too generous to Oracle. The DRM-free thing is indeed a feature, but they know full well that it will encourage more and more unlicensed usage which they can then "extort" additional fees out of a company once it's in place and critical, which they would probably never have gotten if beforehand a trade-off check would've been done for operational expenses or the right gates would've been need…

My point is this: what alternative would you prefer? Oracle can't implement trade-off checks or process gates inside other companies.

Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

#97
post #93

Earlier quoted context omitted.

A component of the GraalVM project is called native-image. The native-image tool compiles a Java app to machine code ahead of time and combines it with a small JVM called SubstrateVM. That JVM is written in Java, just like the rest of your app. As pointed out by other comments, this concept of a "meta-circular VM" isn't new. It's been done before by two other projects, Maxine and Jikes. What's different about Substra…

Hi! I was under the impression that Graal reused OpenJDK’s GC implementations - or was it only in the Graal as JIT compiler mode? Also, may I ask how do you know so much about the topic? I would really like to one day work on OpenJDK/Graal, but I just don’t see the road ahead me.. — I’ve just started my master in CS, but I don’t feel it closing the gap at all. Surely I can read up more and more on the topic in small…

When used on HotSpot it does. Native images/SubstrateVM have their own GC written. Native Image EE can also use the G1 GC so then your native image is a mix of C++ and Java. The Graal compiler can be used in both modes.

How did I learn about it - mostly by reading their papers, watching their videos and asking lots of inane questions on their Slack. Also, I happen to live around the corner from where the Graal team work so occasionally I've been able to meet them in person and ask questions then. But mostly I just followed their efforts for a long time. I got interested in Graal back before most people had heard about it, after somehow randomly encountering a discussion of TruffleRuby on Chris Seaton's blog. Then I wrote about it here:

https://blog.plan99.net/graal-truffle-134d8f28fb69

Most of the Graal guys came out of masters and PhD programs at JKU Linz, so the path you're on is a well trodden one. I wouldn't feel down about it. For me, how it worked was quite mysterious for a long time and then one day it clicked, and I saw the essential simplicity behind the concept.

Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

#98

Earlier quoted context omitted.

It may not only be benevolence though. The JVM and Graal are not the only game in town anymore. Webassembly is growing in various areas, clienside, edge, backend. WASM fills much of the same needs as Graal, and then some since it’s embedded in every major browser. This move is good for Graal, as it will help it compete, but there’s still a big question in my mind at least about if Graal is going to be able to compete…

WASM isn't really a replacement for JVM bytecode. It's not like you can take a random JAR and convert it to WASM. Last I checked, WASM doesn't even support GCd languages at all, and at any rate the whole insight that makes GraalVM unique and a big deal is that universal bytecodes are a poor choice for making fast polyglot VMs. The JVM world was doing that long before WASM was even a twinkle in Google's eye, with invo…

> If Chrome and Safari shipped GraalVM accessible via tags, how many people would care about WASM?

That’s a good question, and partly why I was pointing out that it’s not just benevolence for Oracle to OSS this. I don’t know if the browsers vendors could embed Graal, maybe they can, (license restrictions being some of the issues I’m sure) and then that could supplant the individual JS and WASM runtimes they support. But this wasn’t even an option until today.

> Remember that you can run WASM and LLVM bitcode on top of GraalVM too, it's not just about textual languages.

Which is exactly why I mentioned that in my original comment. Yes, Graal could be that runtime, will it? Seems like a gamble for anyone who’s not already in the JVM ecosystem to some degree.

Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

#99
post #46

GraalVM is truly great stuff. GraalVM native compilation helps Java in the data center to avoid being a cost sink and to reduce start-up latency. Oracle needs Java to sell enterprise software. Oracle contributing to OpenJDK may be required for Amazon cooperation (since Amazon is pushing its own JDK build) and probably helps the library ecosystem work towards native compatibility. Native support for reflection (used i…

Java has been on a freight train run for the past 5 years. It is exhausting to keep up with. From the demonic release pace, to the dramatic changes to the platform, it's been a rough ride for some.

But at the same time, it's also smooth sailing, and it's getting better all the time. It's still Java, for a bazillion applications it still "Just Works". It's still (IMHO) far more manageable and stable than many other platforms.

I think the combination of Oracle and the entire community around it have been marshaling it really well with little drama. Change, sure. But not Drama.

The Enterprise Edition departure was a big deal, but even that transitioned pretty well. That was no small task, and I think the vendors and framework folks have been handling that pretty well.

GraalVM is just another step forward for the entire community, and it is kind of Oracle (however motivated) to release it. In truth, I think, overall, Java has been mostly (mostly) Oracle free, despite their monster investments into the technology and community. They could have been a much less benevolent dictator.

Re: Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

#100

Earlier quoted context omitted.

WASM isn't really a replacement for JVM bytecode. It's not like you can take a random JAR and convert it to WASM. Last I checked, WASM doesn't even support GCd languages at all, and at any rate the whole insight that makes GraalVM unique and a big deal is that universal bytecodes are a poor choice for making fast polyglot VMs. The JVM world was doing that long before WASM was even a twinkle in Google's eye, with invo…

> If Chrome and Safari shipped GraalVM accessible via tags, how many people would care about WASM? That’s a good question, and partly why I was pointing out that it’s not just benevolence for Oracle to OSS this. I don’t know if the browsers vendors could embed Graal, maybe they can, (license restrictions being some of the issues I’m sure) and then that could supplant the individual JS and WASM runtimes they support.…

Despite the wording of the announcement, Graal and Truffle have been open source under permissive licenses for a long time now. The "donation" is from one open source project run by Oracle to another. Confusing, indeed, but Oracle is a big company. So it's been possible license-wise for a long time.
Post reply on HN