src/share/vm/runtime/vframe.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8004128_2 Sdiff src/share/vm/runtime

src/share/vm/runtime/vframe.hpp

Print this page




 494       } else {
 495         decode_offset = pc_desc->scope_decode_offset();
 496       }
 497       fill_from_compiled_frame(decode_offset);
 498     }
 499     return true;
 500   }
 501 
 502   // End of stack?
 503   if (_frame.is_first_frame() || (_stop_at_java_call_stub && _frame.is_entry_frame())) {
 504     _mode = at_end_mode;
 505     return true;
 506   }
 507 
 508   return false;
 509 }
 510 
 511 
 512 inline void vframeStreamCommon::fill_from_interpreter_frame() {
 513   Method* method = _frame.interpreter_frame_method();
 514   intptr_t  bcx    = _frame.interpreter_frame_bcx();
 515   int       bci    = method->validate_bci_from_bcx(bcx);
 516   // 6379830 AsyncGetCallTrace sometimes feeds us wild frames.
 517   if (bci < 0) {
 518     found_bad_method_frame();
 519     bci = 0;  // pretend it's on the point of entering
 520   }
 521   _mode   = interpreted_mode;
 522   _method = method;
 523   _bci    = bci;
 524 }
 525 
 526 #endif // SHARE_VM_RUNTIME_VFRAME_HPP


 494       } else {
 495         decode_offset = pc_desc->scope_decode_offset();
 496       }
 497       fill_from_compiled_frame(decode_offset);
 498     }
 499     return true;
 500   }
 501 
 502   // End of stack?
 503   if (_frame.is_first_frame() || (_stop_at_java_call_stub && _frame.is_entry_frame())) {
 504     _mode = at_end_mode;
 505     return true;
 506   }
 507 
 508   return false;
 509 }
 510 
 511 
 512 inline void vframeStreamCommon::fill_from_interpreter_frame() {
 513   Method* method = _frame.interpreter_frame_method();
 514   address   bcp    = _frame.interpreter_frame_bcp();
 515   int       bci    = method->validate_bci_from_bcp(bcp);
 516   // 6379830 AsyncGetCallTrace sometimes feeds us wild frames.
 517   if (bci < 0) {
 518     found_bad_method_frame();
 519     bci = 0;  // pretend it's on the point of entering
 520   }
 521   _mode   = interpreted_mode;
 522   _method = method;
 523   _bci    = bci;
 524 }
 525 
 526 #endif // SHARE_VM_RUNTIME_VFRAME_HPP
src/share/vm/runtime/vframe.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File