< prev index next >
src/cpu/sparc/vm/frame_sparc.cpp
Print this page
*** 227,245 ****
// an entry frame must have a valid fp.
if (!fp_safe) {
return false;
}
!
! // Validate the JavaCallWrapper an entry frame must have
!
! address jcw = (address)entry_frame_call_wrapper();
!
! bool jcw_safe = (jcw <= thread->stack_base()) && ( jcw > _FP);
!
! return jcw_safe;
!
}
intptr_t* younger_sp = sp();
intptr_t* _SENDER_SP = sender_sp(); // sender is actually just _FP
bool adjusted_stack = is_interpreted_frame();
--- 227,237 ----
// an entry frame must have a valid fp.
if (!fp_safe) {
return false;
}
! return entry_frame_is_safe(thread);
}
intptr_t* younger_sp = sp();
intptr_t* _SENDER_SP = sender_sp(); // sender is actually just _FP
bool adjusted_stack = is_interpreted_frame();
*** 288,305 ****
// We should never be able to see an adapter if the current frame is something from code cache
if (sender_blob->is_adapter_blob()) {
return false;
}
! if( sender.is_entry_frame()) {
! // Validate the JavaCallWrapper an entry frame must have
!
! address jcw = (address)sender.entry_frame_call_wrapper();
!
! bool jcw_safe = (jcw <= thread->stack_base()) && ( jcw > sender_fp);
!
! return jcw_safe;
}
// If the frame size is 0 something (or less) is bad because every nmethod has a non-zero frame size
// because you must allocate window space
--- 280,291 ----
// We should never be able to see an adapter if the current frame is something from code cache
if (sender_blob->is_adapter_blob()) {
return false;
}
! if (sender.is_entry_frame()) {
! return sender.entry_frame_is_safe(thread);
}
// If the frame size is 0 something (or less) is bad because every nmethod has a non-zero frame size
// because you must allocate window space
< prev index next >