< prev index next >

src/hotspot/share/gc/epsilon/epsilonHeap.hpp

Print this page




 102   virtual size_t unsafe_max_tlab_alloc(Thread* thr) const;
 103 
 104   virtual void collect(GCCause::Cause cause);
 105   virtual void do_full_collection(bool clear_all_soft_refs);
 106 
 107   // Heap walking support
 108   virtual void object_iterate(ObjectClosure* cl);
 109 
 110   // Object pinning support: every object is implicitly pinned
 111   virtual bool supports_object_pinning() const           { return true; }
 112   virtual oop pin_object(JavaThread* thread, oop obj)    { return obj; }
 113   virtual void unpin_object(JavaThread* thread, oop obj) { }
 114 
 115   // No support for block parsing.
 116   HeapWord* block_start(const void* addr) const { return NULL;  }
 117   bool block_is_obj(const HeapWord* addr) const { return false; }
 118 
 119   // No GC threads
 120   virtual void gc_threads_do(ThreadClosure* tc) const {}
 121 




 122   // No nmethod handling
 123   virtual void register_nmethod(nmethod* nm) {}
 124   virtual void unregister_nmethod(nmethod* nm) {}
 125   virtual void flush_nmethod(nmethod* nm) {}
 126   virtual void verify_nmethod(nmethod* nm) {}
 127 
 128   // No heap verification
 129   virtual void prepare_for_verify() {}
 130   virtual void verify(VerifyOption option) {}
 131 
 132   virtual jlong millis_since_last_gc() {
 133     // Report time since the VM start
 134     return os::elapsed_counter() / NANOSECS_PER_MILLISEC;
 135   }
 136 
 137   MemRegion reserved_region() const { return _reserved; }
 138   bool is_in_reserved(const void* addr) const { return _reserved.contains(addr); }
 139 
 140   virtual void print_on(outputStream* st) const;
 141   virtual void print_tracing_info() const;
 142   virtual bool print_location(outputStream* st, void* addr) const;

 143 
 144 private:
 145   void print_heap_info(size_t used) const;
 146   void print_metaspace_info() const;
 147 
 148 };
 149 
 150 #endif // SHARE_GC_EPSILON_EPSILONHEAP_HPP


 102   virtual size_t unsafe_max_tlab_alloc(Thread* thr) const;
 103 
 104   virtual void collect(GCCause::Cause cause);
 105   virtual void do_full_collection(bool clear_all_soft_refs);
 106 
 107   // Heap walking support
 108   virtual void object_iterate(ObjectClosure* cl);
 109 
 110   // Object pinning support: every object is implicitly pinned
 111   virtual bool supports_object_pinning() const           { return true; }
 112   virtual oop pin_object(JavaThread* thread, oop obj)    { return obj; }
 113   virtual void unpin_object(JavaThread* thread, oop obj) { }
 114 
 115   // No support for block parsing.
 116   HeapWord* block_start(const void* addr) const { return NULL;  }
 117   bool block_is_obj(const HeapWord* addr) const { return false; }
 118 
 119   // No GC threads
 120   virtual void gc_threads_do(ThreadClosure* tc) const {}
 121 
 122   // Runs the given AbstractGangTask with the current active workers
 123   // No workGang for EpsilonHeap, work serially with thread 0
 124   virtual void run_task(AbstractGangTask* task) { task->work(0); }
 125 
 126   // No nmethod handling
 127   virtual void register_nmethod(nmethod* nm) {}
 128   virtual void unregister_nmethod(nmethod* nm) {}
 129   virtual void flush_nmethod(nmethod* nm) {}
 130   virtual void verify_nmethod(nmethod* nm) {}
 131 
 132   // No heap verification
 133   virtual void prepare_for_verify() {}
 134   virtual void verify(VerifyOption option) {}
 135 
 136   virtual jlong millis_since_last_gc() {
 137     // Report time since the VM start
 138     return os::elapsed_counter() / NANOSECS_PER_MILLISEC;
 139   }
 140 
 141   MemRegion reserved_region() const { return _reserved; }
 142   bool is_in_reserved(const void* addr) const { return _reserved.contains(addr); }
 143 
 144   virtual void print_on(outputStream* st) const;
 145   virtual void print_tracing_info() const;
 146   virtual bool print_location(outputStream* st, void* addr) const;
 147 
 148 
 149 private:
 150   void print_heap_info(size_t used) const;
 151   void print_metaspace_info() const;
 152 
 153 };
 154 
 155 #endif // SHARE_GC_EPSILON_EPSILONHEAP_HPP
< prev index next >