equal
deleted
inserted
replaced
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); |