open Udiff src/hotspot/share/runtime/vframe.hpp (original) (raw)

< prev index next >

Print this page


@@ -28,11 +28,10 @@ #include "code/debugInfo.hpp" #include "code/debugInfoRec.hpp" #include "code/location.hpp" #include "oops/oop.hpp" #include "runtime/frame.hpp" -#include "runtime/frame.inline.hpp" #include "runtime/stackValue.hpp" #include "runtime/stackValueCollection.hpp" #include "utilities/growableArray.hpp"

// vframes are virtual stack frames representing source level activations.


@@ -305,40 +304,30 @@ DEBUG_ONLY(void found_bad_method_frame() const;) public: // Constructor - vframeStreamCommon(JavaThread* thread) : _reg_map(thread, false) { - _thread = thread; - } + vframeStreamCommon(JavaThread* thread); // Accessors Method* method() const { return _method; } int bci() const { return _bci; } - intptr_t* frame_id() const { return _frame.id(); } + intptr_t* frame_id() const; address frame_pc() const { return _frame.pc(); } CodeBlob* cb() const { return _frame.cb(); } CompiledMethod* nm() const { assert( cb() != NULL && cb()->is_compiled(), "usage"); return (CompiledMethod*) cb(); } // Frame type - bool is_interpreted_frame() const { return _frame.is_interpreted_frame(); } - bool is_entry_frame() const { return _frame.is_entry_frame(); } + bool is_interpreted_frame() const; + bool is_entry_frame() const; // Iteration - void next() { - // handle frames with inlining - if (_mode == compiled_mode && fill_in_compiled_inlined_sender()) return;


@@ -351,184 +340,12 @@ }; class vframeStream : public vframeStreamCommon { public: // Constructors - vframeStream(JavaThread* thread, bool stop_at_java_call_stub = false) - : vframeStreamCommon(thread) { - _stop_at_java_call_stub = stop_at_java_call_stub;

};

-inline bool vframeStreamCommon::fill_in_compiled_inlined_sender() { - if (_sender_decode_offset == DebugInformationRecorder::serialized_null) { - return false; - } - fill_from_compiled_frame(_sender_decode_offset); - return true; -}

-#ifdef ASSERT - if (WizardMode) { - ttyLocker ttyl; - tty->print_cr("Error in fill_from_frame: pc_desc for " - INTPTR_FORMAT " not found or invalid at %d", - p2i(_frame.pc()), decode_offset); - nm()->print(); - nm()->method()->print_codes(); - nm()->print_code(); - nm()->print_pcs(); - } - found_bad_method_frame(); -#endif - // Provide a cheap fallback in product mode. (See comment above.) - fill_from_compiled_native_frame(); - return; - }

< prev index next >