< prev index next >

src/share/vm/opto/parse.hpp

Print this page
rev 5783 : 8024069: replace_in_map() should operate on parent maps
Summary: type information gets lost because replace_in_map() doesn't update parent maps
Reviewed-by: kvn, twisti
rev 5784 : 8026796: Make replace_in_map() on parent maps generic
Summary: propagate node replacements along control flow edges to callers
Reviewed-by: kvn, vlivanov

*** 346,362 **** #ifndef PRODUCT int _max_switch_depth; // Debugging SwitchRanges. int _est_switch_depth; // Debugging SwitchRanges. #endif public: // Constructor Parse(JVMState* caller, ciMethod* parse_method, float expected_uses); virtual Parse* is_Parse() const { return (Parse*)this; } - public: // Accessors. JVMState* caller() const { return _caller; } float expected_uses() const { return _expected_uses; } float prof_factor() const { return _prof_factor; } int depth() const { return _depth; } --- 346,365 ---- #ifndef PRODUCT int _max_switch_depth; // Debugging SwitchRanges. int _est_switch_depth; // Debugging SwitchRanges. #endif + bool _first_return; // true if return is the first to be parsed + bool _replaced_nodes_for_exceptions; // needs processing of replaced nodes in exception paths? + uint _new_idx; // any node with _idx above were new during this parsing. Used to trim the replaced nodes list. + public: // Constructor Parse(JVMState* caller, ciMethod* parse_method, float expected_uses); virtual Parse* is_Parse() const { return (Parse*)this; } // Accessors. JVMState* caller() const { return _caller; } float expected_uses() const { return _expected_uses; } float prof_factor() const { return _prof_factor; } int depth() const { return _depth; }
< prev index next >