openj9 icon indicating copy to clipboard operation
openj9 copied to clipboard

AArch64 JIT changes for virtual thread support

Open 0xdaryl opened this issue 3 years ago • 1 comments

  • Adjust J9VMThread ownedMonitorCount counters for ARM64 monenter/monexit
  • Adjust J9VMThread callOutCount counters around ARM64 direct JNI dispatch

0xdaryl avatar Sep 19 '22 14:09 0xdaryl

This PR is only in draft state until PR #15552 is merged. At that point this PR will be rebased to remove the FrontEnd changes that are needed to test it.

In the meantime, please review this PR @knn-k . Functional testing including the VirtualThreadTest with JIT enabled succeeded.

Essentially, JNI callout counter needs to be incremented on every JNI callout that builds a frame and decremented when it returns. For every monitor handled inline (not via a helper) the monitor count needs to incremented on monenter and decremented on monexit.

0xdaryl avatar Sep 19 '22 14:09 0xdaryl

Jenkins test sanity alinux64 jdk17,jdk19

0xdaryl avatar Sep 23 '22 15:09 0xdaryl

Jenkins test sanity alinux64 jdk17,jdk19

0xdaryl avatar Oct 01 '22 11:10 0xdaryl

Jenkins test sanity amac jdk17,jdk19

0xdaryl avatar Oct 02 '22 18:10 0xdaryl

Internal testing of all JDK 17 and 19 sanity functional, system, and openjdk testing passed on both Linux and macOS. Un-WIPing this PR.

@knn-k : please review and merge.

0xdaryl avatar Oct 03 '22 01:10 0xdaryl