# HG changeset patch # User tonyp # Date 1277748798 14400 # Node ID e7ec8cd4dd8a741c3ba04dd6694edca5e85f382b # Parent b2a00dd3117cbcc451105a00528ec37db9eaa31c 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 diff -r b2a00dd3117c -r e7ec8cd4dd8a src/cpu/sparc/vm/stubGenerator_sparc.cpp --- a/src/cpu/sparc/vm/stubGenerator_sparc.cpp Thu Jul 01 21:40:45 2010 -0700 +++ b/src/cpu/sparc/vm/stubGenerator_sparc.cpp Mon Jun 28 14:13:18 2010 -0400 @@ -1007,9 +1007,9 @@ __ brx(Assembler::lessEqualUnsigned, false, Assembler::pt, (*NOLp)); __ delayed()->cmp(to_from, byte_count); if (NOLp == NULL) - __ brx(Assembler::greaterEqual, false, Assembler::pt, no_overlap_target); + __ brx(Assembler::greaterEqualUnsigned, false, Assembler::pt, no_overlap_target); else - __ brx(Assembler::greaterEqual, false, Assembler::pt, (*NOLp)); + __ brx(Assembler::greaterEqualUnsigned, false, Assembler::pt, (*NOLp)); __ delayed()->nop(); }