RFR: 8377554: Load card table base and other values via AOTRuntimeConstants in AOT code

Andrew Dinn adinn at openjdk.org
Mon Feb 23 17:10:05 UTC 2026


Generated stubs and nmethods embed some runtime-derived constants, such as the card table base, directly into code as instruction operands. AOT code generation cannot rely on these constants being valid between the assembly run and a production run and adjusting the constants at load time is not currently supported. So, instead AOT generation must employ code which loads the constants from a table whose address can be relocated at load time.

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

Commit messages:
 - fix C2 AOT card table loads
 - avoid increment of macro arg
 - fix loading of card table base
 - missing header
 - typo
 - typo
 - fix gc includes and G1 references
 - correct header
 - include another missing header
 - include missing header
 - ... and 1 more: https://git.openjdk.org/jdk/compare/aee4b02e...b920d0b6

Changes: https://git.openjdk.org/jdk/pull/29884/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29884&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8377554
  Stats: 312 lines in 22 files changed: 296 ins; 0 del; 16 mod
  Patch: https://git.openjdk.org/jdk/pull/29884.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29884/head:pull/29884

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


More information about the hotspot-dev mailing list