< prev index next >

src/cpu/x86/vm/frame_x86.cpp

Print this page

        

*** 109,126 **** 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; ! } intptr_t* sender_sp = NULL; intptr_t* sender_unextended_sp = NULL; address sender_pc = NULL; --- 109,119 ---- if (is_entry_frame()) { // an entry frame must have a valid fp. if (!fp_safe) return false; ! return entry_frame_is_safe(thread); } intptr_t* sender_sp = NULL; intptr_t* sender_unextended_sp = NULL; address sender_pc = NULL;
*** 207,225 **** 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; } 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) || --- 200,211 ---- if (!saved_fp_safe) { return false; } // construct the potential sender frame sender(sender_sp, sender_unextended_sp, saved_fp, sender_pc); ! 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 >