hotspot/src/share/vm/runtime/sharedRuntime.cpp
changeset 46364 00a21c0ff97e
parent 46329 53ccc37bda19
child 46530 7b915076588f
equal deleted inserted replaced
46363:b53de34a044c 46364:00a21c0ff97e
   480   thread->set_exception_pc(NULL);
   480   thread->set_exception_pc(NULL);
   481 #endif // INCLUDE_JVMCI
   481 #endif // INCLUDE_JVMCI
   482 
   482 
   483   // The fastest case first
   483   // The fastest case first
   484   CodeBlob* blob = CodeCache::find_blob(return_address);
   484   CodeBlob* blob = CodeCache::find_blob(return_address);
   485   nmethod* nm = (blob != NULL) ? blob->as_nmethod_or_null() : NULL;
   485   CompiledMethod* nm = (blob != NULL) ? blob->as_compiled_method_or_null() : NULL;
   486   if (nm != NULL) {
   486   if (nm != NULL) {
   487     // Set flag if return address is a method handle call site.
   487     // Set flag if return address is a method handle call site.
   488     thread->set_is_method_handle_return(nm->is_method_handle_return(return_address));
   488     thread->set_is_method_handle_return(nm->is_method_handle_return(return_address));
   489     // native nmethods don't have exception handlers
   489     // native nmethods don't have exception handlers
   490     assert(!nm->is_native_method(), "no exception handler");
   490     assert(!nm->is_native_method(), "no exception handler");
   503       return SharedRuntime::deopt_blob()->unpack_with_exception();
   503       return SharedRuntime::deopt_blob()->unpack_with_exception();
   504     } else {
   504     } else {
   505       return nm->exception_begin();
   505       return nm->exception_begin();
   506     }
   506     }
   507   }
   507   }
   508 
       
   509 #if INCLUDE_AOT
       
   510   if (UseAOT && blob->is_aot()) {
       
   511     // AOT Compiled code
       
   512     return AOTLoader::exception_begin(thread, blob, return_address);
       
   513   }
       
   514 #endif
       
   515 
   508 
   516   // Entry code
   509   // Entry code
   517   if (StubRoutines::returns_to_call_stub(return_address)) {
   510   if (StubRoutines::returns_to_call_stub(return_address)) {
   518     return StubRoutines::catch_exception_entry();
   511     return StubRoutines::catch_exception_entry();
   519   }
   512   }