Lines Matching refs:membar
2808 // The membar serves as a pinch point between both control and all memory slices.
2813 Node* membar = _gvn.transform(mb);
2814 set_control(_gvn.transform(new (C) ProjNode(membar, TypeFunc::Control)));
2815 set_all_memory_call(membar);
2816 return membar;
2821 // The membar serves as a pinch point between both control and memory(alias_idx).
2827 // The first membar is on the same memory slice as the field store opcode.
2828 // This forces the membar to follow the store. (Bug 6500685 broke this.)
2831 // on the first membar. This prevents later volatile loads or stores
2842 Node* membar = _gvn.transform(mb);
2843 set_control(_gvn.transform(new (C) ProjNode(membar, TypeFunc::Control)));
2845 merged_memory()->set_base_memory(_gvn.transform(new (C) ProjNode(membar, TypeFunc::Memory)));
2847 set_memory(_gvn.transform(new (C) ProjNode(membar, TypeFunc::Memory)),alias_idx);
2849 return membar;