File tree Expand file tree Collapse file tree
src/hotspot/share/gc/z/c2 Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -194,11 +194,21 @@ int ZBarrierSetC2::estimate_stub_size() const {
194194
195195static void set_barrier_data (C2Access& access) {
196196 if (ZBarrierSet::barrier_needed (access.decorators (), access.type ())) {
197- if (access.decorators () & ON_WEAK_OOP_REF ) {
198- access.set_barrier_data (ZLoadBarrierWeak);
197+ uint8_t barrier_data = 0 ;
198+
199+ if (access.decorators () & ON_PHANTOM_OOP_REF ) {
200+ barrier_data |= ZLoadBarrierPhantom;
201+ } else if (access.decorators () & ON_WEAK_OOP_REF ) {
202+ barrier_data |= ZLoadBarrierWeak;
199203 } else {
200- access.set_barrier_data (ZLoadBarrierStrong);
204+ barrier_data |= ZLoadBarrierStrong;
205+ }
206+
207+ if (access.decorators () & AS_NO_KEEPALIVE ) {
208+ barrier_data |= ZLoadBarrierNoKeepalive;
201209 }
210+
211+ access.set_barrier_data (barrier_data);
202212 }
203213}
204214
You can’t perform that action at this time.
0 commit comments