600 size_t size,
601 Metaspace::MetadataType mdtype);
602
603 void notify_mutator_alloc_words(size_t words, bool waste);
604
605 // Shenandoah supports TLAB allocation
606 bool supports_tlab_allocation() const { return true; }
607
608 HeapWord* allocate_new_tlab(size_t min_size, size_t requested_size, size_t* actual_size);
609 size_t tlab_capacity(Thread *thr) const;
610 size_t unsafe_max_tlab_alloc(Thread *thread) const;
611 size_t max_tlab_size() const;
612 size_t tlab_used(Thread* ignored) const;
613
614 void ensure_parsability(bool retire_labs);
615
616 void labs_make_parsable();
617 void tlabs_retire(bool resize);
618 void gclabs_retire(bool resize);
619
620 // ---------- Marking support
621 //
622 private:
623 ShenandoahMarkingContext* _marking_context;
624 MemRegion _bitmap_region;
625 MemRegion _aux_bitmap_region;
626 MarkBitMap _verification_bit_map;
627 MarkBitMap _aux_bit_map;
628
629 size_t _bitmap_size;
630 size_t _bitmap_regions_per_slice;
631 size_t _bitmap_bytes_per_slice;
632
633 size_t _pretouch_heap_page_size;
634 size_t _pretouch_bitmap_page_size;
635
636 bool _bitmap_region_special;
637 bool _aux_bitmap_region_special;
638
639 ShenandoahLiveData** _liveness_cache;
|
600 size_t size,
601 Metaspace::MetadataType mdtype);
602
603 void notify_mutator_alloc_words(size_t words, bool waste);
604
605 // Shenandoah supports TLAB allocation
606 bool supports_tlab_allocation() const { return true; }
607
608 HeapWord* allocate_new_tlab(size_t min_size, size_t requested_size, size_t* actual_size);
609 size_t tlab_capacity(Thread *thr) const;
610 size_t unsafe_max_tlab_alloc(Thread *thread) const;
611 size_t max_tlab_size() const;
612 size_t tlab_used(Thread* ignored) const;
613
614 void ensure_parsability(bool retire_labs);
615
616 void labs_make_parsable();
617 void tlabs_retire(bool resize);
618 void gclabs_retire(bool resize);
619
620 // Runs the given AbstractGangTask with the current active workers.
621 // Returns the total time to run the task.
622 virtual void run_task(AbstractGangTask* task);
623
624 // ---------- Marking support
625 //
626 private:
627 ShenandoahMarkingContext* _marking_context;
628 MemRegion _bitmap_region;
629 MemRegion _aux_bitmap_region;
630 MarkBitMap _verification_bit_map;
631 MarkBitMap _aux_bit_map;
632
633 size_t _bitmap_size;
634 size_t _bitmap_regions_per_slice;
635 size_t _bitmap_bytes_per_slice;
636
637 size_t _pretouch_heap_page_size;
638 size_t _pretouch_bitmap_page_size;
639
640 bool _bitmap_region_special;
641 bool _aux_bitmap_region_special;
642
643 ShenandoahLiveData** _liveness_cache;
|