diff -r 3dcc40f328ea -r cba615623d09 src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp --- a/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Wed Jul 03 23:34:20 2019 +0000 +++ b/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp Tue Jul 02 12:10:18 2019 +0200 @@ -128,14 +128,19 @@ } } -static bool load_require_barrier(LoadNode* load) { return ((load->barrier_data() & RequireBarrier) != 0); } -static bool load_has_weak_barrier(LoadNode* load) { return ((load->barrier_data() & WeakBarrier) != 0); } -static bool load_has_expanded_barrier(LoadNode* load) { return ((load->barrier_data() & ExpandedBarrier) != 0); } +const uint NoBarrier = 0; +const uint RequireBarrier = 1; +const uint WeakBarrier = 2; +const uint ExpandedBarrier = 4; + +static bool load_require_barrier(LoadNode* load) { return (load->barrier_data() & RequireBarrier) == RequireBarrier; } +static bool load_has_weak_barrier(LoadNode* load) { return (load->barrier_data() & WeakBarrier) == WeakBarrier; } +static bool load_has_expanded_barrier(LoadNode* load) { return (load->barrier_data() & ExpandedBarrier) == ExpandedBarrier; } static void load_set_expanded_barrier(LoadNode* load) { return load->set_barrier_data(ExpandedBarrier); } -static void load_set_barrier(LoadNode* load, bool weak) { +static void load_set_barrier(LoadNode* load, bool weak) { if (weak) { - load->set_barrier_data(WeakBarrier); + load->set_barrier_data(RequireBarrier | WeakBarrier); } else { load->set_barrier_data(RequireBarrier); }