< prev index next >

src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp

Print this page
rev 49017 : 8197405: Improve messages of AbstractMethodErrors and IncompatibleClassChangeErrors.
Reviewed-by: coleenp, dholmes

*** 456,466 **** // Implement call of InterpreterRuntime::throw_AbstractMethodError. __ set_top_ijava_frame_at_SP_as_last_Java_frame(Z_SP, Z_R1); __ save_return_pc(); // Save Z_R14. __ push_frame_abi160(0); // Without new frame the RT call could overwrite the saved Z_R14. ! __ call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodError), Z_thread); __ pop_frame(); __ restore_return_pc(); // Restore Z_R14. __ reset_last_Java_frame(); --- 456,467 ---- // Implement call of InterpreterRuntime::throw_AbstractMethodError. __ set_top_ijava_frame_at_SP_as_last_Java_frame(Z_SP, Z_R1); __ save_return_pc(); // Save Z_R14. __ push_frame_abi160(0); // Without new frame the RT call could overwrite the saved Z_R14. ! __ call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodErrorWithMethod), ! Z_thread, Z_method); __ pop_frame(); __ restore_return_pc(); // Restore Z_R14. __ reset_last_Java_frame();
*** 684,694 **** BLOCK_COMMENT("} return_entry"); return entry; } ! address TemplateInterpreterGenerator::generate_deopt_entry_for (TosState state, int step, address continuation) { address entry = __ pc(); BLOCK_COMMENT("deopt_entry {"); --- 685,695 ---- BLOCK_COMMENT("} return_entry"); return entry; } ! address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state, int step, address continuation) { address entry = __ pc(); BLOCK_COMMENT("deopt_entry {");
< prev index next >