[jdk17u-dev] RFR: 8315559: Delay TempSymbol cleanup to avoid symbol table churn
Oli Gillespie
ogillespie at openjdk.org
Mon Apr 22 15:39:49 UTC 2024
Hi all,
This pull request contains a backport of commit [d23f4f12](https://github.com/openjdk/jdk/commit/d23f4f12adf1ea26b8c340efe2c3854e50b68301) from the [openjdk/jdk](https://git.openjdk.org/jdk) repository.
The commit being backported was authored by Oli Gillespie on 4 Dec 2023 and was reviewed by Coleen Phillimore, Kim Barrett and Aleksey Shipilev.
Thanks!
The backport is not clean. `symbolHandle` does not exist in 17, so I put the same functionality in `symbolTable` where `TempNewSymbol` resides for 17. The functionality itself is essentially identical, with the other change being that `maybe_decrement_refcount` helper also does not exist, so I just added a null check.
`test/hotspot/gtest/classfile/test_placeholders.cpp` does not exist, so it didn't need to be fixed. `test_symbolTable.cpp` failed as expected before fixing, and applied cleanly.
Testing on the original benchmark confirms this fixes the performance regression:
java -Xmx1G -Xms1G -XX:+AlwaysPreTouch -jar dacapo-9.120-MR1.jar --size large --iterations 30 pmd
Before:
...
===== DaCapo 9.12-MR1 pmd PASSED in 1072 msec =====
After:
...
===== DaCapo 9.12-MR1 pmd PASSED in 1013 msec =====
-------------
Commit messages:
- Backport d23f4f12adf1ea26b8c340efe2c3854e50b68301
Changes: https://git.openjdk.org/jdk17u-dev/pull/2424/files
Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=2424&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8315559
Stats: 106 lines in 3 files changed: 97 ins; 0 del; 9 mod
Patch: https://git.openjdk.org/jdk17u-dev/pull/2424.diff
Fetch: git fetch https://git.openjdk.org/jdk17u-dev.git pull/2424/head:pull/2424
PR: https://git.openjdk.org/jdk17u-dev/pull/2424
More information about the jdk-updates-dev
mailing list