Skip to content

Commit

Permalink
Merge pull request #1398 from Sreekala-Gopakumar/Rel047RemoveLimitation
Browse files Browse the repository at this point in the history
Restrictions in the `-XX:[+|-]ShareOrphans` option removed
  • Loading branch information
hangshao0 authored Sep 4, 2024
2 parents 58071ff + 52de6e1 commit 7c8a21e
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
10 changes: 10 additions & 0 deletions docs/version0.47.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ The following new features and notable changes since version 0.46.0 are included

- [New binaries and changes to supported environments](#binaries-and-supported-environments)
- [`-Xshareclasses` option automatically enables `-XX:+ShareOrphans`](#-xshareclasses-option-automatically-enables-xxshareorphans)
- [Restrictions in the `-XX:[+|-]ShareOrphans` option fixed](#restrictions-in-the-xx-shareorphans-option-fixed)

## Features and changes

Expand All @@ -42,6 +43,15 @@ The `-XX:+ShareOrphans` option automatically enables the `-Xshareclasses` option

For more information, see [`-XX:[+|-]ShareOrphans`](xxshareorphans.md).

### Restrictions in the `-XX:[+|-]ShareOrphans` option fixed

The `-XX:[+|-]ShareOrphans` option had the following restrictions:

- The class comparison might not detect the removal of method access modifiers. For example, a change of a method from public to package-private.
- `java.lang.StackTraceElement.getClassLoaderName()` might return null for classes that are stored in the shared cache.

These restrictions are no longer applicable from this release onwards.

## Known problems and full release information

To see known problems and a complete list of changes between Eclipse OpenJ9 v0.46.0 and v0.47.0 releases, see the [Release notes](https://github.com/eclipse-openj9/openj9/blob/master/doc/release-notes/0.47/0.47.md).
Expand Down
3 changes: 1 addition & 2 deletions docs/xxshareorphans.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,8 @@ You can disable sharing class as orphans from class loader that does not impleme

- Sharing classes as orphans requires more comparison on the classes by the VM. The comparison itself has a negative performance impact. However, the benefits of more AOT generated for the cached class might offset the negative impact.
- More cached classes usually result in more AOT-compiled methods. The relative advantage of orphan sharing decreases when the CPUs are less. With more CPUs, the compilation threads can compile those additional methods in parallel with the application threads, while with fewer CPUs, extra compilation activity hinders application threads.
- The class comparison might not detect the removal of method access modifiers. For example, a change of a method from public to package-private.
- `java.lang.StackTraceElement.getClassLoaderName()` might return null for classes that are stored in the shared cache.

For more information, see [What's new in version 0.47.0](version0.47.md#restrictions-in-the-xx-shareorphans-option-fixed).

## See also

Expand Down

0 comments on commit 7c8a21e

Please sign in to comment.