src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp
changeset 48014 ae7bd89bdc0d
parent 47216 71c04702a3d5
child 49950 7b916885654d
equal deleted inserted replaced
48013:2098785677fb 48014:ae7bd89bdc0d
   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) {