220 void Exceptions::_throw_cause(Thread* thread, const char* file, int line, Symbol* name, Handle h_cause) { |
220 void Exceptions::_throw_cause(Thread* thread, const char* file, int line, Symbol* name, Handle h_cause) { |
221 _throw_cause(thread, file, line, name, h_cause, Handle(thread, NULL), Handle(thread, NULL)); |
221 _throw_cause(thread, file, line, name, h_cause, Handle(thread, NULL), Handle(thread, NULL)); |
222 } |
222 } |
223 |
223 |
224 |
224 |
225 void Exceptions::throw_stack_overflow_exception(Thread* THREAD, const char* file, int line, methodHandle method) { |
225 void Exceptions::throw_stack_overflow_exception(Thread* THREAD, const char* file, int line, const methodHandle& method) { |
226 Handle exception; |
226 Handle exception; |
227 if (!THREAD->has_pending_exception()) { |
227 if (!THREAD->has_pending_exception()) { |
228 Klass* k = SystemDictionary::StackOverflowError_klass(); |
228 Klass* k = SystemDictionary::StackOverflowError_klass(); |
229 oop e = InstanceKlass::cast(k)->allocate_instance(CHECK); |
229 oop e = InstanceKlass::cast(k)->allocate_instance(CHECK); |
230 exception = Handle(THREAD, e); // fill_in_stack trace does gc |
230 exception = Handle(THREAD, e); // fill_in_stack trace does gc |