RFR: 8278793: Interpreter(x64) intrinsify Thread.currentThread()
Robbin Ehn
rehn at openjdk.java.net
Fri Dec 17 08:40:55 UTC 2021
Please consider this enhancement.
This makes Thread.currentThread() eight times faster on my box when running in interpreter.
Passes t1-t4
As suggested I added a related fix to Shenandoah.
Shenandoah LB was using InterpreterMacroAssembler version of call_VM_leaf_base (it's virtual).
The interpreter version adds a check on last_sp, since the intrinsic is not setting up a new frame, this check is faulty.
Other GC seems to always use the base version, so let's use the base version in Shenandoah also.
No issues found when locally running gc/shenandoah.
-------------
Commit messages:
- We must use the MacroAssembler version of the call VM when not having a proper intepreter frame
- Intrinsic
Changes: https://git.openjdk.java.net/jdk/pull/6833/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6833&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8278793
Stats: 35 lines in 6 files changed: 31 ins; 0 del; 4 mod
Patch: https://git.openjdk.java.net/jdk/pull/6833.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/6833/head:pull/6833
PR: https://git.openjdk.java.net/jdk/pull/6833
More information about the hotspot-dev
mailing list