Mercurial > hg > truffle
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 |