< prev index next >

src/hotspot/share/gc/shared/c2/barrierSetC2.cpp

Print this page
rev 50535 : [mq]: rename_IN_ROOT
rev 50536 : [mq]: rename_on_root
rev 50537 : [mq]: rename_on_heap

*** 39,49 **** bool C2Access::needs_cpu_membar() const { bool mismatched = (_decorators & C2_MISMATCHED) != 0; bool is_unordered = (_decorators & MO_UNORDERED) != 0; bool anonymous = (_decorators & C2_UNSAFE_ACCESS) != 0; ! bool on_heap = (_decorators & IN_HEAP) != 0; bool is_write = (_decorators & C2_WRITE_ACCESS) != 0; bool is_read = (_decorators & C2_READ_ACCESS) != 0; bool is_atomic = is_read && is_write; --- 39,49 ---- bool C2Access::needs_cpu_membar() const { bool mismatched = (_decorators & C2_MISMATCHED) != 0; bool is_unordered = (_decorators & MO_UNORDERED) != 0; bool anonymous = (_decorators & C2_UNSAFE_ACCESS) != 0; ! bool in_heap = (_decorators & IN_HEAP) != 0; bool is_write = (_decorators & C2_WRITE_ACCESS) != 0; bool is_read = (_decorators & C2_READ_ACCESS) != 0; bool is_atomic = is_read && is_write;
*** 56,66 **** // We will need memory barriers unless we can determine a unique // alias category for this reference. (Note: If for some reason // the barriers get omitted and the unsafe reference begins to "pollute" // the alias analysis of the rest of the graph, either Compile::can_alias // or Compile::must_alias will throw a diagnostic assert.) ! if (!on_heap || !is_unordered || (mismatched && !_addr.type()->isa_aryptr())) { return true; } } return false; --- 56,66 ---- // We will need memory barriers unless we can determine a unique // alias category for this reference. (Note: If for some reason // the barriers get omitted and the unsafe reference begins to "pollute" // the alias analysis of the rest of the graph, either Compile::can_alias // or Compile::must_alias will throw a diagnostic assert.) ! if (!in_heap || !is_unordered || (mismatched && !_addr.type()->isa_aryptr())) { return true; } } return false;
*** 72,83 **** bool mismatched = (decorators & C2_MISMATCHED) != 0; bool unaligned = (decorators & C2_UNALIGNED) != 0; bool requires_atomic_access = (decorators & MO_UNORDERED) == 0; ! bool in_root = (decorators & IN_ROOT) != 0; ! assert(!in_root, "not supported yet"); if (access.type() == T_DOUBLE) { Node* new_val = kit->dstore_rounding(val.node()); val.set_node(new_val); } --- 72,83 ---- bool mismatched = (decorators & C2_MISMATCHED) != 0; bool unaligned = (decorators & C2_UNALIGNED) != 0; bool requires_atomic_access = (decorators & MO_UNORDERED) == 0; ! bool in_native = (decorators & IN_NATIVE) != 0; ! assert(!in_native, "not supported yet"); if (access.type() == T_DOUBLE) { Node* new_val = kit->dstore_rounding(val.node()); val.set_node(new_val); }
*** 101,112 **** bool requires_atomic_access = (decorators & MO_UNORDERED) == 0; bool unaligned = (decorators & C2_UNALIGNED) != 0; bool control_dependent = (decorators & C2_CONTROL_DEPENDENT_LOAD) != 0; bool pinned = (decorators & C2_PINNED_LOAD) != 0; ! bool in_root = (decorators & IN_ROOT) != 0; ! assert(!in_root, "not supported yet"); MemNode::MemOrd mo = access.mem_node_mo(); LoadNode::ControlDependency dep = pinned ? LoadNode::Pinned : LoadNode::DependsOnlyOnTest; Node* control = control_dependent ? kit->control() : NULL; --- 101,112 ---- bool requires_atomic_access = (decorators & MO_UNORDERED) == 0; bool unaligned = (decorators & C2_UNALIGNED) != 0; bool control_dependent = (decorators & C2_CONTROL_DEPENDENT_LOAD) != 0; bool pinned = (decorators & C2_PINNED_LOAD) != 0; ! bool in_native = (decorators & IN_NATIVE) != 0; ! assert(!in_native, "not supported yet"); MemNode::MemOrd mo = access.mem_node_mo(); LoadNode::ControlDependency dep = pinned ? LoadNode::Pinned : LoadNode::DependsOnlyOnTest; Node* control = control_dependent ? kit->control() : NULL;
< prev index next >