src/hotspot/share/gc/z/zOopClosures.inline.hpp
changeset 50752 9d62da00bf15
parent 50525 767cdb97f103
child 51803 a16777c0a6c5
equal deleted inserted replaced
50751:d9132bdf6c30 50752:9d62da00bf15
    30 #include "gc/z/zOopClosures.hpp"
    30 #include "gc/z/zOopClosures.hpp"
    31 #include "oops/oop.inline.hpp"
    31 #include "oops/oop.inline.hpp"
    32 #include "runtime/atomic.hpp"
    32 #include "runtime/atomic.hpp"
    33 #include "utilities/debug.hpp"
    33 #include "utilities/debug.hpp"
    34 
    34 
    35 inline void ZLoadBarrierOopClosure::do_oop_nv(oop* p) {
    35 inline void ZLoadBarrierOopClosure::do_oop(oop* p) {
    36   ZBarrier::load_barrier_on_oop_field(p);
    36   ZBarrier::load_barrier_on_oop_field(p);
    37 }
    37 }
    38 
    38 
    39 inline void ZLoadBarrierOopClosure::do_oop_nv(narrowOop* p) {
    39 inline void ZLoadBarrierOopClosure::do_oop(narrowOop* p) {
    40   ShouldNotReachHere();
    40   ShouldNotReachHere();
    41 }
       
    42 
       
    43 inline void ZLoadBarrierOopClosure::do_oop(oop* p) {
       
    44   do_oop_nv(p);
       
    45 }
       
    46 
       
    47 inline void ZLoadBarrierOopClosure::do_oop(narrowOop* p) {
       
    48   do_oop_nv(p);
       
    49 }
    41 }
    50 
    42 
    51 inline void ZMarkRootOopClosure::do_oop(oop* p) {
    43 inline void ZMarkRootOopClosure::do_oop(oop* p) {
    52   ZBarrier::mark_barrier_on_root_oop_field(p);
    44   ZBarrier::mark_barrier_on_root_oop_field(p);
    53 }
    45 }
    64   ShouldNotReachHere();
    56   ShouldNotReachHere();
    65 }
    57 }
    66 
    58 
    67 template <bool finalizable>
    59 template <bool finalizable>
    68 inline ZMarkBarrierOopClosure<finalizable>::ZMarkBarrierOopClosure() :
    60 inline ZMarkBarrierOopClosure<finalizable>::ZMarkBarrierOopClosure() :
    69     ExtendedOopClosure(finalizable ? NULL : ZHeap::heap()->reference_discoverer()) {}
    61     BasicOopIterateClosure(finalizable ? NULL : ZHeap::heap()->reference_discoverer()) {}
    70 
    62 
    71 template <bool finalizable>
    63 template <bool finalizable>
    72 inline void ZMarkBarrierOopClosure<finalizable>::do_oop_nv(oop* p) {
    64 inline void ZMarkBarrierOopClosure<finalizable>::do_oop(oop* p) {
    73   ZBarrier::mark_barrier_on_oop_field(p, finalizable);
    65   ZBarrier::mark_barrier_on_oop_field(p, finalizable);
    74 }
    66 }
    75 
    67 
    76 template <bool finalizable>
    68 template <bool finalizable>
    77 inline void ZMarkBarrierOopClosure<finalizable>::do_oop_nv(narrowOop* p) {
    69 inline void ZMarkBarrierOopClosure<finalizable>::do_oop(narrowOop* p) {
    78   ShouldNotReachHere();
    70   ShouldNotReachHere();
    79 }
       
    80 
       
    81 template <bool finalizable>
       
    82 inline void ZMarkBarrierOopClosure<finalizable>::do_oop(oop* p) {
       
    83   do_oop_nv(p);
       
    84 }
       
    85 
       
    86 template <bool finalizable>
       
    87 inline void ZMarkBarrierOopClosure<finalizable>::do_oop(narrowOop* p) {
       
    88   do_oop_nv(p);
       
    89 }
    71 }
    90 
    72 
    91 inline bool ZPhantomIsAliveObjectClosure::do_object_b(oop o) {
    73 inline bool ZPhantomIsAliveObjectClosure::do_object_b(oop o) {
    92   return ZBarrier::is_alive_barrier_on_phantom_oop(o);
    74   return ZBarrier::is_alive_barrier_on_phantom_oop(o);
    93 }
    75 }