RFR: 8338745: Intrinsify Continuation.pin() and Continuation.unpin()

Markus Grönlund mgronlun at openjdk.org
Wed Aug 21 20:15:13 UTC 2024


Greetings,

Please help review this change set that implements C2 intrinsics for jdk.internal.vm.Continuation.pin() and jdk.internal.vm.Continuation.unpin().

This work is a consequence of [JDK-8338417](https://bugs.openjdk.org/browse/JDK-8338417), which required us to introduce explicit pin constructs for VirtualThreads in a relatively performance-sensitive path.

Testing: jdk_jfr, loom testing

Comment: I changed the type of the ContinuationEntry::_pin_count field from uint to uin32_t to make the size explicit and to access it uniformly from the intrinsic code using T_INT.

Thanks
Markus

-------------

Commit messages:
 - 8338745

Changes: https://git.openjdk.org/jdk/pull/20664/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20664&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8338745
  Stats: 117 lines in 8 files changed: 113 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/20664.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20664/head:pull/20664

PR: https://git.openjdk.org/jdk/pull/20664


More information about the core-libs-dev mailing list