equal
deleted
inserted
replaced
755 if (index != rbx) { |
755 if (index != rbx) { |
756 // ??? convention: move aberrant index into rbx for exception message |
756 // ??? convention: move aberrant index into rbx for exception message |
757 assert(rbx != array, "different registers"); |
757 assert(rbx != array, "different registers"); |
758 __ movl(rbx, index); |
758 __ movl(rbx, index); |
759 } |
759 } |
760 __ jump_cc(Assembler::aboveEqual, |
760 Label skip; |
761 ExternalAddress(Interpreter::_throw_ArrayIndexOutOfBoundsException_entry)); |
761 __ jccb(Assembler::below, skip); |
762 } |
762 // Pass array to create more detailed exceptions. |
763 |
763 __ mov(NOT_LP64(rax) LP64_ONLY(c_rarg1), array); |
|
764 __ jump(ExternalAddress(Interpreter::_throw_ArrayIndexOutOfBoundsException_entry)); |
|
765 __ bind(skip); |
|
766 } |
764 |
767 |
765 void TemplateTable::iaload() { |
768 void TemplateTable::iaload() { |
766 transition(itos, itos); |
769 transition(itos, itos); |
767 // rax: index |
770 // rax: index |
768 // rdx: array |
771 // rdx: array |