< prev index next >
src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp
Print this page
rev 49887 : 8201593: Print array length in ArrayIndexOutOfBoundsException.
Reviewed-by: dholmes, mdoerr
*** 331,350 ****
CAST_FROM_FN_PTR(address,
InterpreterRuntime::throw_StackOverflowError));
return entry;
}
! address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler(
! const char* name) {
address entry = __ pc();
// expression stack must be empty before entering the VM if an
// exception happened
__ empty_expression_stack();
// setup parameters
// ??? convention: expect aberrant index in register r1
__ movw(c_rarg2, r1);
! __ mov(c_rarg1, (address)name);
__ call_VM(noreg,
CAST_FROM_FN_PTR(address,
InterpreterRuntime::
throw_ArrayIndexOutOfBoundsException),
c_rarg1, c_rarg2);
--- 331,351 ----
CAST_FROM_FN_PTR(address,
InterpreterRuntime::throw_StackOverflowError));
return entry;
}
! address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler() {
address entry = __ pc();
// expression stack must be empty before entering the VM if an
// exception happened
__ empty_expression_stack();
// setup parameters
+
// ??? convention: expect aberrant index in register r1
__ movw(c_rarg2, r1);
! // ??? convention: expect array in register r3
! __ mov(c_rarg1, r3);
__ call_VM(noreg,
CAST_FROM_FN_PTR(address,
InterpreterRuntime::
throw_ArrayIndexOutOfBoundsException),
c_rarg1, c_rarg2);
< prev index next >