changeset 1666:5b0eb275c3d0

6981773: incorrect fill value with OptimizeFill Reviewed-by: kvn, twisti
author never
date Thu, 02 Sep 2010 11:40:02 -0700
parents 04323991c395
children 95a51e316d1c
files src/cpu/sparc/vm/stubGenerator_sparc.cpp
diffstat 1 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/sparc/vm/stubGenerator_sparc.cpp	Fri Aug 27 15:05:28 2010 -0400
+++ b/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);