RFR: ForceYield using suspension. Seems to pass.

Coleen Phillimore coleenp at openjdk.java.net
Thu May 20 22:13:06 UTC 2021


This uses thread suspend to freeze the stack of the target thread, so that the allocation can be done by the requestor who can do this safely because it's not in a handshake.
Tested with jdk/java/lang/Continuation (added -UseTLAB case)
and serviceability/jvmti/vthread
and loom-tier1, loom-tier2.
Also tested vmTestbase/nsk/jvmti,jdi,jdwp,monitoring tests.

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

Commit messages:
 - Use current thread for tlab and allocation without getting Thread::current().
 - 4 state solution.
 - Specify which thread can resume the other thread because I need it here.
 - ForceYield using suspension.  Seems to pass.

Changes: https://git.openjdk.java.net/loom/pull/44/files
 Webrev: https://webrevs.openjdk.java.net/?repo=loom&pr=44&range=00
  Stats: 187 lines in 7 files changed: 54 ins; 53 del; 80 mod
  Patch: https://git.openjdk.java.net/loom/pull/44.diff
  Fetch: git fetch https://git.openjdk.java.net/loom pull/44/head:pull/44

PR: https://git.openjdk.java.net/loom/pull/44


More information about the loom-dev mailing list