RFR: 8297036: Generalize C2 stub mechanism

Roman Kennke rkennke at openjdk.org
Tue Nov 22 17:09:02 UTC 2022


Currently, we have two implementations of out-of-line stubs in C2, one for safepoint poll stubs (C2SafepointPollStubTable in output.hpp) and another for nmmethod entry barriers (C2EntryBarrierStubTable in output.hpp). I will need a few more for Lilliput: One for checking lock-stack size in method prologue, one for handling lock failures (both for fast-locking), and another one for load-klass slow-path. It would be good to generalize the mechanism and consolidate the existing uses on the new general mechanism.

Testing:
 - [x] tier1 (x86_64, x86_32, aarch64)
 - [x] tier2 (x86_64, x86_32, aarch64)
 - [x] tier3 (x86_64, x86_32, aarch64)

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

Commit messages:
 - RISCV fixes
 - Rename new platform files
 - Revert "Add virtual destructor to C2CodeStub"
 - Add virtual destructor to C2CodeStub
 - Some fixes (RISCV)
 - Add missing include (PPC)
 - RISCV parts
 - PPC parts
 - Use compile arena to allocate stub list
 - Rename files in includes, too. Duh.
 - ... and 11 more: https://git.openjdk.org/jdk/compare/87530e66...30a22232

Changes: https://git.openjdk.org/jdk/pull/11188/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11188&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8297036
  Stats: 927 lines in 21 files changed: 458 ins; 450 del; 19 mod
  Patch: https://git.openjdk.org/jdk/pull/11188.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11188/head:pull/11188

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


More information about the hotspot-compiler-dev mailing list