6981773: incorrect fill value with OptimizeFill

Thu, 02 Sep 2010 11:40:02 -0700

author
never
date
Thu, 02 Sep 2010 11:40:02 -0700
changeset 2137
f353275af40e
parent 2122
dee553c74493
child 2138
d5d065957597

6981773: incorrect fill value with OptimizeFill
Reviewed-by: kvn, twisti

src/cpu/sparc/vm/stubGenerator_sparc.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/cpu/sparc/vm/stubGenerator_sparc.cpp	Wed Sep 01 00:40:05 2010 -0700
     1.2 +++ b/src/cpu/sparc/vm/stubGenerator_sparc.cpp	Thu Sep 02 11:40:02 2010 -0700
     1.3 @@ -1683,12 +1683,6 @@
     1.4      }
     1.5  #endif
     1.6  
     1.7 -    Label L_check_fill_8_bytes;
     1.8 -    // Fill 32-byte chunks
     1.9 -    __ subcc(count, 8 << shift, count);
    1.10 -    __ brx(Assembler::less, false, Assembler::pt, L_check_fill_8_bytes);
    1.11 -    __ delayed()->nop();
    1.12 -
    1.13      if (t == T_INT) {
    1.14        // Zero extend value
    1.15        __ srl(value, 0, value);
    1.16 @@ -1698,6 +1692,12 @@
    1.17        __ or3(value, O3, value);
    1.18      }
    1.19  
    1.20 +    Label L_check_fill_8_bytes;
    1.21 +    // Fill 32-byte chunks
    1.22 +    __ subcc(count, 8 << shift, count);
    1.23 +    __ brx(Assembler::less, false, Assembler::pt, L_check_fill_8_bytes);
    1.24 +    __ delayed()->nop();
    1.25 +
    1.26      Label L_fill_32_bytes_loop;
    1.27      __ align(16);
    1.28      __ BIND(L_fill_32_bytes_loop);

mercurial