< prev index next >

src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp

Print this page

        

*** 26,47 **** #define SHARE_VM_GC_G1_G1BARRIERSET_INLINE_HPP #include "gc/g1/g1BarrierSet.hpp" #include "gc/g1/g1CardTable.hpp" #include "gc/shared/accessBarrierSupport.inline.hpp" ! #include "oops/oop.inline.hpp" template <DecoratorSet decorators, typename T> inline void G1BarrierSet::write_ref_field_pre(T* field) { if (HasDecorator<decorators, AS_DEST_NOT_INITIALIZED>::value || HasDecorator<decorators, AS_NO_KEEPALIVE>::value) { return; } T heap_oop = RawAccess<MO_VOLATILE>::oop_load(field); ! if (!oopDesc::is_null(heap_oop)) { ! enqueue(oopDesc::decode_heap_oop_not_null(heap_oop)); } } template <DecoratorSet decorators, typename T> inline void G1BarrierSet::write_ref_field_post(T* field, oop new_val) { --- 26,49 ---- #define SHARE_VM_GC_G1_G1BARRIERSET_INLINE_HPP #include "gc/g1/g1BarrierSet.hpp" #include "gc/g1/g1CardTable.hpp" #include "gc/shared/accessBarrierSupport.inline.hpp" ! #include "oops/access.inline.hpp" ! #include "oops/compressedOops.inline.hpp" ! #include "oops/oop.hpp" template <DecoratorSet decorators, typename T> inline void G1BarrierSet::write_ref_field_pre(T* field) { if (HasDecorator<decorators, AS_DEST_NOT_INITIALIZED>::value || HasDecorator<decorators, AS_NO_KEEPALIVE>::value) { return; } T heap_oop = RawAccess<MO_VOLATILE>::oop_load(field); ! if (!CompressedOops::is_null(heap_oop)) { ! enqueue(CompressedOops::decode_not_null(heap_oop)); } } template <DecoratorSet decorators, typename T> inline void G1BarrierSet::write_ref_field_post(T* field, oop new_val) {
< prev index next >