--- old/src/share/vm/opto/parse.hpp 2013-10-12 23:25:20.066761207 +0200 +++ new/src/share/vm/opto/parse.hpp 2013-10-12 23:25:19.768896901 +0200 @@ -349,13 +349,15 @@ int _est_switch_depth; // Debugging SwitchRanges. #endif + // parser for the caller of the method of this object + Parse* const _parent; + public: // Constructor - Parse(JVMState* caller, ciMethod* parse_method, float expected_uses); + Parse(JVMState* caller, ciMethod* parse_method, float expected_uses, Parse* parent); virtual Parse* is_Parse() const { return (Parse*)this; } - public: // Accessors. JVMState* caller() const { return _caller; } float expected_uses() const { return _expected_uses; } @@ -407,6 +409,8 @@ return block()->successor_for_bci(bci); } + virtual Parse* parent_parser() const { return _parent; } + private: // Create a JVMS & map for the initial state of this method. SafePointNode* create_entry_map();