Closed Sreekala-Gopakumar closed 6 months ago
First draft (0.41.0 content is live at https://www.eclipse.org/openj9). Note: this isn't an exhaustive list of all the changes, just the main ones:
Eclipse OpenJ9 version 0.42.0 released
December 2023
We're pleased to announce the availability of Eclipse OpenJ9™ v0.42.0.
This release supports OpenJDK 21. For more information about supported platforms and OpenJDK versions, see Supported environments.
Other updates in this release include the following:
- The dump extractor tool, OpenJ9
jextract
, is removed from Java 21 and later. Thejpackcore
tool replaced the OpenJ9 jextract tool after its deprecation in release 0.26.0.- The
System.gc()
call behavior is changed. Now, theSystem.gc()
call triggers the GC cycle twice internally to clear the unreachable objects that were not identified during the first GC cycle. The call also triggers finalization of the objects in the Finalization queues.- The
-XX:[+|-]IProfileDuringStartupPhase
option is added to control the collection of the profiling information during the startup phase. You can now overrule the heuristics that the VM uses to decide whether to collect interpreter profiling information during the VM startup.To read more about these and other changes, see the OpenJ9 user documentation.
Performance highlights include:
- Method inlining of Java Class Library (JCL) methods in the Unsafe class is improved for performance.
@pshipton @vijaysun-omr - Are there any performance updates that you want to highlight in the website? Any other what's new update to be added here? Thanks!
@mpirvu I believe -XX:+IProfileDuringStartupPhase
may need to be mentioned along with compile time CPU improvements done recently (we could just state that improvements were done without quantifying if we wanted since there could be a range anyway).
One other area in which a performance improvement happened is unsafe inlining captured maybe by the following comment:
Unsafe inlining code paths were optimized further to reduce overhead in contexts where we know the class type of the object.
@katonica we may want to consider talking about OpenSSL related enhancements that were done after the prior release, e.g. the latest OpenSSL 3.x version or any other delta vs the prior release.
If -XX:+IProfileDuringStartupPhase
is going to be mentioned then it needs to be documented as well, the doc item is targeted to 0.43.
@Sreekala-Gopakumar Let's include the documentation for -XX:+IProfileDuringStartupPhase
in 0.42
Thanks
along with compile time CPU improvements done recently
I'll see about that.
If
-XX:+IProfileDuringStartupPhase
is going to be mentioned then it needs to be documented as well, the doc item is targeted to 0.43.
So that means that the milestone for this is now changed to Release 0.42.0? https://github.com/eclipse-openj9/openj9-docs/issues/1204
I changed the milestone.
I changed the milestone.
Thanks! So the Release target will also be changed in the issue description?
Sure, did that too.
One other area in which a performance improvement happened is unsafe inlining captured maybe by the following comment:
Unsafe inlining code paths were optimized further to reduce overhead in contexts where we know the class type of the object.
@vijaysun-omr - What do you mean by "overhead"? Is it the CPU usage?
Also, does this line need more explanation or can the user understand what is meant by "contexts" and "Unsafe inlining code paths"?
Thanks!
@katonica we may want to consider talking about OpenSSL related enhancements that were done after the prior release, e.g. the latest OpenSSL 3.x version or any other delta vs the prior release.
@vijaysun-omr @katonica - Anything to be added based on this comment? Thanks!
@Sreekala-Gopakumar Let's include the documentation for
-XX:+IProfileDuringStartupPhase
in 0.42 Thanks
I have added the information (https://github.com/eclipse-openj9/openj9-website/issues/359#issuecomment-1827080704)
If we wanted to keep it simple, we could just say that Method inlining of JCL methods in the Unsafe class was improved for performance
If we wanted to keep it simple, we could just say that
Method inlining of JCL methods in the Unsafe class was improved for performance
Does JCL mean "job control language" ?
JCL == Java Class Library
@katonica we may want to consider talking about OpenSSL related enhancements that were done after the prior release, e.g. the latest OpenSSL 3.x version or any other delta vs the prior release.
@vijaysun-omr @katonica - Anything to be added based on this comment? Thanks!
@vijaysun-omr @katonica - If there is anything to be added for OpenSSL related enhancements, please do let me know. Thanks!
@mpirvu @vijaysun-omr @pshipton @katonica - Created a PR with updated file for new release information related to 0.42.0 release in the website. (https://github.com/eclipse-openj9/openj9-website-publish/pull/7).
Published. (12 January, 2024)
What's New update for the website, for 0.42.0 (December 2023)