-
Notifications
You must be signed in to change notification settings - Fork 30
8360540: nmethod entry barriers of new nmethods should be disarmed #140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
👋 Welcome back rm-gh-8! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
|
This backport pull request has now been updated with issue from the original commit. |
|
|
|
/approval request for backport of JDK-8360540: nmethod entry barriers of new nmethods should be disarmed The fix adds disarm calls for other GCs (G1, Parallel, Serial) to match ZGC/ShenandoahGC behavior. This backport has internal demand. Medium-high risk - Incorrect disarming could affect GC safety or concurrent collection correctness. |
|
Please note that https://bugs.openjdk.org/browse/JDK-8365976 will need to follow this PR. |
|
When JDK-8360540 is merged, G1 full garbage collection no longer marks nmethods that are currently on the stack, which could lead to premature code eviction issues, so a dependent PR is needed |
Backporting JDK-8360540: nmethod entry barriers of new nmethods should be disarmed
This PR addresses an optimization gap where nmethod entry barriers are unnecessarily executed for new methods in non-ZGC/non-ShenandoahGC collectors. Since JDK-8290025, all GCs use nmethod entry barriers, but only ZGC and ShenandoahGC properly disarm these barriers for new nmethods before first execution. The fix adds disarm calls for other GCs to match ZGC/ShenandoahGC behavior.
This backport has internal demand.
Ran related tests on linux-x64, linux-aarch64, macos-aarch64 and windows-x64:
make test TEST=test/hotspot/jtreg/vmTestbase/gc
Results attached:
linux-x64-specific-test.log
macos-aarch64-specific-test.log
windows-x64-specific-test.log
linux-aarch64-specific-test.log
Progress
Warning
8360540: nmethod entry barriers of new nmethods should be disarmedIssue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk25u-dev.git pull/140/head:pull/140$ git checkout pull/140Update a local copy of the PR:
$ git checkout pull/140$ git pull https://git.openjdk.org/jdk25u-dev.git pull/140/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 140View PR using the GUI difftool:
$ git pr show -t 140Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk25u-dev/pull/140.diff
Using Webrev
Link to Webrev Comment