comparison src/share/vm/opto/cfgnode.hpp @ 7473:d092d1b31229

8005071: Incremental inlining for JSR 292 Summary: post parse inlining driven by number of live nodes. Reviewed-by: twisti, kvn, jrose
author roland
date Sun, 23 Dec 2012 17:08:22 +0100
parents c7b60b601eb4
children
comparison
equal deleted inserted replaced
7445:cd962e15c08e 7473:d092d1b31229
93 virtual const Type *bottom_type() const { return Type::CONTROL; } 93 virtual const Type *bottom_type() const { return Type::CONTROL; }
94 virtual const Type *Value( PhaseTransform *phase ) const; 94 virtual const Type *Value( PhaseTransform *phase ) const;
95 virtual Node *Identity( PhaseTransform *phase ); 95 virtual Node *Identity( PhaseTransform *phase );
96 virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); 96 virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
97 virtual const RegMask &out_RegMask() const; 97 virtual const RegMask &out_RegMask() const;
98 bool try_clean_mem_phi(PhaseGVN *phase);
98 }; 99 };
99 100
100 //------------------------------JProjNode-------------------------------------- 101 //------------------------------JProjNode--------------------------------------
101 // jump projection for node that produces multiple control-flow paths 102 // jump projection for node that produces multiple control-flow paths
102 class JProjNode : public ProjNode { 103 class JProjNode : public ProjNode {
179 // Check for a simple dead loop. 180 // Check for a simple dead loop.
180 enum LoopSafety { Safe = 0, Unsafe, UnsafeLoop }; 181 enum LoopSafety { Safe = 0, Unsafe, UnsafeLoop };
181 LoopSafety simple_data_loop_check(Node *in) const; 182 LoopSafety simple_data_loop_check(Node *in) const;
182 // Is it unsafe data loop? It becomes a dead loop if this phi node removed. 183 // Is it unsafe data loop? It becomes a dead loop if this phi node removed.
183 bool is_unsafe_data_reference(Node *in) const; 184 bool is_unsafe_data_reference(Node *in) const;
184 int is_diamond_phi() const; 185 int is_diamond_phi(bool check_control_only = false) const;
185 virtual int Opcode() const; 186 virtual int Opcode() const;
186 virtual bool pinned() const { return in(0) != 0; } 187 virtual bool pinned() const { return in(0) != 0; }
187 virtual const TypePtr *adr_type() const { verify_adr_type(true); return _adr_type; } 188 virtual const TypePtr *adr_type() const { verify_adr_type(true); return _adr_type; }
188 189
189 const int inst_id() const { return _inst_id; } 190 const int inst_id() const { return _inst_id; }