RFR: 8297036: Generalize C2 stub mechanism [v13]

Roman Kennke rkennke at openjdk.org
Fri Dec 9 11:21:47 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 34 additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/master' into JDK-8297036
 - Fix copyrights
 - 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
 - ... and 24 more: https://git.openjdk.org/jdk/compare/cc36e60e...a91b7045

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/11188/files
  - new: https://git.openjdk.org/jdk/pull/11188/files/e718ba6f..a91b7045

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

  Stats: 17904 lines in 416 files changed: 13289 ins; 3226 del; 1389 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