changeset 998:a0107ba3bc53

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
author johnc
date Thu, 01 Oct 2009 15:56:19 -0700
parents 1af62b6ca0f9
children 708275a44e4a
files src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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)