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