< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp

Print this page
rev 59534 : 8245961: Shenandoah: move some root marking to concurrent phase


  74 
  75   template<class T, UpdateRefsMode UPDATE_REFS, StringDedupMode STRING_DEDUP>
  76   static inline void mark_through_ref(T* p, ShenandoahHeap* heap, ShenandoahObjToScanQueue* q, ShenandoahMarkingContext* const mark_context);
  77 
  78   void mark_from_roots();
  79   void finish_mark_from_roots(bool full_gc);
  80 
  81   void mark_roots(ShenandoahPhaseTimings::Phase root_phase);
  82   void update_roots(ShenandoahPhaseTimings::Phase root_phase);
  83   void update_thread_roots(ShenandoahPhaseTimings::Phase root_phase);
  84 
  85 // ---------- Weak references
  86 //
  87 private:
  88   void weak_refs_work(bool full_gc);
  89   void weak_refs_work_doit(bool full_gc);
  90 
  91 public:
  92   void preclean_weak_refs();
  93 
  94 // ---------- Concurrent code cache
  95 //
  96 private:
  97   ShenandoahSharedFlag _claimed_codecache;
  98 
  99 public:
 100   void concurrent_scan_code_roots(uint worker_id, ReferenceProcessor* rp);
 101   bool claim_codecache();
 102   void clear_claim_codecache();
 103 
 104 // ---------- Helpers
 105 // Used from closures, need to be public
 106 //
 107 public:
 108   ShenandoahObjToScanQueue* get_queue(uint worker_id);
 109   ShenandoahObjToScanQueueSet* task_queues() { return _task_queues; }
 110 
 111 };
 112 
 113 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP


  74 
  75   template<class T, UpdateRefsMode UPDATE_REFS, StringDedupMode STRING_DEDUP>
  76   static inline void mark_through_ref(T* p, ShenandoahHeap* heap, ShenandoahObjToScanQueue* q, ShenandoahMarkingContext* const mark_context);
  77 
  78   void mark_from_roots();
  79   void finish_mark_from_roots(bool full_gc);
  80 
  81   void mark_roots(ShenandoahPhaseTimings::Phase root_phase);
  82   void update_roots(ShenandoahPhaseTimings::Phase root_phase);
  83   void update_thread_roots(ShenandoahPhaseTimings::Phase root_phase);
  84 
  85 // ---------- Weak references
  86 //
  87 private:
  88   void weak_refs_work(bool full_gc);
  89   void weak_refs_work_doit(bool full_gc);
  90 
  91 public:
  92   void preclean_weak_refs();
  93 










  94 // ---------- Helpers
  95 // Used from closures, need to be public
  96 //
  97 public:
  98   ShenandoahObjToScanQueue* get_queue(uint worker_id);
  99   ShenandoahObjToScanQueueSet* task_queues() { return _task_queues; }
 100 
 101 };
 102 
 103 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
< prev index next >