hotspot/src/share/vm/runtime/frame.cpp
changeset 40332 a52d1e719c4d
parent 38144 0976c0c5c5d3
child 42040 70ec5a09a0d5
equal deleted inserted replaced
40331:b6c370a546fc 40332:a52d1e719c4d
   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;