--- old/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp 2019-06-11 16:50:00.000000000 +0200 +++ new/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp 2019-06-11 16:49:54.000000000 +0200 @@ -41,6 +41,10 @@ PhaseGVN& C2ParseAccess::gvn() const { return _kit->gvn(); } +Node* C2ParseAccess::control() const { + return _ctl == NULL ? _kit->control() : _ctl; +} + bool C2Access::needs_cpu_membar() const { bool mismatched = (_decorators & C2_MISMATCHED) != 0; bool is_unordered = (_decorators & MO_UNORDERED) != 0; @@ -144,7 +148,7 @@ if (access.is_parse_access()) { C2ParseAccess& parse_access = static_cast(access); GraphKit* kit = parse_access.kit(); - Node* control = control_dependent ? kit->control() : NULL; + Node* control = control_dependent ? parse_access.control() : NULL; if (in_native) { load = kit->make_load(control, adr, val_type, access.type(), mo);