Thu, 01 Oct 2009 15:56:19 -0700
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
src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Fri Sep 25 04:39:54 2009 -0700 1.2 +++ b/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Thu Oct 01 15:56:19 2009 -0700 1.3 @@ -668,7 +668,7 @@ 1.4 __ add(obj.result(), offset.result(), addr); 1.5 1.6 if (type == objectType) { // Write-barrier needed for Object fields. 1.7 - pre_barrier(obj.result(), false, NULL); 1.8 + pre_barrier(addr, false, NULL); 1.9 } 1.10 1.11 if (type == objectType)