equal
deleted
inserted
replaced
782 // Check index. |
782 // Check index. |
783 Label index_ok; |
783 Label index_ok; |
784 __ z_cl(index, Address(array, arrayOopDesc::length_offset_in_bytes())); |
784 __ z_cl(index, Address(array, arrayOopDesc::length_offset_in_bytes())); |
785 __ z_brl(index_ok); |
785 __ z_brl(index_ok); |
786 __ lgr_if_needed(Z_ARG3, index); // See generate_ArrayIndexOutOfBounds_handler(). |
786 __ lgr_if_needed(Z_ARG3, index); // See generate_ArrayIndexOutOfBounds_handler(). |
787 // Give back the array to create more detailed exceptions. |
787 // Pass the array to create more detailed exceptions. |
788 __ lgr_if_needed(Z_ARG2, array); // See generate_ArrayIndexOutOfBounds_handler(). |
788 __ lgr_if_needed(Z_ARG2, array); // See generate_ArrayIndexOutOfBounds_handler(). |
789 __ load_absolute_address(Z_R1_scratch, |
789 __ load_absolute_address(Z_R1_scratch, |
790 Interpreter::_throw_ArrayIndexOutOfBoundsException_entry); |
790 Interpreter::_throw_ArrayIndexOutOfBoundsException_entry); |
791 __ z_bcr(Assembler::bcondAlways, Z_R1_scratch); |
791 __ z_bcr(Assembler::bcondAlways, Z_R1_scratch); |
792 __ bind(index_ok); |
792 __ bind(index_ok); |