< prev index next >

src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp

Print this page
rev 49827 : 8201593: Print array length in ArrayIndexOutOfBoundsException.

*** 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 >