< prev index next >

src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp

Print this page
rev 49973 : 8201593: Print array length in ArrayIndexOutOfBoundsException.
Reviewed-by: dholmes, mdoerr, smonteith

*** 549,571 **** return entry; } // // Args: // Z_ARG3: aberrant index // ! address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler(const char * name) { address entry = __ pc(); address excp = CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ArrayIndexOutOfBoundsException); // Expression stack must be empty before entering the VM if an // exception happened. __ empty_expression_stack(); // Setup parameters. ! // Leave out the name and use register for array to create more detailed exceptions. ! __ load_absolute_address(Z_ARG2, (address) name); __ call_VM(noreg, excp, Z_ARG2, Z_ARG3); return entry; } address TemplateInterpreterGenerator::generate_ClassCastException_handler() { --- 549,571 ---- return entry; } // // Args: + // Z_ARG2: oop of array // Z_ARG3: aberrant index // ! address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler() { address entry = __ pc(); address excp = CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ArrayIndexOutOfBoundsException); // Expression stack must be empty before entering the VM if an // exception happened. __ empty_expression_stack(); // Setup parameters. ! // Pass register with array to create more detailed exceptions. __ call_VM(noreg, excp, Z_ARG2, Z_ARG3); return entry; } address TemplateInterpreterGenerator::generate_ClassCastException_handler() {
< prev index next >