6981773: incorrect fill value with OptimizeFill
authornever
Thu Sep 02 11:40:02 2010 -0700 (2 years ago)
changeset 2046f353275af40e
parent 2031dee553c74493
child 2047d5d065957597
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 Wed Sep 01 00:40:05 2010 -0700
+++ 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);