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

Vladimir Ivanov vlivanov at openjdk.org
Sat Aug 20 01:13:19 UTC 2022


> (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

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

Changes: https://git.openjdk.org/jdk/pull/9932/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=9932&range=03
  Stats: 427 lines in 13 files changed: 69 ins; 98 del; 260 mod
  Patch: https://git.openjdk.org/jdk/pull/9932.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/9932/head:pull/9932

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


More information about the hotspot-dev mailing list