comparison src/share/vm/opto/idealKit.hpp @ 6804:e626685e9f6c

7193318: C2: remove number of inputs requirement from Node's new operator Summary: Deleted placement new operator of Node - node(size_t, Compile *, int). Reviewed-by: kvn, twisti Contributed-by: bharadwaj.yadavalli@oracle.com
author kvn
date Thu, 27 Sep 2012 09:38:42 -0700
parents 6c97c830fb6f
children b9a9ed0f8eeb
comparison
equal deleted inserted replaced
6803:06f52c4d0e18 6804:e626685e9f6c
173 void bind(Node* lab); 173 void bind(Node* lab);
174 void goto_(Node* lab, bool bind = false); 174 void goto_(Node* lab, bool bind = false);
175 void declarations_done(); 175 void declarations_done();
176 void drain_delay_transform(); 176 void drain_delay_transform();
177 177
178 Node* IfTrue(IfNode* iff) { return transform(new (C,1) IfTrueNode(iff)); } 178 Node* IfTrue(IfNode* iff) { return transform(new (C) IfTrueNode(iff)); }
179 Node* IfFalse(IfNode* iff) { return transform(new (C,1) IfFalseNode(iff)); } 179 Node* IfFalse(IfNode* iff) { return transform(new (C) IfFalseNode(iff)); }
180 180
181 // Data 181 // Data
182 Node* ConI(jint k) { return (Node*)gvn().intcon(k); } 182 Node* ConI(jint k) { return (Node*)gvn().intcon(k); }
183 Node* makecon(const Type *t) const { return _gvn.makecon(t); } 183 Node* makecon(const Type *t) const { return _gvn.makecon(t); }
184 184
185 Node* AddI(Node* l, Node* r) { return transform(new (C,3) AddINode(l, r)); } 185 Node* AddI(Node* l, Node* r) { return transform(new (C) AddINode(l, r)); }
186 Node* SubI(Node* l, Node* r) { return transform(new (C,3) SubINode(l, r)); } 186 Node* SubI(Node* l, Node* r) { return transform(new (C) SubINode(l, r)); }
187 Node* AndI(Node* l, Node* r) { return transform(new (C,3) AndINode(l, r)); } 187 Node* AndI(Node* l, Node* r) { return transform(new (C) AndINode(l, r)); }
188 Node* MaxI(Node* l, Node* r) { return transform(new (C,3) MaxINode(l, r)); } 188 Node* MaxI(Node* l, Node* r) { return transform(new (C) MaxINode(l, r)); }
189 Node* LShiftI(Node* l, Node* r) { return transform(new (C,3) LShiftINode(l, r)); } 189 Node* LShiftI(Node* l, Node* r) { return transform(new (C) LShiftINode(l, r)); }
190 Node* CmpI(Node* l, Node* r) { return transform(new (C,3) CmpINode(l, r)); } 190 Node* CmpI(Node* l, Node* r) { return transform(new (C) CmpINode(l, r)); }
191 Node* Bool(Node* cmp, BoolTest::mask relop) { return transform(new (C,2) BoolNode(cmp, relop)); } 191 Node* Bool(Node* cmp, BoolTest::mask relop) { return transform(new (C) BoolNode(cmp, relop)); }
192 void increment(IdealVariable& v, Node* j) { set(v, AddI(value(v), j)); } 192 void increment(IdealVariable& v, Node* j) { set(v, AddI(value(v), j)); }
193 void decrement(IdealVariable& v, Node* j) { set(v, SubI(value(v), j)); } 193 void decrement(IdealVariable& v, Node* j) { set(v, SubI(value(v), j)); }
194 194
195 Node* CmpL(Node* l, Node* r) { return transform(new (C,3) CmpLNode(l, r)); } 195 Node* CmpL(Node* l, Node* r) { return transform(new (C) CmpLNode(l, r)); }
196 196
197 // TLS 197 // TLS
198 Node* thread() { return gvn().transform(new (C, 1) ThreadLocalNode()); } 198 Node* thread() { return gvn().transform(new (C) ThreadLocalNode()); }
199 199
200 // Pointers 200 // Pointers
201 Node* AddP(Node *base, Node *ptr, Node *off) { return transform(new (C,4) AddPNode(base, ptr, off)); } 201 Node* AddP(Node *base, Node *ptr, Node *off) { return transform(new (C) AddPNode(base, ptr, off)); }
202 Node* CmpP(Node* l, Node* r) { return transform(new (C,3) CmpPNode(l, r)); } 202 Node* CmpP(Node* l, Node* r) { return transform(new (C) CmpPNode(l, r)); }
203 #ifdef _LP64 203 #ifdef _LP64
204 Node* XorX(Node* l, Node* r) { return transform(new (C,3) XorLNode(l, r)); } 204 Node* XorX(Node* l, Node* r) { return transform(new (C) XorLNode(l, r)); }
205 #else // _LP64 205 #else // _LP64
206 Node* XorX(Node* l, Node* r) { return transform(new (C,3) XorINode(l, r)); } 206 Node* XorX(Node* l, Node* r) { return transform(new (C) XorINode(l, r)); }
207 #endif // _LP64 207 #endif // _LP64
208 Node* URShiftX(Node* l, Node* r) { return transform(new (C,3) URShiftXNode(l, r)); } 208 Node* URShiftX(Node* l, Node* r) { return transform(new (C) URShiftXNode(l, r)); }
209 Node* ConX(jint k) { return (Node*)gvn().MakeConX(k); } 209 Node* ConX(jint k) { return (Node*)gvn().MakeConX(k); }
210 Node* CastPX(Node* ctl, Node* p) { return transform(new (C,2) CastP2XNode(ctl, p)); } 210 Node* CastPX(Node* ctl, Node* p) { return transform(new (C) CastP2XNode(ctl, p)); }
211 // Add a fixed offset to a pointer 211 // Add a fixed offset to a pointer
212 Node* basic_plus_adr(Node* base, Node* ptr, intptr_t offset); 212 Node* basic_plus_adr(Node* base, Node* ptr, intptr_t offset);
213 213
214 // Memory operations 214 // Memory operations
215 215