RFR: 8308076: X86_64: make rheapbase register allocatable in zero based compressedOops mode
Quan Anh Mai
qamai at openjdk.org
Mon May 15 07:33:54 UTC 2023
On Mon, 15 May 2023 06:35:00 GMT, kuaiwei <duke at openjdk.org> wrote:
> In x86 64 mode, decode heap oop could use SIB without base if heap base is zero. like
>
> 0d1 movl R11, [,R9 << 3 + #72] (zero base compressed oop addressing) # compressed ptr ! Field: java/lang/ClassLoader.classAssertionStatus
>
> So rheapbase( r12 ) can be allocated as general register.
>
> Tier 1/2 tests are passed without new failure.
Please see [JDK-8221249](https://bugs.openjdk.org/browse/JDK-8221249). A possible further improvement you can try is to allocate a vector register to be a dedicated zero register, this also helps other operations such as clear memory of newly created objects.
Thanks.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13976#issuecomment-1547332040
More information about the hotspot-dev
mailing list