The "Welcome to the Eclipse OpenJ9 repository" is just brilliant. So many product blogs and source code repositories fail to introduce the product first.
I'm confused. Do you think they're doing it right with that as an intro?
Eclipse OpenJ9 – Open-source JVM
51–60 of 105 posts
Re: Eclipse OpenJ9 – Open-source JVM
#52Earlier quoted context omitted.
How so? There was BEA JRockIT, IBM J9, Azuul, Oracle and HP also have a JVM iirc.
I've been a Java dev for a decade, and I never once used anything but Sun / Oracle's version (now OpenJDK, which is almost the same thing). I really have no idea who ever used these other JVM implementations. I'm guessing it would be companies with specialized hardware such as IBM mainframes or finance firms paying a lot of money to squeeze out performance with WebLogic. Either because of poor marketing or some other…
IBM also had an open-source Java compiler written in C++, Jikes [1], that was considerably faster than Sun's javac. However, it was eventually abandoned. Jikes is coincidentally also the name of IBM's open-source research JVM [2], which is still under development.
Azuul is apparently popular in areas requiring low latency, such as financial trading.
As an aside, there are many niches that most people haven't heard about. You might be surprised about all the kinds of software that are hiding under rocks — invisible to most people because they're not working in that industry. Things like MUMPS, K/kdb, Fortran, Delphi — lots of obscure stuff that has left the mainstream (or never entered it in the first place) but is still in use.
Re: Eclipse OpenJ9 – Open-source JVM
#53Re: Eclipse OpenJ9 – Open-source JVM
#54Earlier quoted context omitted.
How so? There was BEA JRockIT, IBM J9, Azuul, Oracle and HP also have a JVM iirc.
I've been a Java dev for a decade, and I never once used anything but Sun / Oracle's version (now OpenJDK, which is almost the same thing). I really have no idea who ever used these other JVM implementations. I'm guessing it would be companies with specialized hardware such as IBM mainframes or finance firms paying a lot of money to squeeze out performance with WebLogic. Either because of poor marketing or some other…
Re: Eclipse OpenJ9 – Open-source JVM
#55So is this OpenJDK-derived? If so, too bad, I've been hoping for a truly independent implementation. If not, does it pass the TCK?
This is IBM's formerly-proprietary J9 JVM, which I believe was developed entirely from scratch, independently of Sun's HotSpot JVM. J9 actually has its roots in an earlier Smalltalk VM (VisualAge Smalltalk, I think). The source copyrights go back to 1991. Eclipse, of course, was what IBM started after abandoning VisualAge. It's not a JDK/JRE. J9 must be combined with OpenJDK to be able to run apps.
No IBM has its own full JDK that you can download, but the rest of it other than the JVM is not being open sourced at this time. That's my understanding at least.
Re: Eclipse OpenJ9 – Open-source JVM
#56Earlier quoted context omitted.
Ex-J9 engineer here, J9 was built completely in a clean-room. It does pass the TCK tests.
What is the 9 for? Jackknife? Jabbering?
There was some constant for 8K that was mistyped incorrectly, something like instead of:
#define 8K 8192
They mistyped and wrote:
#define 8K 8096
This caused all sorts of bugs and was known internally as the 8K bug. When time came to write the Java VM, they wanted to name it as "post 8k bug" they named it K9, but K9 sounds like a dog (woof) so they decremented the K to land on J9.
At least that's what I've heard...
shrugs
Re: Eclipse OpenJ9 – Open-source JVM
#57Earlier quoted context omitted.
Why would you want to add a delete keyword? Are you trying to add explicit memory management to simplify the work of the garbage collector?
One example would be game development, where people end up doing object pooling to avoid GC pauses dropping frames.
(Keep in mind that Java is a memory-safe language.)
Re: Eclipse OpenJ9 – Open-source JVM
#58Earlier quoted context omitted.
How so? There was BEA JRockIT, IBM J9, Azuul, Oracle and HP also have a JVM iirc.
I've been a Java dev for a decade, and I never once used anything but Sun / Oracle's version (now OpenJDK, which is almost the same thing). I really have no idea who ever used these other JVM implementations. I'm guessing it would be companies with specialized hardware such as IBM mainframes or finance firms paying a lot of money to squeeze out performance with WebLogic. Either because of poor marketing or some other…
Re: Eclipse OpenJ9 – Open-source JVM
#59Earlier quoted context omitted.
I've been a Java dev for a decade, and I never once used anything but Sun / Oracle's version (now OpenJDK, which is almost the same thing). I really have no idea who ever used these other JVM implementations. I'm guessing it would be companies with specialized hardware such as IBM mainframes or finance firms paying a lot of money to squeeze out performance with WebLogic. Either because of poor marketing or some other…
Back in the early 2000s, the IBM JVM was freely available and frequently used as a drop-in replacement for the Sun JVM, since it was often faster and less memory-hungry. IBM also had an open-source Java compiler written in C++, Jikes [1], that was considerably faster than Sun's javac. However, it was eventually abandoned. Jikes is coincidentally also the name of IBM's open-source research JVM [2], which is still unde…
Re: Eclipse OpenJ9 – Open-source JVM
#60Earlier quoted context omitted.
There are better ways to eliminate GC pauses than manual memory management (even ignoring the relatively new "pauseless" GCs). See the new RTSJ (realtime Java) specification here: https://www.aicas.com/cms/en/rtsj . Not that it's designed for far stricter requirements than games (cases where even microseconds of unexpected latency may result in actual life safety concerns). Manual memory management is a good choice i…
The RTSJ solution is to simply pre-allocate everything you could ever want and reuse that. That’s horrible to use for game development.
That's not the RTSJ solution. RTSJ uses arenas, which are great if you have regular allocation/deallocation cycles, like, say, a frame in a game.