< 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 >