equal
deleted
inserted
replaced
221 if (thread->is_in_usable_stack(addr)) { |
221 if (thread->is_in_usable_stack(addr)) { |
222 return *jcw; |
222 return *jcw; |
223 } |
223 } |
224 |
224 |
225 return NULL; |
225 return NULL; |
|
226 } |
|
227 |
|
228 bool frame::is_entry_frame_valid(JavaThread* thread) const { |
|
229 // Validate the JavaCallWrapper an entry frame must have |
|
230 address jcw = (address)entry_frame_call_wrapper(); |
|
231 bool jcw_safe = (jcw < thread->stack_base()) && (jcw > (address)fp()); // less than stack base |
|
232 if (!jcw_safe) { |
|
233 return false; |
|
234 } |
|
235 |
|
236 // Validate sp saved in the java frame anchor |
|
237 JavaFrameAnchor* jfa = entry_frame_call_wrapper()->anchor(); |
|
238 return (jfa->last_Java_sp() > sp()); |
226 } |
239 } |
227 |
240 |
228 bool frame::should_be_deoptimized() const { |
241 bool frame::should_be_deoptimized() const { |
229 if (_deopt_state == is_deoptimized || |
242 if (_deopt_state == is_deoptimized || |
230 !is_compiled_frame() ) return false; |
243 !is_compiled_frame() ) return false; |