eclipse-openj9 / openj9

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Other
3.28k stars 720 forks source link

Post-restore `-Xshareclasses` change semantics #16868

Open dsouzai opened 1 year ago

dsouzai commented 1 year ago

This issue tracks what changes can be made via the -Xshareclasses option post-restore. For 0.38, the plan is to introduce -Xshareclasses:disableOnRestore [1] which is a best effort implementation to disable the SCC, and can only be specified post restore [2].

Post 0.38, Some reasonable changes to support may be

VM Changes

TBD

JIT Changes

Most changes to -Xshareclasses/-Xsc* don't impact the JIT as all interactions with the SCC are done via APIs. Adding -Xshareclasses:none post-restore is trivial to implement (it is essentially the same work needed to implement -Xshareclasses:disableOnRestore); doing the opposite will be more work and boils down to implementing https://github.com/eclipse-openj9/openj9/issues/16865.


[1] https://github.com/eclipse-openj9/openj9/issues/16714#issuecomment-1454085602 [2] https://github.com/eclipse-openj9/openj9/issues/16714#issuecomment-1458983963

dsouzai commented 1 year ago

@tajila @vijaysun-omr feel free to update the main description as needed. @hangshao0 fyi.

hangshao0 commented 1 year ago

FYI @ehrenjulzert