< prev index next >

src/cpu/x86/vm/frame_x86.cpp

Print this page

        

@@ -109,18 +109,11 @@
     if (is_entry_frame()) {
       // 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;
-
+      return entry_frame_is_safe(thread);
     }
 
     intptr_t* sender_sp = NULL;
     intptr_t* sender_unextended_sp = NULL;
     address   sender_pc = NULL;

@@ -207,19 +200,12 @@
       if (!saved_fp_safe) {
         return false;
       }
 
       // construct the potential sender
-
       frame sender(sender_sp, sender_unextended_sp, saved_fp, sender_pc);
-
-      // Validate the JavaCallWrapper an entry frame must have
-      address jcw = (address)sender.entry_frame_call_wrapper();
-
-      bool jcw_safe = (jcw < thread->stack_base()) && ( jcw > (address)sender.fp());
-
-      return jcw_safe;
+      return sender.entry_frame_is_safe(thread);
     }
 
     CompiledMethod* nm = sender_blob->as_compiled_method_or_null();
     if (nm != NULL) {
         if (nm->is_deopt_mh_entry(sender_pc) || nm->is_deopt_entry(sender_pc) ||
< prev index next >