6981773: incorrect fill value with OptimizeFill
authornever
Thu Sep 02 11:40:02 2010 -0700 (2 years ago)
changeset 19665b0eb275c3d0
parent 196504323991c395
child 196795a51e316d1c
6981773: incorrect fill value with OptimizeFill
Reviewed-by: kvn, twisti
src/cpu/sparc/vm/stubGenerator_sparc.cpp
--- 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,20 +1683,20 @@ class StubGenerator: public StubCodeGene
}
#endif
+ if (t == T_INT) {
+ // Zero extend value
+ __ srl(value, 0, value);
+ }
+ if (t == T_BYTE || t == T_SHORT || t == T_INT) {
+ __ sllx(value, 32, O3);
+ __ 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();
-
- if (t == T_INT) {
- // Zero extend value
- __ srl(value, 0, value);
- }
- if (t == T_BYTE || t == T_SHORT || t == T_INT) {
- __ sllx(value, 32, O3);
- __ or3(value, O3, value);
- }
Label L_fill_32_bytes_loop;
__ align(16);