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

Tom Rodriguez tom.rodriguez at oracle.com
Fri Oct 15 12:29:37 PDT 2010


Thanks!

tom

On Oct 15, 2010, at 12:17 PM, Vladimir Kozlov wrote:

> Looks good.
> 
> Vladimir
> 
> 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