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; |