Lines Matching refs:Node
63 // Node* limit = ??
66 // Node* exit = make_label(1); // 1 goto
98 // are managed via a Node [in(1)..in(_var_ct)], and the predecessor
99 // control edges managed via a RegionNode. The in(0) of the Node
104 GrowableArray<Node*>* _pending_cvstates; // stack of cvstates
105 Node* _cvstate; // current cvstate (control, memory and variables)
108 Node* _initial_ctrl; // saves initial control until variables declared
109 Node* _initial_memory; // saves initial memory until variables declared
110 Node* _initial_i_o; // saves initial i_o until variables declared
114 Node* new_cvstate(); // Create a new cvstate
115 Node* cvstate() { return _cvstate; } // current cvstate
116 Node* copy_cvstate(); // copy current cvstate
118 void set_memory(Node* mem, uint alias_idx );
119 void do_memory_merge(Node* merging, Node* join);
120 void clear(Node* m); // clear a cvstate
122 Node* delay_transform(Node* n);
123 Node* transform(Node* n); // gvn.transform or skip it
124 Node* promote_to_phi(Node* n, Node* reg);// Promote "n" to a phi on region "reg"
125 bool was_promoted_to_phi(Node* n, Node* reg) {
142 Node* memory(uint alias_idx);
152 Node* ctrl() { return _cvstate->in(TypeFunc::Control); }
153 void set_ctrl(Node* ctrl) { _cvstate->set_req(TypeFunc::Control, ctrl); }
154 Node* top() { return C->top(); }
156 void set_all_memory(Node* mem) { _cvstate->set_req(TypeFunc::Memory, mem); }
157 Node* i_o() { return _cvstate->in(TypeFunc::I_O); }
158 void set_i_o(Node* c) { _cvstate->set_req(TypeFunc::I_O, c); }
159 void set(IdealVariable& v, Node* rhs) { _cvstate->set_req(first_var + v.id(), rhs); }
160 Node* value(IdealVariable& v) { return _cvstate->in(first_var + v.id()); }
161 void dead(IdealVariable& v) { set(v, (Node*)NULL); }
162 void if_then(Node* left, BoolTest::mask relop, Node* right,
167 void loop(GraphKit* gkit, int nargs, IdealVariable& iv, Node* init, BoolTest::mask cmp, Node* limit,
170 Node* make_label(int goto_ct);
171 void bind(Node* lab);
172 void goto_(Node* lab, bool bind = false);
175 Node* IfTrue(IfNode* iff) { return transform(new (C) IfTrueNode(iff)); }
176 Node* IfFalse(IfNode* iff) { return transform(new (C) IfFalseNode(iff)); }
179 Node* ConI(jint k) { return (Node*)gvn().intcon(k); }
180 Node* makecon(const Type *t) const { return _gvn.makecon(t); }
182 Node* AddI(Node* l, Node* r) { return transform(new (C) AddINode(l, r)); }
183 Node* SubI(Node* l, Node* r) { return transform(new (C) SubINode(l, r)); }
184 Node* AndI(Node* l, Node* r) { return transform(new (C) AndINode(l, r)); }
185 Node* MaxI(Node* l, Node* r) { return transform(new (C) MaxINode(l, r)); }
186 Node* LShiftI(Node* l, Node* r) { return transform(new (C) LShiftINode(l, r)); }
187 Node* CmpI(Node* l, Node* r) { return transform(new (C) CmpINode(l, r)); }
188 Node* Bool(Node* cmp, BoolTest::mask relop) { return transform(new (C) BoolNode(cmp, relop)); }
189 void increment(IdealVariable& v, Node* j) { set(v, AddI(value(v), j)); }
190 void decrement(IdealVariable& v, Node* j) { set(v, SubI(value(v), j)); }
192 Node* CmpL(Node* l, Node* r) { return transform(new (C) CmpLNode(l, r)); }
195 Node* thread() { return gvn().transform(new (C) ThreadLocalNode()); }
201 Node* AddP(Node *base, Node *ptr, Node *off) { return _gvn.transform(new (C) AddPNode(base, ptr, off)); }
203 Node* CmpP(Node* l, Node* r) { return transform(new (C) CmpPNode(l, r)); }
205 Node* XorX(Node* l, Node* r) { return transform(new (C) XorLNode(l, r)); }
207 Node* XorX(Node* l, Node* r) { return transform(new (C) XorINode(l, r)); }
209 Node* URShiftX(Node* l, Node* r) { return transform(new (C) URShiftXNode(l, r)); }
210 Node* ConX(jint k) { return (Node*)gvn().MakeConX(k); }
211 Node* CastPX(Node* ctl, Node* p) { return transform(new (C) CastP2XNode(ctl, p)); }
216 Node* load(Node* ctl,
217 Node* adr,
224 Node* store(Node* ctl,
225 Node* adr,
226 Node* val,
232 Node* storeCM(Node* ctl,
233 Node* adr,
234 Node* val,
235 Node* oop_store,
244 Node* parm0,
245 Node* parm1 = NULL,
246 Node* parm2 = NULL,
247 Node* parm3 = NULL);
253 Node* parm0,
254 Node* parm1,
255 Node* parm2,
256 Node* parm3);