599 MetaWord* satisfy_failed_metadata_allocation(ClassLoaderData* loader_data, 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 resize_tlabs(); 615 616 void ensure_parsability(bool retire_tlabs); 617 void make_parsable(bool retire_tlabs); 618 619 // ---------- Marking support 620 // 621 private: 622 ShenandoahMarkingContext* _marking_context; 623 MemRegion _bitmap_region; 624 MemRegion _aux_bitmap_region; 625 MarkBitMap _verification_bit_map; 626 MarkBitMap _aux_bit_map; 627 628 size_t _bitmap_size; 629 size_t _bitmap_regions_per_slice; 630 size_t _bitmap_bytes_per_slice; 631 632 bool _bitmap_region_special; 633 bool _aux_bitmap_region_special; 634 635 ShenandoahLiveData** _liveness_cache; 636 637 public: 638 inline ShenandoahMarkingContext* complete_marking_context() const; | 599 MetaWord* satisfy_failed_metadata_allocation(ClassLoaderData* loader_data, 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 resize_tlabs(); 615 616 void ensure_parsability(bool retire_tlabs); 617 void make_parsable(bool retire_tlabs); 618 619 // Runs the given AbstractGangTask with the current active workers. 620 // Returns the total time to run the task. 621 virtual void run_task(AbstractGangTask* task); 622 623 // ---------- Marking support 624 // 625 private: 626 ShenandoahMarkingContext* _marking_context; 627 MemRegion _bitmap_region; 628 MemRegion _aux_bitmap_region; 629 MarkBitMap _verification_bit_map; 630 MarkBitMap _aux_bit_map; 631 632 size_t _bitmap_size; 633 size_t _bitmap_regions_per_slice; 634 size_t _bitmap_bytes_per_slice; 635 636 bool _bitmap_region_special; 637 bool _aux_bitmap_region_special; 638 639 ShenandoahLiveData** _liveness_cache; 640 641 public: 642 inline ShenandoahMarkingContext* complete_marking_context() const; |