src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp
changeset 58273 08a5148e7c4e
parent 54110 f4f0dce5d0bb
equal deleted inserted replaced
58272:e27564cd10e3 58273:08a5148e7c4e
     1 /*
     1 /*
     2  * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   116   __ popa();
   116   __ popa();
   117 }
   117 }
   118 
   118 
   119 void G1BarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
   119 void G1BarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
   120                                     Register dst, Address src, Register tmp1, Register tmp_thread) {
   120                                     Register dst, Address src, Register tmp1, Register tmp_thread) {
   121   bool on_oop = type == T_OBJECT || type == T_ARRAY;
   121   bool on_oop = is_reference_type(type);
   122   bool on_weak = (decorators & ON_WEAK_OOP_REF) != 0;
   122   bool on_weak = (decorators & ON_WEAK_OOP_REF) != 0;
   123   bool on_phantom = (decorators & ON_PHANTOM_OOP_REF) != 0;
   123   bool on_phantom = (decorators & ON_PHANTOM_OOP_REF) != 0;
   124   bool on_reference = on_weak || on_phantom;
   124   bool on_reference = on_weak || on_phantom;
   125   ModRefBarrierSetAssembler::load_at(masm, decorators, type, dst, src, tmp1, tmp_thread);
   125   ModRefBarrierSetAssembler::load_at(masm, decorators, type, dst, src, tmp1, tmp_thread);
   126   if (on_oop && on_reference) {
   126   if (on_oop && on_reference) {