6981773: incorrect fill value with OptimizeFill
authornever
Thu, 02 Sep 2010 11:40:02 -0700
changeset 6452 cc624b341ab2
parent 6437 f418278cea0f
child 6453 970dc585ab63
6981773: incorrect fill value with OptimizeFill Reviewed-by: kvn, twisti
hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp
--- a/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp	Wed Sep 01 00:40:05 2010 -0700
+++ b/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp	Thu Sep 02 11:40:02 2010 -0700
@@ -1683,12 +1683,6 @@
     }
 #endif
 
-    Label L_check_fill_8_bytes;
-    // Fill 32-byte chunks
-    __ subcc(count, 8 << shift, count);
-    __ brx(Assembler::less, false, Assembler::pt, L_check_fill_8_bytes);
-    __ delayed()->nop();
-
     if (t == T_INT) {
       // Zero extend value
       __ srl(value, 0, value);
@@ -1698,6 +1692,12 @@
       __ or3(value, O3, value);
     }
 
+    Label L_check_fill_8_bytes;
+    // Fill 32-byte chunks
+    __ subcc(count, 8 << shift, count);
+    __ brx(Assembler::less, false, Assembler::pt, L_check_fill_8_bytes);
+    __ delayed()->nop();
+
     Label L_fill_32_bytes_loop;
     __ align(16);
     __ BIND(L_fill_32_bytes_loop);