8254811: JDK-8254158 broke ppc64, s390 builds

Reviewed-by: stuefe, goetz
This commit is contained in:
Martin Doerr 2020-10-15 14:16:20 +00:00
parent 8ef88e5905
commit cda22e3624
2 changed files with 7 additions and 3 deletions

View File

@ -965,8 +965,12 @@ bool os::Posix::handle_stack_overflow(JavaThread* thread, address addr, address
if (activation.sp() != NULL) {
overflow_state->disable_stack_reserved_zone();
if (activation.is_interpreted_frame()) {
overflow_state->set_reserved_stack_activation((address)(
activation.fp() + frame::interpreter_frame_initial_sp_offset));
overflow_state->set_reserved_stack_activation((address)(activation.fp()
// Some platforms use frame pointers for interpreter frames, others use initial sp.
#if !defined(PPC64) && !defined(S390)
+ frame::interpreter_frame_initial_sp_offset
#endif
));
} else {
overflow_state->set_reserved_stack_activation((address)activation.unextended_sp());
}

View File

@ -146,7 +146,7 @@ frame os::fetch_compiled_frame_from_context(const void* ucVoid) {
const ucontext_t* uc = (const ucontext_t*)ucVoid;
intptr_t* sp = os::Aix::ucontext_get_sp(uc);
address lr = ucontext_get_lr(uc);
*fr = frame(sp, lr);
return frame(sp, lr);
}
frame os::get_sender_for_C_frame(frame* fr) {