Mon, 28 Jun 2010 14:13:18 -0400
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