equal
deleted
inserted
replaced
8632 cmpptr(ary1, ary2); |
8632 cmpptr(ary1, ary2); |
8633 jcc(Assembler::equal, TRUE_LABEL); |
8633 jcc(Assembler::equal, TRUE_LABEL); |
8634 |
8634 |
8635 if (is_array_equ) { |
8635 if (is_array_equ) { |
8636 // Need additional checks for arrays_equals. |
8636 // Need additional checks for arrays_equals. |
8637 andptr(ary1, ary2); |
8637 testptr(ary1, ary1); |
8638 jcc(Assembler::zero, FALSE_LABEL); // One pointer is NULL |
8638 jcc(Assembler::zero, FALSE_LABEL); |
|
8639 testptr(ary2, ary2); |
|
8640 jcc(Assembler::zero, FALSE_LABEL); |
8639 |
8641 |
8640 // Check the lengths |
8642 // Check the lengths |
8641 movl(limit, Address(ary1, length_offset)); |
8643 movl(limit, Address(ary1, length_offset)); |
8642 cmpl(limit, Address(ary2, length_offset)); |
8644 cmpl(limit, Address(ary2, length_offset)); |
8643 jcc(Assembler::notEqual, FALSE_LABEL); |
8645 jcc(Assembler::notEqual, FALSE_LABEL); |