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