< prev index next >
src/hotspot/share/runtime/thread.cpp
Print this page
*** 3198,3208 ****
HandleMark hm;
RegisterMap reg_map(this);
vframe* start_vf = last_java_vframe(®_map);
int count = 0;
! for (vframe* f = start_vf; f; f = f->sender()) {
if (f->is_java_frame()) {
javaVFrame* jvf = javaVFrame::cast(f);
java_lang_Throwable::print_stack_element(st, jvf->method(), jvf->bci());
// Print out lock information
--- 3198,3208 ----
HandleMark hm;
RegisterMap reg_map(this);
vframe* start_vf = last_java_vframe(®_map);
int count = 0;
! for (vframe* f = start_vf; f != NULL; f = f->sender()) {
if (f->is_java_frame()) {
javaVFrame* jvf = javaVFrame::cast(f);
java_lang_Throwable::print_stack_element(st, jvf->method(), jvf->bci());
// Print out lock information
*** 3211,3223 ****
}
} else {
// Ignore non-Java frames
}
! // Bail-out case for too deep stacks
count++;
! if (MaxJavaStackTraceDepth == count) return;
}
}
// JVMTI PopFrame support
--- 3211,3223 ----
}
} else {
// Ignore non-Java frames
}
! // Bail-out case for too deep stacks if MaxJavaStackTraceDepth > 0
count++;
! if (MaxJavaStackTraceDepth > 0 && MaxJavaStackTraceDepth == count) return;
}
}
// JVMTI PopFrame support
< prev index next >