# HG changeset patch # User mdoerr # Date 1571927329 -7200 # Node ID 9019c186ae990dbc402a0b3f412c337bfd767401 # Parent d55b62dbe6884092f5494eb6e556a776773a82f6 8232005: [s390, PPC64] More exception checks missing in interpreter Reviewed-by: rrich, goetz diff -r d55b62dbe688 -r 9019c186ae99 src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp --- a/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp Thu Oct 24 08:52:33 2019 -0400 +++ b/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp Thu Oct 24 16:28:49 2019 +0200 @@ -592,10 +592,10 @@ __ load_const_optimized(R4_ARG2, (address) name, R11_scratch1); if (pass_oop) { __ mr(R5_ARG3, Rexception); - __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_klass_exception), false); + __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_klass_exception)); } else { __ load_const_optimized(R5_ARG3, (address) message, R11_scratch1); - __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_exception), false); + __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_exception)); } // Throw exception. @@ -2105,7 +2105,7 @@ // The member name argument must be restored if _invokestatic is re-executed after a PopFrame call. // Detect such a case in the InterpreterRuntime function and return the member name argument, or NULL. __ ld(R4_ARG2, 0, R18_locals); - __ MacroAssembler::call_VM(R4_ARG2, CAST_FROM_FN_PTR(address, InterpreterRuntime::member_name_arg_or_null), R4_ARG2, R19_method, R14_bcp, false); + __ call_VM(R4_ARG2, CAST_FROM_FN_PTR(address, InterpreterRuntime::member_name_arg_or_null), R4_ARG2, R19_method, R14_bcp); __ restore_interpreter_state(R11_scratch1, /*bcp_and_mdx_only*/ true); __ cmpdi(CCR0, R4_ARG2, 0); __ beq(CCR0, L_done); diff -r d55b62dbe688 -r 9019c186ae99 src/hotspot/cpu/s390/interp_masm_s390.cpp --- a/src/hotspot/cpu/s390/interp_masm_s390.cpp Thu Oct 24 08:52:33 2019 -0400 +++ b/src/hotspot/cpu/s390/interp_masm_s390.cpp Thu Oct 24 16:28:49 2019 +0200 @@ -1072,8 +1072,7 @@ void InterpreterMacroAssembler::unlock_object(Register monitor, Register object) { if (UseHeavyMonitors) { - call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorexit), - monitor, /*check_for_exceptions=*/ true); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorexit), monitor); return; } @@ -1147,8 +1146,7 @@ // The lock has been converted into a heavy lock and hence // we need to get into the slow case. z_stg(object, obj_entry); // Restore object entry, has been cleared above. - call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorexit), - monitor, /*check_for_exceptions=*/false); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorexit), monitor); // } @@ -2095,7 +2093,7 @@ Label jvmti_post_done; MacroAssembler::load_and_test_int(Z_R0, Address(Z_thread, JavaThread::interp_only_mode_offset())); z_bre(jvmti_post_done); - call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_entry), /*check_exceptions=*/false); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_entry)); bind(jvmti_post_done); } } @@ -2129,7 +2127,7 @@ MacroAssembler::load_and_test_int(Z_R0, Address(Z_thread, JavaThread::interp_only_mode_offset())); z_bre(jvmti_post_done); if (!native_method) push(state); // see frame::interpreter_frame_result() - call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_exit), /*check_exceptions=*/false); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_exit)); if (!native_method) pop(state); bind(jvmti_post_done); }