--- a/src/hotspot/cpu/s390/templateTable_s390.cpp Fri Mar 09 12:03:20 2018 -0500
+++ b/src/hotspot/cpu/s390/templateTable_s390.cpp Thu Feb 08 09:23:49 2018 +0100
@@ -3742,8 +3742,12 @@
// Throw exception.
__ restore_bcp(); // Bcp must be correct for exception handler (was destroyed).
__ restore_locals(); // Make sure locals pointer is correct as well (was destroyed).
+ // Pass arguments for generating a verbose error message.
+ __ z_lgr(Z_tmp_1, method); // Prevent register clash.
__ call_VM(noreg,
- CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodError));
+ CAST_FROM_FN_PTR(address,
+ InterpreterRuntime::throw_AbstractMethodErrorVerbose),
+ klass, Z_tmp_1);
// The call_VM checks for exception, so we should never return here.
__ should_not_reach_here();
@@ -3752,8 +3756,11 @@
// Throw exception.
__ restore_bcp(); // Bcp must be correct for exception handler (was destroyed).
__ restore_locals(); // Make sure locals pointer is correct as well (was destroyed).
+ // Pass arguments for generating a verbose error message.
__ call_VM(noreg,
- CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_IncompatibleClassChangeError));
+ CAST_FROM_FN_PTR(address,
+ InterpreterRuntime::throw_IncompatibleClassChangeErrorVerbose),
+ klass, interface);
// The call_VM checks for exception, so we should never return here.
__ should_not_reach_here();