6887186: G1: Incorrect code generated for G1 pre-barrier by C1 on SPARC

Thu, 01 Oct 2009 15:56:19 -0700

author
johnc
date
Thu, 01 Oct 2009 15:56:19 -0700
changeset 1433
a0107ba3bc53
parent 1416
1af62b6ca0f9
child 1434
708275a44e4a

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)

mercurial