6962569: assembler_sparc.cpp:1969: assert(false) failed: error

Mon, 28 Jun 2010 14:13:18 -0400

author
tonyp
date
Mon, 28 Jun 2010 14:13:18 -0400
changeset 2010
e7ec8cd4dd8a
parent 1993
b2a00dd3117c
child 2011
4e5661ba9d98

6962569: assembler_sparc.cpp:1969: assert(false) failed: error
Summary: array_overlap_test() fails when the address range crosses the MSB boundary. Thanks to Tom and Vladimir for their help on this one.
Reviewed-by: kvn, never, iveresov

src/cpu/sparc/vm/stubGenerator_sparc.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/cpu/sparc/vm/stubGenerator_sparc.cpp	Thu Jul 01 21:40:45 2010 -0700
     1.2 +++ b/src/cpu/sparc/vm/stubGenerator_sparc.cpp	Mon Jun 28 14:13:18 2010 -0400
     1.3 @@ -1007,9 +1007,9 @@
     1.4          __ brx(Assembler::lessEqualUnsigned, false, Assembler::pt, (*NOLp));
     1.5        __ delayed()->cmp(to_from, byte_count);
     1.6        if (NOLp == NULL)
     1.7 -        __ brx(Assembler::greaterEqual, false, Assembler::pt, no_overlap_target);
     1.8 +        __ brx(Assembler::greaterEqualUnsigned, false, Assembler::pt, no_overlap_target);
     1.9        else
    1.10 -        __ brx(Assembler::greaterEqual, false, Assembler::pt, (*NOLp));
    1.11 +        __ brx(Assembler::greaterEqualUnsigned, false, Assembler::pt, (*NOLp));
    1.12        __ delayed()->nop();
    1.13    }
    1.14  

mercurial