< prev index next >
src/os/posix/vm/os_posix.cpp
Print this page
@@ -79,10 +79,11 @@
toSkip++;
#endif
int frame_idx = 0;
int num_of_frames; // number of frames captured
+ Thread* thread = Thread::current();
frame fr = os::current_frame();
while (fr.pc() && frame_idx < frames) {
if (toSkip > 0) {
toSkip --;
} else {
@@ -90,11 +91,11 @@
}
if (fr.fp() == NULL || os::is_first_C_frame(&fr)
||fr.sender_pc() == NULL || fr.cb() != NULL) break;
if (fr.sender_pc() && !os::is_first_C_frame(&fr)) {
- fr = os::get_sender_for_C_frame(&fr);
+ fr = os::get_sender_for_C_frame(thread, &fr);
} else {
break;
}
}
num_of_frames = frame_idx;
< prev index next >