src/hotspot/share/interpreter/interpreterRuntime.cpp
changeset 54847 59ea39bb2809
parent 54786 ebf733a324d4
child 54973 0927d8c7296f
equal deleted inserted replaced
54846:e4049522b074 54847:59ea39bb2809
   415   THROW_HANDLE(exception);
   415   THROW_HANDLE(exception);
   416 JRT_END
   416 JRT_END
   417 
   417 
   418 JRT_ENTRY(void, InterpreterRuntime::create_exception(JavaThread* thread, char* name, char* message))
   418 JRT_ENTRY(void, InterpreterRuntime::create_exception(JavaThread* thread, char* name, char* message))
   419   // lookup exception klass
   419   // lookup exception klass
   420   TempNewSymbol s = SymbolTable::new_symbol(name, CHECK);
   420   TempNewSymbol s = SymbolTable::new_symbol(name);
   421   if (ProfileTraps) {
   421   if (ProfileTraps) {
   422     if (s == vmSymbols::java_lang_ArithmeticException()) {
   422     if (s == vmSymbols::java_lang_ArithmeticException()) {
   423       note_trap(thread, Deoptimization::Reason_div0_check, CHECK);
   423       note_trap(thread, Deoptimization::Reason_div0_check, CHECK);
   424     } else if (s == vmSymbols::java_lang_NullPointerException()) {
   424     } else if (s == vmSymbols::java_lang_NullPointerException()) {
   425       note_trap(thread, Deoptimization::Reason_null_check, CHECK);
   425       note_trap(thread, Deoptimization::Reason_null_check, CHECK);
   434 JRT_ENTRY(void, InterpreterRuntime::create_klass_exception(JavaThread* thread, char* name, oopDesc* obj))
   434 JRT_ENTRY(void, InterpreterRuntime::create_klass_exception(JavaThread* thread, char* name, oopDesc* obj))
   435   // Produce the error message first because note_trap can safepoint
   435   // Produce the error message first because note_trap can safepoint
   436   ResourceMark rm(thread);
   436   ResourceMark rm(thread);
   437   const char* klass_name = obj->klass()->external_name();
   437   const char* klass_name = obj->klass()->external_name();
   438   // lookup exception klass
   438   // lookup exception klass
   439   TempNewSymbol s = SymbolTable::new_symbol(name, CHECK);
   439   TempNewSymbol s = SymbolTable::new_symbol(name);
   440   if (ProfileTraps) {
   440   if (ProfileTraps) {
   441     note_trap(thread, Deoptimization::Reason_class_check, CHECK);
   441     note_trap(thread, Deoptimization::Reason_class_check, CHECK);
   442   }
   442   }
   443   // create exception, with klass name as detail message
   443   // create exception, with klass name as detail message
   444   Handle exception = Exceptions::new_exception(thread, s, klass_name);
   444   Handle exception = Exceptions::new_exception(thread, s, klass_name);