hotspot/src/cpu/zero/vm/stack_zero.cpp
Print this page
*** 30,39 ****
--- 30,40 ----
JavaThread *thread = (JavaThread *) THREAD;
// Set up the frame anchor if it isn't already
bool has_last_Java_frame = thread->has_last_Java_frame();
if (!has_last_Java_frame) {
+ intptr_t *sp = thread->zero_stack()->sp();
ZeroFrame *frame = thread->top_zero_frame();
while (frame) {
if (frame->is_shark_frame())
break;
*** 42,58 ****
frame->as_interpreter_frame()->interpreter_state();
if (istate->self_link() == istate)
break;
}
frame = frame->next();
}
if (frame == NULL)
fatal("unrecoverable stack overflow");
! thread->set_last_Java_frame(frame);
}
// Throw the exception
switch (thread->thread_state()) {
case _thread_in_Java:
--- 43,60 ----
frame->as_interpreter_frame()->interpreter_state();
if (istate->self_link() == istate)
break;
}
+ sp = ((intptr_t *) frame) + 1;
frame = frame->next();
}
if (frame == NULL)
fatal("unrecoverable stack overflow");
! thread->set_last_Java_frame(frame, sp);
}
// Throw the exception
switch (thread->thread_state()) {
case _thread_in_Java: