< prev index next >
src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp
Print this page
rev 49827 : 8201593: Print array length in ArrayIndexOutOfBoundsException.
*** 183,204 ****
__ should_not_reach_here();
return entry;
}
! address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler(const char* name) {
address entry = __ pc();
// index is in R4_ArrayIndexOutOfBounds_index
- InlinedString Lname(name);
-
// expression stack must be empty before entering the VM if an exception happened
__ empty_expression_stack();
// setup parameters
! __ ldr_literal(R1, Lname);
__ mov(R2, R4_ArrayIndexOutOfBounds_index);
__ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ArrayIndexOutOfBoundsException), R1, R2);
__ nop(); // to avoid filling CPU pipeline with invalid instructions
--- 183,202 ----
__ should_not_reach_here();
return entry;
}
! address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler() {
address entry = __ pc();
// index is in R4_ArrayIndexOutOfBounds_index
// expression stack must be empty before entering the VM if an exception happened
__ empty_expression_stack();
// setup parameters
! // Array expected in R1.
__ mov(R2, R4_ArrayIndexOutOfBounds_index);
__ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ArrayIndexOutOfBoundsException), R1, R2);
__ nop(); // to avoid filling CPU pipeline with invalid instructions
< prev index next >