1458 debug_only(adr_type = C->get_adr_type(adr_idx)); |
1458 debug_only(adr_type = C->get_adr_type(adr_idx)); |
1459 Node* mem = memory(adr_idx); |
1459 Node* mem = memory(adr_idx); |
1460 Node* ld; |
1460 Node* ld; |
1461 if (require_atomic_access && bt == T_LONG) { |
1461 if (require_atomic_access && bt == T_LONG) { |
1462 ld = LoadLNode::make_atomic(C, ctl, mem, adr, adr_type, t, mo); |
1462 ld = LoadLNode::make_atomic(C, ctl, mem, adr, adr_type, t, mo); |
|
1463 } else if (require_atomic_access && bt == T_DOUBLE) { |
|
1464 ld = LoadDNode::make_atomic(C, ctl, mem, adr, adr_type, t, mo); |
1463 } else { |
1465 } else { |
1464 ld = LoadNode::make(_gvn, ctl, mem, adr, adr_type, t, bt, mo); |
1466 ld = LoadNode::make(_gvn, ctl, mem, adr, adr_type, t, bt, mo); |
1465 } |
1467 } |
1466 ld = _gvn.transform(ld); |
1468 ld = _gvn.transform(ld); |
1467 if ((bt == T_OBJECT) && C->do_escape_analysis() || C->eliminate_boxing()) { |
1469 if ((bt == T_OBJECT) && C->do_escape_analysis() || C->eliminate_boxing()) { |
1480 debug_only(adr_type = C->get_adr_type(adr_idx)); |
1482 debug_only(adr_type = C->get_adr_type(adr_idx)); |
1481 Node *mem = memory(adr_idx); |
1483 Node *mem = memory(adr_idx); |
1482 Node* st; |
1484 Node* st; |
1483 if (require_atomic_access && bt == T_LONG) { |
1485 if (require_atomic_access && bt == T_LONG) { |
1484 st = StoreLNode::make_atomic(C, ctl, mem, adr, adr_type, val, mo); |
1486 st = StoreLNode::make_atomic(C, ctl, mem, adr, adr_type, val, mo); |
|
1487 } else if (require_atomic_access && bt == T_DOUBLE) { |
|
1488 st = StoreDNode::make_atomic(C, ctl, mem, adr, adr_type, val, mo); |
1485 } else { |
1489 } else { |
1486 st = StoreNode::make(_gvn, ctl, mem, adr, adr_type, val, bt, mo); |
1490 st = StoreNode::make(_gvn, ctl, mem, adr, adr_type, val, bt, mo); |
1487 } |
1491 } |
1488 st = _gvn.transform(st); |
1492 st = _gvn.transform(st); |
1489 set_memory(st, adr_idx); |
1493 set_memory(st, adr_idx); |