equal
deleted
inserted
replaced
1326 Node* mem = memory(adr_idx); |
1326 Node* mem = memory(adr_idx); |
1327 Node* ld; |
1327 Node* ld; |
1328 if (require_atomic_access && bt == T_LONG) { |
1328 if (require_atomic_access && bt == T_LONG) { |
1329 ld = LoadLNode::make_atomic(C, ctl, mem, adr, adr_type, t); |
1329 ld = LoadLNode::make_atomic(C, ctl, mem, adr, adr_type, t); |
1330 } else { |
1330 } else { |
1331 ld = LoadNode::make(C, ctl, mem, adr, adr_type, t, bt); |
1331 ld = LoadNode::make(_gvn, ctl, mem, adr, adr_type, t, bt); |
1332 } |
1332 } |
1333 return _gvn.transform(ld); |
1333 return _gvn.transform(ld); |
1334 } |
1334 } |
1335 |
1335 |
1336 Node* GraphKit::store_to_memory(Node* ctl, Node* adr, Node *val, BasicType bt, |
1336 Node* GraphKit::store_to_memory(Node* ctl, Node* adr, Node *val, BasicType bt, |
1342 Node *mem = memory(adr_idx); |
1342 Node *mem = memory(adr_idx); |
1343 Node* st; |
1343 Node* st; |
1344 if (require_atomic_access && bt == T_LONG) { |
1344 if (require_atomic_access && bt == T_LONG) { |
1345 st = StoreLNode::make_atomic(C, ctl, mem, adr, adr_type, val); |
1345 st = StoreLNode::make_atomic(C, ctl, mem, adr, adr_type, val); |
1346 } else { |
1346 } else { |
1347 st = StoreNode::make(C, ctl, mem, adr, adr_type, val, bt); |
1347 st = StoreNode::make(_gvn, ctl, mem, adr, adr_type, val, bt); |
1348 } |
1348 } |
1349 st = _gvn.transform(st); |
1349 st = _gvn.transform(st); |
1350 set_memory(st, adr_idx); |
1350 set_memory(st, adr_idx); |
1351 // Back-to-back stores can only remove intermediate store with DU info |
1351 // Back-to-back stores can only remove intermediate store with DU info |
1352 // so push on worklist for optimizer. |
1352 // so push on worklist for optimizer. |