# HG changeset patch # User johnc # Date 1254437779 25200 # Node ID a0107ba3bc5324e89d8b5f94e241f0a61cfaf03f # Parent 1af62b6ca0f924235070a55fbe9b487b220a071f 6887186: G1: Incorrect code generated for G1 pre-barrier by C1 on SPARC Summary: Modify operand passed to C1 pre-barrier to be the operand representing the address of the object field that is being stored. Reviewed-by: never diff -r 1af62b6ca0f9 -r a0107ba3bc53 src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp --- a/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Fri Sep 25 04:39:54 2009 -0700 +++ b/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Thu Oct 01 15:56:19 2009 -0700 @@ -668,7 +668,7 @@ __ add(obj.result(), offset.result(), addr); if (type == objectType) { // Write-barrier needed for Object fields. - pre_barrier(obj.result(), false, NULL); + pre_barrier(addr, false, NULL); } if (type == objectType)