提交 041cc0b6 编写于 作者: T tonyp

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
上级 cb5b0fb9
...@@ -1007,9 +1007,9 @@ class StubGenerator: public StubCodeGenerator { ...@@ -1007,9 +1007,9 @@ class StubGenerator: public StubCodeGenerator {
__ brx(Assembler::lessEqualUnsigned, false, Assembler::pt, (*NOLp)); __ brx(Assembler::lessEqualUnsigned, false, Assembler::pt, (*NOLp));
__ delayed()->cmp(to_from, byte_count); __ delayed()->cmp(to_from, byte_count);
if (NOLp == NULL) if (NOLp == NULL)
__ brx(Assembler::greaterEqual, false, Assembler::pt, no_overlap_target); __ brx(Assembler::greaterEqualUnsigned, false, Assembler::pt, no_overlap_target);
else else
__ brx(Assembler::greaterEqual, false, Assembler::pt, (*NOLp)); __ brx(Assembler::greaterEqualUnsigned, false, Assembler::pt, (*NOLp));
__ delayed()->nop(); __ delayed()->nop();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册