equal
deleted
inserted
replaced
312 |
312 |
313 return entry; |
313 return entry; |
314 } |
314 } |
315 |
315 |
316 |
316 |
317 address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state, int step) { |
317 address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state, int step, address continuation) { |
318 address entry = __ pc(); |
318 address entry = __ pc(); |
319 |
319 |
320 __ interp_verify_oop(R0_tos, state, __FILE__, __LINE__); |
320 __ interp_verify_oop(R0_tos, state, __FILE__, __LINE__); |
321 |
321 |
322 #ifdef AARCH64 |
322 #ifdef AARCH64 |
341 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_pending_exception)); |
341 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_pending_exception)); |
342 __ should_not_reach_here(); |
342 __ should_not_reach_here(); |
343 __ bind(L); |
343 __ bind(L); |
344 } |
344 } |
345 |
345 |
346 __ dispatch_next(state, step); |
346 if (continuation == NULL) { |
|
347 __ dispatch_next(state, step); |
|
348 } else { |
|
349 __ jump_to_entry(continuation); |
|
350 } |
347 |
351 |
348 return entry; |
352 return entry; |
349 } |
353 } |
350 |
354 |
351 address TemplateInterpreterGenerator::generate_result_handler_for(BasicType type) { |
355 address TemplateInterpreterGenerator::generate_result_handler_for(BasicType type) { |