659 jushort** _liveness_cache;
660
661 public:
662 inline ShenandoahMarkingContext* complete_marking_context() const;
663 inline ShenandoahMarkingContext* marking_context() const;
664 inline void mark_complete_marking_context();
665 inline void mark_incomplete_marking_context();
666
667 template<class T>
668 inline void marked_object_iterate(ShenandoahHeapRegion* region, T* cl);
669
670 template<class T>
671 inline void marked_object_iterate(ShenandoahHeapRegion* region, T* cl, HeapWord* limit);
672
673 template<class T>
674 inline void marked_object_oop_iterate(ShenandoahHeapRegion* region, T* cl, HeapWord* limit);
675
676 void reset_mark_bitmap();
677
678 // SATB barriers hooks
679 inline bool requires_marking(const void* entry) const;
680 void force_satb_flush_all_threads();
681
682 // Support for bitmap uncommits
683 bool commit_bitmap_slice(ShenandoahHeapRegion *r);
684 bool uncommit_bitmap_slice(ShenandoahHeapRegion *r);
685 bool is_bitmap_slice_committed(ShenandoahHeapRegion* r, bool skip_self = false);
686
687 // Liveness caching support
688 jushort* get_liveness_cache(uint worker_id);
689 void flush_liveness_cache(uint worker_id);
690
691 // ---------- Evacuation support
692 //
693 private:
694 ShenandoahCollectionSet* _collection_set;
695 ShenandoahEvacOOMHandler _oom_evac_handler;
696
697 void evacuate_and_update_roots();
698
|
659 jushort** _liveness_cache;
660
661 public:
662 inline ShenandoahMarkingContext* complete_marking_context() const;
663 inline ShenandoahMarkingContext* marking_context() const;
664 inline void mark_complete_marking_context();
665 inline void mark_incomplete_marking_context();
666
667 template<class T>
668 inline void marked_object_iterate(ShenandoahHeapRegion* region, T* cl);
669
670 template<class T>
671 inline void marked_object_iterate(ShenandoahHeapRegion* region, T* cl, HeapWord* limit);
672
673 template<class T>
674 inline void marked_object_oop_iterate(ShenandoahHeapRegion* region, T* cl, HeapWord* limit);
675
676 void reset_mark_bitmap();
677
678 // SATB barriers hooks
679 template<bool RESOLVE>
680 inline bool requires_marking(const void* entry) const;
681 void force_satb_flush_all_threads();
682
683 // Support for bitmap uncommits
684 bool commit_bitmap_slice(ShenandoahHeapRegion *r);
685 bool uncommit_bitmap_slice(ShenandoahHeapRegion *r);
686 bool is_bitmap_slice_committed(ShenandoahHeapRegion* r, bool skip_self = false);
687
688 // Liveness caching support
689 jushort* get_liveness_cache(uint worker_id);
690 void flush_liveness_cache(uint worker_id);
691
692 // ---------- Evacuation support
693 //
694 private:
695 ShenandoahCollectionSet* _collection_set;
696 ShenandoahEvacOOMHandler _oom_evac_handler;
697
698 void evacuate_and_update_roots();
699
|