RFR(S)[13]: AArch64: float point register corruption in ZBarrierSetAssembler::load_at

Erik Osterlund erik.osterlund at oracle.com
Thu Jun 20 16:21:46 UTC 2019

Hi Stuart,

You get a tmp1 register passed in to load_at, which has the intention of being a register you can reliably use in the barriers. Might want to use that instead of hoping for the best that rscratch2 isn’t used by anyone else (such as e.g. check-cast arraycopy stubs).


> On 20 Jun 2019, at 18:01, Stuart Monteith <stuart.monteith at linaro.org> wrote:
> Hello,
>   There are incorrect values on VarHandle JCStress tests when ZGC is
> enabled. A line was omitted that should have saved the first first
> four registers. This change also removes a dependency on rscratch1 and
> reuses rscratch2.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8226515
> Webrev: http://cr.openjdk.java.net/~smonteith/8226515/webrev.0/
> Tested with JCStress, jtreg tier1 and SpecJBB2015.
> This should be applied to jdk/jdk13 and jdk/jdk
> Thanks.

More information about the hotspot-gc-dev mailing list