--- old/hotspot/src/share/vm/prims/jvm.cpp 2016-11-03 11:13:57.000000000 -0700 +++ new/hotspot/src/share/vm/prims/jvm.cpp 2016-11-03 11:13:57.000000000 -0700 @@ -503,16 +503,27 @@ JVM_END -JVM_ENTRY(void, JVM_GetStackTraceElements(JNIEnv *env, jobject throwable, jobjectArray stackTrace)) - JVMWrapper("JVM_GetStackTraceElements"); +// java.lang.StackTraceElement ////////////////////////////////////////////// + + +JVM_ENTRY(void, JVM_InitStackTraceElementArray(JNIEnv *env, jobjectArray elements, jobject throwable)) + JVMWrapper("JVM_InitStackTraceElementArray"); Handle exception(THREAD, JNIHandles::resolve(throwable)); - objArrayOop st = objArrayOop(JNIHandles::resolve(stackTrace)); + objArrayOop st = objArrayOop(JNIHandles::resolve(elements)); objArrayHandle stack_trace(THREAD, st); // Fill in the allocated stack trace java_lang_Throwable::get_stack_trace_elements(exception, stack_trace, CHECK); JVM_END +JVM_ENTRY(void, JVM_InitStackTraceElement(JNIEnv* env, jobject element, jobject stackFrameInfo)) + JVMWrapper("JVM_InitStackTraceElement"); + Handle stack_frame_info(THREAD, JNIHandles::resolve_non_null(stackFrameInfo)); + Handle stack_trace_element(THREAD, JNIHandles::resolve_non_null(element)); + java_lang_StackFrameInfo::to_stack_trace_element(stack_frame_info, stack_trace_element, THREAD); +JVM_END + + // java.lang.StackWalker ////////////////////////////////////////////////////// @@ -566,13 +577,6 @@ start_index, frames_array_h, THREAD); JVM_END -JVM_ENTRY(void, JVM_ToStackTraceElement(JNIEnv *env, jobject frame, jobject stack)) - JVMWrapper("JVM_ToStackTraceElement"); - Handle stack_frame_info(THREAD, JNIHandles::resolve_non_null(frame)); - Handle stack_trace_element(THREAD, JNIHandles::resolve_non_null(stack)); - java_lang_StackFrameInfo::to_stack_trace_element(stack_frame_info, stack_trace_element, THREAD); -JVM_END - // java.lang.Object ///////////////////////////////////////////////