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