diff -r 252d541466ea -r 3213ba4d3dff src/share/vm/opto/parse.hpp --- a/src/share/vm/opto/parse.hpp Fri Oct 18 12:15:32 2013 -0700 +++ b/src/share/vm/opto/parse.hpp Sat Oct 19 12:16:43 2013 +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); } + Parse* parent_parser() const { return _parent; } + private: // Create a JVMS & map for the initial state of this method. SafePointNode* create_entry_map();