< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp

Print this page

453   void stw_unload_classes(bool full_gc);
454   void stw_process_weak_roots(bool full_gc);
455   void stw_weak_refs(bool full_gc);
456 
457   // Heap iteration support
458   void scan_roots_for_iteration(ShenandoahScanObjectStack* oop_stack, ObjectIterateScanRootClosure* oops);
459   bool prepare_aux_bitmap_for_iteration();
460   void reclaim_aux_bitmap_for_iteration();
461 
462 // ---------- Generic interface hooks
463 // Minor things that super-interface expects us to implement to play nice with
464 // the rest of runtime. Some of the things here are not required to be implemented,
465 // and can be stubbed out.
466 //
467 public:
468   AdaptiveSizePolicy* size_policy() shenandoah_not_implemented_return(NULL);
469   bool is_maximal_no_gc() const shenandoah_not_implemented_return(false);
470 
471   bool is_in(const void* p) const;
472 



473   MemRegion reserved_region() const { return _reserved; }
474   bool is_in_reserved(const void* addr) const { return _reserved.contains(addr); }
475 
476   void collect(GCCause::Cause cause);
477   void do_full_collection(bool clear_all_soft_refs);
478 
479   // Used for parsing heap during error printing
480   HeapWord* block_start(const void* addr) const;
481   bool block_is_obj(const HeapWord* addr) const;
482   bool print_location(outputStream* st, void* addr) const;
483 
484   // Used for native heap walkers: heap dumpers, mostly
485   void object_iterate(ObjectClosure* cl);
486   // Parallel heap iteration support
487   virtual ParallelObjectIterator* parallel_object_iterator(uint workers);
488 
489   // Keep alive an object that was loaded with AS_NO_KEEPALIVE.
490   void keep_alive(oop obj);
491 
492 // ---------- Safepoint interface hooks

453   void stw_unload_classes(bool full_gc);
454   void stw_process_weak_roots(bool full_gc);
455   void stw_weak_refs(bool full_gc);
456 
457   // Heap iteration support
458   void scan_roots_for_iteration(ShenandoahScanObjectStack* oop_stack, ObjectIterateScanRootClosure* oops);
459   bool prepare_aux_bitmap_for_iteration();
460   void reclaim_aux_bitmap_for_iteration();
461 
462 // ---------- Generic interface hooks
463 // Minor things that super-interface expects us to implement to play nice with
464 // the rest of runtime. Some of the things here are not required to be implemented,
465 // and can be stubbed out.
466 //
467 public:
468   AdaptiveSizePolicy* size_policy() shenandoah_not_implemented_return(NULL);
469   bool is_maximal_no_gc() const shenandoah_not_implemented_return(false);
470 
471   bool is_in(const void* p) const;
472 
473   // TODO: Shenandoah might have some property that could be useful here.
474   bool requires_barriers(oop obj) const;
475 
476   MemRegion reserved_region() const { return _reserved; }
477   bool is_in_reserved(const void* addr) const { return _reserved.contains(addr); }
478 
479   void collect(GCCause::Cause cause);
480   void do_full_collection(bool clear_all_soft_refs);
481 
482   // Used for parsing heap during error printing
483   HeapWord* block_start(const void* addr) const;
484   bool block_is_obj(const HeapWord* addr) const;
485   bool print_location(outputStream* st, void* addr) const;
486 
487   // Used for native heap walkers: heap dumpers, mostly
488   void object_iterate(ObjectClosure* cl);
489   // Parallel heap iteration support
490   virtual ParallelObjectIterator* parallel_object_iterator(uint workers);
491 
492   // Keep alive an object that was loaded with AS_NO_KEEPALIVE.
493   void keep_alive(oop obj);
494 
495 // ---------- Safepoint interface hooks
< prev index next >