Request for review(XS): 7005241: C1: SEGV in java.util.concurrent.LinkedTransferQueue.xfer() with compressed oops

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Dec 7 17:20:44 PST 2010


Looks good. As discussed add a comment that cmpval(rax) is used implicitly in cmpxchg instruction.

Thanks,
Vladimir

Igor Veresov wrote:
> Implementation of the CAS primitive for x64 compressed oops was 
> incorrect. It kills rscratch2 register (r11), which is allocatable in 
> C1. Also, we don't need to restore cmpval as it's never used after that, 
> so we need only one temporary register, which can be scratch1.
> 
> Webrev: http://cr.openjdk.java.net/~iveresov/7005241/webrev.00
> 
> Tested with the failed nightly test.
> 
> Thanks,
> igor
> 


More information about the hotspot-compiler-dev mailing list