< prev index next >

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

include problems
 #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;
   }
 
-  oop heap_oop = RawAccess<MO_VOLATILE>::oop_load(field);
-  if (heap_oop != NULL) {
-    enqueue(heap_oop);
+  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) {
    
< prev index next >