< prev index next >

src/hotspot/share/gc/parallel/psParallelCompact.hpp

Print this page




 917 class PSParallelCompact : AllStatic {
 918  public:
 919   // Convenient access to type names.
 920   typedef ParMarkBitMap::idx_t idx_t;
 921   typedef ParallelCompactData::RegionData RegionData;
 922   typedef ParallelCompactData::BlockData BlockData;
 923 
 924   typedef enum {
 925     old_space_id, eden_space_id,
 926     from_space_id, to_space_id, last_space_id
 927   } SpaceId;
 928 
 929  public:
 930   // Inline closure decls
 931   //
 932   class IsAliveClosure: public BoolObjectClosure {
 933    public:
 934     virtual bool do_object_b(oop p);
 935   };
 936 
 937   class AdjustPointerClosure: public ExtendedOopClosure {
 938    public:
 939     AdjustPointerClosure(ParCompactionManager* cm) {
 940       assert(cm != NULL, "associate ParCompactionManage should not be NULL");
 941       _cm = cm;
 942     }
 943     template <typename T> void do_oop_nv(T* p);
 944     virtual void do_oop(oop* p);
 945     virtual void do_oop(narrowOop* p);
 946 
 947     // This closure provides its own oop verification code.
 948     debug_only(virtual bool should_verify_oops() { return false; })
 949    private:
 950     ParCompactionManager* _cm;
 951   };
 952 
 953   friend class AdjustPointerClosure;
 954   friend class RefProcTaskProxy;
 955   friend class PSParallelCompactTest;
 956 
 957  private:
 958   static STWGCTimer           _gc_timer;
 959   static ParallelOldTracer    _gc_tracer;
 960   static elapsedTimer         _accumulated_time;
 961   static unsigned int         _total_invocations;
 962   static unsigned int         _maximum_compaction_gc_num;
 963   static jlong                _time_of_last_gc;   // ms




 917 class PSParallelCompact : AllStatic {
 918  public:
 919   // Convenient access to type names.
 920   typedef ParMarkBitMap::idx_t idx_t;
 921   typedef ParallelCompactData::RegionData RegionData;
 922   typedef ParallelCompactData::BlockData BlockData;
 923 
 924   typedef enum {
 925     old_space_id, eden_space_id,
 926     from_space_id, to_space_id, last_space_id
 927   } SpaceId;
 928 
 929  public:
 930   // Inline closure decls
 931   //
 932   class IsAliveClosure: public BoolObjectClosure {
 933    public:
 934     virtual bool do_object_b(oop p);
 935   };
 936 
 937   class AdjustPointerClosure: public BasicOopIterateClosure {
 938    public:
 939     AdjustPointerClosure(ParCompactionManager* cm) {
 940       assert(cm != NULL, "associate ParCompactionManage should not be NULL");
 941       _cm = cm;
 942     }
 943     template <typename T> void do_oop_work(T* p);
 944     virtual void do_oop(oop* p);
 945     virtual void do_oop(narrowOop* p);
 946 
 947     // This closure provides its own oop verification code.
 948     debug_only(virtual bool should_verify_oops() { return false; })
 949    private:
 950     ParCompactionManager* _cm;
 951   };
 952 
 953   friend class AdjustPointerClosure;
 954   friend class RefProcTaskProxy;
 955   friend class PSParallelCompactTest;
 956 
 957  private:
 958   static STWGCTimer           _gc_timer;
 959   static ParallelOldTracer    _gc_tracer;
 960   static elapsedTimer         _accumulated_time;
 961   static unsigned int         _total_invocations;
 962   static unsigned int         _maximum_compaction_gc_num;
 963   static jlong                _time_of_last_gc;   // ms


< prev index next >