< prev index next >

src/hotspot/share/oops/instanceKlass.inline.hpp

Print this page
rev 47404 : [mq]: load_ptr_acquire
rev 47406 : [mq]: assembler_cmpxchg

*** 33,55 **** #include "utilities/debug.hpp" #include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" inline Klass* InstanceKlass::array_klasses_acquire() const { ! return (Klass*) OrderAccess::load_ptr_acquire(&_array_klasses); } inline void InstanceKlass::release_set_array_klasses(Klass* k) { ! OrderAccess::release_store_ptr(&_array_klasses, k); } inline jmethodID* InstanceKlass::methods_jmethod_ids_acquire() const { ! return (jmethodID*)OrderAccess::load_ptr_acquire(&_methods_jmethod_ids); } inline void InstanceKlass::release_set_methods_jmethod_ids(jmethodID* jmeths) { ! OrderAccess::release_store_ptr(&_methods_jmethod_ids, jmeths); } // The iteration over the oops in objects is a hot path in the GC code. // By force inlining the following functions, we get similar GC performance // as the previous macro based implementation. --- 33,55 ---- #include "utilities/debug.hpp" #include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" inline Klass* InstanceKlass::array_klasses_acquire() const { ! return OrderAccess::load_acquire(&_array_klasses); } inline void InstanceKlass::release_set_array_klasses(Klass* k) { ! OrderAccess::release_store(&_array_klasses, k); } inline jmethodID* InstanceKlass::methods_jmethod_ids_acquire() const { ! return OrderAccess::load_acquire(&_methods_jmethod_ids); } inline void InstanceKlass::release_set_methods_jmethod_ids(jmethodID* jmeths) { ! OrderAccess::release_store(&_methods_jmethod_ids, jmeths); } // The iteration over the oops in objects is a hot path in the GC code. // By force inlining the following functions, we get similar GC performance // as the previous macro based implementation.
< prev index next >