review (S) for 6992477: fix for 6991512 broke sparc barriers

Igor Veresov igor.veresov at oracle.com
Fri Oct 15 12:03:56 PDT 2010


I got it obviously wrong. :(
Look good. Thanks a lot for fixing it!

igor

On 10/15/10 11:40 AM, Tom Rodriguez wrote:
> http://cr.openjdk.java.net/~never/6992477
>
> 6992477: fix for 6991512 broke sparc barriers
> Reviewed-by:
>
> The fix for 6991512 changed the type of the temporary register used
> for the address of the field being modified in a Object cmpxchg from
> intptr_t to T_OBJECT.  T_OBJECT is only used for pointers to the head
> of an object and the result of this calculation is a derived pointer
> which causes later failures when trying to emit code.  The fix is to
> restore the original code and then fix the original issue by changing
> the G1PostBarrierStub::emit_code on x86 to use as_pointer_register to
> match the sparc version of the code.  Tested with failing tests from
> nightly.
>
> src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
> src/cpu/x86/vm/c1_LIRGenerator_x86.cpp
> src/share/vm/c1/c1_LIRGenerator.cpp
> src/cpu/x86/vm/c1_CodeStubs_x86.cpp



More information about the hotspot-compiler-dev mailing list