Skip to content

Commit cda22e3

Browse files
committed
8254811: JDK-8254158 broke ppc64, s390 builds
Reviewed-by: stuefe, goetz
1 parent 8ef88e5 commit cda22e3

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/hotspot/os/posix/os_posix.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -965,8 +965,12 @@ bool os::Posix::handle_stack_overflow(JavaThread* thread, address addr, address
965965
if (activation.sp() != NULL) {
966966
overflow_state->disable_stack_reserved_zone();
967967
if (activation.is_interpreted_frame()) {
968-
overflow_state->set_reserved_stack_activation((address)(
969-
activation.fp() + frame::interpreter_frame_initial_sp_offset));
968+
overflow_state->set_reserved_stack_activation((address)(activation.fp()
969+
// Some platforms use frame pointers for interpreter frames, others use initial sp.
970+
#if !defined(PPC64) && !defined(S390)
971+
+ frame::interpreter_frame_initial_sp_offset
972+
#endif
973+
));
970974
} else {
971975
overflow_state->set_reserved_stack_activation((address)activation.unextended_sp());
972976
}

src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ frame os::fetch_compiled_frame_from_context(const void* ucVoid) {
146146
const ucontext_t* uc = (const ucontext_t*)ucVoid;
147147
intptr_t* sp = os::Aix::ucontext_get_sp(uc);
148148
address lr = ucontext_get_lr(uc);
149-
*fr = frame(sp, lr);
149+
return frame(sp, lr);
150150
}
151151

152152
frame os::get_sender_for_C_frame(frame* fr) {

0 commit comments

Comments
 (0)