equal
deleted
inserted
replaced
227 |
227 |
228 address entry_point = __ pc(); |
228 address entry_point = __ pc(); |
229 |
229 |
230 // abstract method entry |
230 // abstract method entry |
231 |
231 |
|
232 #ifndef CC_INTERP |
232 // pop return address, reset last_sp to NULL |
233 // pop return address, reset last_sp to NULL |
233 __ empty_expression_stack(); |
234 __ empty_expression_stack(); |
234 __ restore_bcp(); // rsi must be correct for exception handler (was destroyed) |
235 __ restore_bcp(); // rsi must be correct for exception handler (was destroyed) |
235 __ restore_locals(); // make sure locals pointer is correct as well (was destroyed) |
236 __ restore_locals(); // make sure locals pointer is correct as well (was destroyed) |
|
237 #endif |
236 |
238 |
237 // throw exception |
239 // throw exception |
238 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodError)); |
240 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodError)); |
239 // the call_VM checks for exception, so we should never return here. |
241 // the call_VM checks for exception, so we should never return here. |
240 __ should_not_reach_here(); |
242 __ should_not_reach_here(); |