src/hotspot/share/oops/instanceKlass.inline.hpp
changeset 59247 56bf71d64d51
parent 53244 9807daeb47c4
child 59290 97d13893ec3c
equal deleted inserted replaced
59246:fcad92f425c5 59247:56bf71d64d51
    33 #include "utilities/debug.hpp"
    33 #include "utilities/debug.hpp"
    34 #include "utilities/globalDefinitions.hpp"
    34 #include "utilities/globalDefinitions.hpp"
    35 #include "utilities/macros.hpp"
    35 #include "utilities/macros.hpp"
    36 
    36 
    37 inline Klass* InstanceKlass::array_klasses_acquire() const {
    37 inline Klass* InstanceKlass::array_klasses_acquire() const {
    38   return OrderAccess::load_acquire(&_array_klasses);
    38   return Atomic::load_acquire(&_array_klasses);
    39 }
    39 }
    40 
    40 
    41 inline void InstanceKlass::release_set_array_klasses(Klass* k) {
    41 inline void InstanceKlass::release_set_array_klasses(Klass* k) {
    42   OrderAccess::release_store(&_array_klasses, k);
    42   Atomic::release_store(&_array_klasses, k);
    43 }
    43 }
    44 
    44 
    45 inline jmethodID* InstanceKlass::methods_jmethod_ids_acquire() const {
    45 inline jmethodID* InstanceKlass::methods_jmethod_ids_acquire() const {
    46   return OrderAccess::load_acquire(&_methods_jmethod_ids);
    46   return Atomic::load_acquire(&_methods_jmethod_ids);
    47 }
    47 }
    48 
    48 
    49 inline void InstanceKlass::release_set_methods_jmethod_ids(jmethodID* jmeths) {
    49 inline void InstanceKlass::release_set_methods_jmethod_ids(jmethodID* jmeths) {
    50   OrderAccess::release_store(&_methods_jmethod_ids, jmeths);
    50   Atomic::release_store(&_methods_jmethod_ids, jmeths);
    51 }
    51 }
    52 
    52 
    53 // The iteration over the oops in objects is a hot path in the GC code.
    53 // The iteration over the oops in objects is a hot path in the GC code.
    54 // By force inlining the following functions, we get similar GC performance
    54 // By force inlining the following functions, we get similar GC performance
    55 // as the previous macro based implementation.
    55 // as the previous macro based implementation.