src/share/vm/utilities/exceptions.cpp

changeset 2804
01147d8aac1d
parent 2708
1d1603768966
child 3156
f08d439fab8c
     1.1 --- a/src/share/vm/utilities/exceptions.cpp	Sat Apr 23 00:33:38 2011 -0400
     1.2 +++ b/src/share/vm/utilities/exceptions.cpp	Tue Apr 26 14:04:43 2011 -0400
     1.3 @@ -207,7 +207,7 @@
     1.4  }
     1.5  
     1.6  
     1.7 -void Exceptions::throw_stack_overflow_exception(Thread* THREAD, const char* file, int line) {
     1.8 +void Exceptions::throw_stack_overflow_exception(Thread* THREAD, const char* file, int line, methodHandle method) {
     1.9    Handle exception;
    1.10    if (!THREAD->has_pending_exception()) {
    1.11      klassOop k = SystemDictionary::StackOverflowError_klass();
    1.12 @@ -215,13 +215,13 @@
    1.13      exception = Handle(THREAD, e);  // fill_in_stack trace does gc
    1.14      assert(instanceKlass::cast(k)->is_initialized(), "need to increase min_stack_allowed calculation");
    1.15      if (StackTraceInThrowable) {
    1.16 -      java_lang_Throwable::fill_in_stack_trace(exception);
    1.17 +      java_lang_Throwable::fill_in_stack_trace(exception, method());
    1.18      }
    1.19    } else {
    1.20      // if prior exception, throw that one instead
    1.21      exception = Handle(THREAD, THREAD->pending_exception());
    1.22    }
    1.23 -  _throw_oop(THREAD, file, line, exception());
    1.24 +  _throw(THREAD, file, line, exception);
    1.25  }
    1.26  
    1.27  void Exceptions::fthrow(Thread* thread, const char* file, int line, Symbol* h_name, const char* format, ...) {

mercurial