RFR: 8292638: x86: Improve scratch register handling in VM stubs [v9]

Aleksey Shipilev shade at openjdk.org
Tue Aug 23 16:15:28 UTC 2022


On Mon, 22 Aug 2022 23:49:27 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> (PR depends on #9923.)
>> 
>> Constants which reside outside code cache are not guaranteed to be reachable in
>> RIP-relative addressing mode from stub code, but absolute addressing mode requires a
>> scratch register.
>> 
>> Provide a scratch register to ensure constants are reachable irrespective of
>> process memory layout. 
>> 
>> Make scratch register usage explicit to make possible conflicts with surrounding stub code explicit.
>> 
>> Testing:
>> - [x] hs-tier1 - hs-tier4
>> - [x] x86_32 hotspot build
>
> Vladimir Ivanov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   code buffer outside code cache

Looks good, a few nits:

`is_reachable_from` vs `is_always_reachable`: these look like siblings, so they probably should both either have `_from`, or both skip it.

I don't see why would we need to do `tmp /* rscratch */` comments everywhere, looks like noise.

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

Marked as reviewed by shade (Reviewer).

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


More information about the hotspot-dev mailing list