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)); }
212
213 // Memory operations
214
215 // This is the base version which is given an alias index.
216 Node* load(Node* ctl,
217 Node* adr,
218 const Type* t,
219 BasicType bt,
220 int adr_idx,
221 bool require_atomic_access = false);
222
223 // Return the new StoreXNode
224 Node* store(Node* ctl,
225 Node* adr,
226 Node* val,
227 BasicType bt,
228 int adr_idx,
229 bool require_atomic_access = false);
230
231 // Store a card mark ordered after store_oop
232 Node* storeCM(Node* ctl,
233 Node* adr,
234 Node* val,
235 Node* oop_store,
236 int oop_adr_idx,
237 BasicType bt,
238 int adr_idx);
239
240 // Trivial call
241 void make_leaf_call(const TypeFunc *slow_call_type,
242 address slow_call,
243 const char *leaf_name,
244 Node* parm0,
245 Node* parm1 = NULL,
246 Node* parm2 = NULL,
247 Node* parm3 = NULL);
248
249 void make_leaf_call_no_fp(const TypeFunc *slow_call_type,
|
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)); }
212
213 // Memory operations
214
215 // This is the base version which is given an alias index.
216 Node* load(Node* ctl,
217 Node* adr,
218 const Type* t,
219 BasicType bt,
220 int adr_idx,
221 bool require_atomic_access = false);
222
223 // Return the new StoreXNode
224 Node* store(Node* ctl,
225 Node* adr,
226 Node* val,
227 BasicType bt,
228 int adr_idx,
229 bool require_atomic_access,
230 StoreNode::Sem sem);
231
232 // Store a card mark ordered after store_oop
233 Node* storeCM(Node* ctl,
234 Node* adr,
235 Node* val,
236 Node* oop_store,
237 int oop_adr_idx,
238 BasicType bt,
239 int adr_idx);
240
241 // Trivial call
242 void make_leaf_call(const TypeFunc *slow_call_type,
243 address slow_call,
244 const char *leaf_name,
245 Node* parm0,
246 Node* parm1 = NULL,
247 Node* parm2 = NULL,
248 Node* parm3 = NULL);
249
250 void make_leaf_call_no_fp(const TypeFunc *slow_call_type,
|