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

Vladimir Kozlov kvn at openjdk.org
Wed Feb 25 17:31:14 UTC 2026


On Wed, 25 Feb 2026 16:28:56 GMT, Andrew Dinn <adinn at openjdk.org> wrote:

>> 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.
>
> Andrew Dinn has updated the pull request incrementally with one additional commit since the last revision:
> 
>   allow for fake RawPtr ConP addresses

Interesting. In premain we don't have special case for external address constant load. I think C2 will put relocation there already. That is why we have change in `type.hpp`.  Please, look on PrintOptoAssembly without and with you special code for external address.

The were no other new failures in testing. I will retest after you finalize this code.

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

PR Comment: https://git.openjdk.org/jdk/pull/29884#issuecomment-3960802140
PR Comment: https://git.openjdk.org/jdk/pull/29884#issuecomment-3960809838


More information about the hotspot-dev mailing list