3740 __ bind(no_such_method); |
3740 __ bind(no_such_method); |
3741 |
3741 |
3742 // Throw exception. |
3742 // Throw exception. |
3743 __ restore_bcp(); // Bcp must be correct for exception handler (was destroyed). |
3743 __ restore_bcp(); // Bcp must be correct for exception handler (was destroyed). |
3744 __ restore_locals(); // Make sure locals pointer is correct as well (was destroyed). |
3744 __ restore_locals(); // Make sure locals pointer is correct as well (was destroyed). |
|
3745 // Pass arguments for generating a verbose error message. |
|
3746 __ z_lgr(Z_tmp_1, method); // Prevent register clash. |
3745 __ call_VM(noreg, |
3747 __ call_VM(noreg, |
3746 CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodError)); |
3748 CAST_FROM_FN_PTR(address, |
|
3749 InterpreterRuntime::throw_AbstractMethodErrorVerbose), |
|
3750 klass, Z_tmp_1); |
3747 // The call_VM checks for exception, so we should never return here. |
3751 // The call_VM checks for exception, so we should never return here. |
3748 __ should_not_reach_here(); |
3752 __ should_not_reach_here(); |
3749 |
3753 |
3750 __ bind(no_such_interface); |
3754 __ bind(no_such_interface); |
3751 |
3755 |
3752 // Throw exception. |
3756 // Throw exception. |
3753 __ restore_bcp(); // Bcp must be correct for exception handler (was destroyed). |
3757 __ restore_bcp(); // Bcp must be correct for exception handler (was destroyed). |
3754 __ restore_locals(); // Make sure locals pointer is correct as well (was destroyed). |
3758 __ restore_locals(); // Make sure locals pointer is correct as well (was destroyed). |
|
3759 // Pass arguments for generating a verbose error message. |
3755 __ call_VM(noreg, |
3760 __ call_VM(noreg, |
3756 CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_IncompatibleClassChangeError)); |
3761 CAST_FROM_FN_PTR(address, |
|
3762 InterpreterRuntime::throw_IncompatibleClassChangeErrorVerbose), |
|
3763 klass, interface); |
3757 // The call_VM checks for exception, so we should never return here. |
3764 // The call_VM checks for exception, so we should never return here. |
3758 __ should_not_reach_here(); |
3765 __ should_not_reach_here(); |
3759 |
3766 |
3760 BLOCK_COMMENT("} invokeinterface"); |
3767 BLOCK_COMMENT("} invokeinterface"); |
3761 return; |
3768 return; |