diff -r b6c370a546fc -r a52d1e719c4d hotspot/src/cpu/x86/vm/frame_x86.cpp --- a/hotspot/src/cpu/x86/vm/frame_x86.cpp Tue Aug 02 20:55:27 2016 -0700 +++ b/hotspot/src/cpu/x86/vm/frame_x86.cpp Wed Aug 03 09:40:21 2016 -0400 @@ -108,17 +108,7 @@ // Entry frame checks 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 fp_safe && is_entry_frame_valid(thread); } intptr_t* sender_sp = NULL; @@ -209,15 +199,8 @@ } // 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.is_entry_frame_valid(thread); } CompiledMethod* nm = sender_blob->as_compiled_method_or_null();