RFR: 8297036: Generalize C2 stub mechanism [v11]

Roman Kennke rkennke at openjdk.org
Tue Dec 6 17:44:54 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)

Roman Kennke has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 32 additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/master' into JDK-8297036
 - PPC fixes
 - Update copyright notices
 - More renames. Duh
 - Rename C2CodeStub::size() -> max_size()
 - Relax size-check in C2CodeStubList::emit()
 - More RISCV fixes
 - PPC fix
 - x86_32 fix
 - AArch64 parts
 - ... and 22 more: https://git.openjdk.org/jdk/compare/9e242cd2...b28f45d5

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/11188/files
  - new: https://git.openjdk.org/jdk/pull/11188/files/fed41e92..b28f45d5

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=11188&range=10
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=11188&range=09-10

  Stats: 127039 lines in 2017 files changed: 55993 ins; 51038 del; 20008 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