< 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 >