< prev index next >
src/share/vm/prims/jvm.cpp
Print this page
*** 512,534 ****
Handle exception(thread, JNIHandles::resolve_non_null(receiver));
java_lang_Throwable::fill_in_stack_trace(exception);
JVM_END
! JVM_ENTRY(jint, JVM_GetStackTraceDepth(JNIEnv *env, jobject throwable))
! JVMWrapper("JVM_GetStackTraceDepth");
! oop exception = JNIHandles::resolve(throwable);
! return java_lang_Throwable::get_stack_trace_depth(exception, THREAD);
! JVM_END
!
!
! JVM_ENTRY(jobject, JVM_GetStackTraceElement(JNIEnv *env, jobject throwable, jint index))
! JVMWrapper("JVM_GetStackTraceElement");
! JvmtiVMObjectAllocEventCollector oam; // This ctor (throughout this module) may trigger a safepoint/GC
! oop exception = JNIHandles::resolve(throwable);
! oop element = java_lang_Throwable::get_stack_trace_element(exception, index, CHECK_NULL);
! return JNIHandles::make_local(env, element);
JVM_END
// java.lang.StackWalker //////////////////////////////////////////////////////
--- 512,528 ----
Handle exception(thread, JNIHandles::resolve_non_null(receiver));
java_lang_Throwable::fill_in_stack_trace(exception);
JVM_END
! JVM_ENTRY(void, JVM_GetStackTraceElements(JNIEnv *env, jobject throwable, jobjectArray stackTrace))
! JVMWrapper("JVM_GetStackTraceElements");
! Handle exception(THREAD, JNIHandles::resolve(throwable));
! objArrayOop st = objArrayOop(JNIHandles::resolve(stackTrace));
! objArrayHandle stack_trace(THREAD, st);
! // Fill in the allocated stack trace
! java_lang_Throwable::get_stack_trace_elements(exception, stack_trace, CHECK);
JVM_END
// java.lang.StackWalker //////////////////////////////////////////////////////
< prev index next >