src/hotspot/share/gc/g1/heapRegion.cpp
changeset 50752 9d62da00bf15
parent 50429 83aec1d357d4
child 51332 c25572739e7c
equal deleted inserted replaced
50751:d9132bdf6c30 50752:9d62da00bf15
    35 #include "gc/g1/heapRegionTracer.hpp"
    35 #include "gc/g1/heapRegionTracer.hpp"
    36 #include "gc/shared/genOopClosures.inline.hpp"
    36 #include "gc/shared/genOopClosures.inline.hpp"
    37 #include "gc/shared/space.inline.hpp"
    37 #include "gc/shared/space.inline.hpp"
    38 #include "logging/log.hpp"
    38 #include "logging/log.hpp"
    39 #include "logging/logStream.hpp"
    39 #include "logging/logStream.hpp"
    40 #include "memory/iterator.hpp"
    40 #include "memory/iterator.inline.hpp"
    41 #include "memory/resourceArea.hpp"
    41 #include "memory/resourceArea.hpp"
    42 #include "oops/access.inline.hpp"
    42 #include "oops/access.inline.hpp"
    43 #include "oops/compressedOops.inline.hpp"
    43 #include "oops/compressedOops.inline.hpp"
    44 #include "oops/oop.inline.hpp"
    44 #include "oops/oop.inline.hpp"
    45 #include "runtime/atomic.hpp"
    45 #include "runtime/atomic.hpp"
   448   }
   448   }
   449   st->print_cr("|TAMS " PTR_FORMAT ", " PTR_FORMAT "| %s ",
   449   st->print_cr("|TAMS " PTR_FORMAT ", " PTR_FORMAT "| %s ",
   450                p2i(prev_top_at_mark_start()), p2i(next_top_at_mark_start()), rem_set()->get_state_str());
   450                p2i(prev_top_at_mark_start()), p2i(next_top_at_mark_start()), rem_set()->get_state_str());
   451 }
   451 }
   452 
   452 
   453 class G1VerificationClosure : public ExtendedOopClosure {
   453 class G1VerificationClosure : public BasicOopIterateClosure {
   454 protected:
   454 protected:
   455   G1CollectedHeap* _g1h;
   455   G1CollectedHeap* _g1h;
   456   G1CardTable *_ct;
   456   G1CardTable *_ct;
   457   oop _containing_obj;
   457   oop _containing_obj;
   458   bool _failures;
   458   bool _failures;
   606     }
   606     }
   607   }
   607   }
   608 };
   608 };
   609 
   609 
   610 // Closure that applies the given two closures in sequence.
   610 // Closure that applies the given two closures in sequence.
   611 class G1Mux2Closure : public ExtendedOopClosure {
   611 class G1Mux2Closure : public BasicOopIterateClosure {
   612   OopClosure* _c1;
   612   OopClosure* _c1;
   613   OopClosure* _c2;
   613   OopClosure* _c2;
   614 public:
   614 public:
   615   G1Mux2Closure(OopClosure *c1, OopClosure *c2) { _c1 = c1; _c2 = c2; }
   615   G1Mux2Closure(OopClosure *c1, OopClosure *c2) { _c1 = c1; _c2 = c2; }
   616   template <class T> inline void do_oop_work(T* p) {
   616   template <class T> inline void do_oop_work(T* p) {