RFR: 8292638: x86: Improve scratch register handling in VM stubs [v4]
Aleksey Shipilev
shade at openjdk.org
Mon Aug 22 12:45:32 UTC 2022
On Sat, 20 Aug 2022 01:13:19 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 with a new target base due to a merge or a rebase. The pull request now contains seven commits:
>
> - Merge branch 'master' into trig_rscratch
> - rscratch
> - cmp64
> - 8292638: x86: Improve scratch register handling in VM stubs
> - StubRoutines cleanup
> - tabs
> - x86: Improve handling of constants in trigonometric stubs
x86_32 tier1 is good. Here is the patch that does the symmetric changes in `stubGenerator_x86_64.cpp`: https://cr.openjdk.java.net/~shade/8292638/x86-add-1.patch
-------------
PR: https://git.openjdk.org/jdk/pull/9932
More information about the hotspot-dev
mailing list