539
540 bool is_in(const void* p) const;
541
542 MemRegion reserved_region() const { return _reserved; }
543 bool is_in_reserved(const void* addr) const { return _reserved.contains(addr); }
544
545 void collect(GCCause::Cause cause);
546 void do_full_collection(bool clear_all_soft_refs);
547
548 // Used for parsing heap during error printing
549 HeapWord* block_start(const void* addr) const;
550 bool block_is_obj(const HeapWord* addr) const;
551 bool print_location(outputStream* st, void* addr) const;
552
553 // Used for native heap walkers: heap dumpers, mostly
554 void object_iterate(ObjectClosure* cl);
555
556 // Keep alive an object that was loaded with AS_NO_KEEPALIVE.
557 void keep_alive(oop obj);
558
559 // Used by RMI
560 jlong millis_since_last_gc();
561
562 // ---------- Safepoint interface hooks
563 //
564 public:
565 void safepoint_synchronize_begin();
566 void safepoint_synchronize_end();
567
568 // ---------- Code roots handling hooks
569 //
570 public:
571 void register_nmethod(nmethod* nm);
572 void unregister_nmethod(nmethod* nm);
573 void flush_nmethod(nmethod* nm);
574 void verify_nmethod(nmethod* nm) {}
575
576 // ---------- Pinning hooks
577 //
578 public:
579 // Shenandoah supports per-object (per-region) pinning
580 bool supports_object_pinning() const { return true; }
581
|
539
540 bool is_in(const void* p) const;
541
542 MemRegion reserved_region() const { return _reserved; }
543 bool is_in_reserved(const void* addr) const { return _reserved.contains(addr); }
544
545 void collect(GCCause::Cause cause);
546 void do_full_collection(bool clear_all_soft_refs);
547
548 // Used for parsing heap during error printing
549 HeapWord* block_start(const void* addr) const;
550 bool block_is_obj(const HeapWord* addr) const;
551 bool print_location(outputStream* st, void* addr) const;
552
553 // Used for native heap walkers: heap dumpers, mostly
554 void object_iterate(ObjectClosure* cl);
555
556 // Keep alive an object that was loaded with AS_NO_KEEPALIVE.
557 void keep_alive(oop obj);
558
559 // ---------- Safepoint interface hooks
560 //
561 public:
562 void safepoint_synchronize_begin();
563 void safepoint_synchronize_end();
564
565 // ---------- Code roots handling hooks
566 //
567 public:
568 void register_nmethod(nmethod* nm);
569 void unregister_nmethod(nmethod* nm);
570 void flush_nmethod(nmethod* nm);
571 void verify_nmethod(nmethod* nm) {}
572
573 // ---------- Pinning hooks
574 //
575 public:
576 // Shenandoah supports per-object (per-region) pinning
577 bool supports_object_pinning() const { return true; }
578
|