8220610: Make CollectedHeap nmethod functions pure virtual
Reviewed-by: shade
This commit is contained in:
parent
0b2e2ca9bd
commit
abb2d67803
src/hotspot/share/gc
@ -129,6 +129,12 @@ public:
|
||||
virtual void print_gc_threads_on(outputStream* st) const {}
|
||||
virtual void gc_threads_do(ThreadClosure* tc) const {}
|
||||
|
||||
// No nmethod handling
|
||||
virtual void register_nmethod(nmethod* nm) {}
|
||||
virtual void unregister_nmethod(nmethod* nm) {}
|
||||
virtual void flush_nmethod(nmethod* nm) {}
|
||||
virtual void verify_nmethod(nmethod* nm) {}
|
||||
|
||||
// No heap verification
|
||||
virtual void prepare_for_verify() {}
|
||||
virtual void verify(VerifyOption option) {}
|
||||
|
@ -1322,6 +1322,12 @@ public:
|
||||
// Unregister the given nmethod from the G1 heap.
|
||||
virtual void unregister_nmethod(nmethod* nm);
|
||||
|
||||
// No nmethod flushing needed.
|
||||
virtual void flush_nmethod(nmethod* nm) {}
|
||||
|
||||
// No nmethod verification implemented.
|
||||
virtual void verify_nmethod(nmethod* nm) {}
|
||||
|
||||
// Free up superfluous code root memory.
|
||||
void purge_code_root_memory();
|
||||
|
||||
|
@ -510,11 +510,11 @@ class CollectedHeap : public CHeapObj<mtInternal> {
|
||||
void print_heap_after_gc();
|
||||
|
||||
// Registering and unregistering an nmethod (compiled code) with the heap.
|
||||
// Override with specific mechanism for each specialized heap type.
|
||||
virtual void register_nmethod(nmethod* nm) {}
|
||||
virtual void unregister_nmethod(nmethod* nm) {}
|
||||
virtual void flush_nmethod(nmethod* nm) {}
|
||||
virtual void verify_nmethod(nmethod* nmethod) {}
|
||||
virtual void register_nmethod(nmethod* nm) = 0;
|
||||
virtual void unregister_nmethod(nmethod* nm) = 0;
|
||||
// Callback for when nmethod is about to be deleted.
|
||||
virtual void flush_nmethod(nmethod* nm) = 0;
|
||||
virtual void verify_nmethod(nmethod* nm) = 0;
|
||||
|
||||
void trace_heap_before_gc(const GCTracer* gc_tracer);
|
||||
void trace_heap_after_gc(const GCTracer* gc_tracer);
|
||||
|
@ -584,6 +584,8 @@ public:
|
||||
public:
|
||||
void register_nmethod(nmethod* nm);
|
||||
void unregister_nmethod(nmethod* nm);
|
||||
void flush_nmethod(nmethod* nm) {}
|
||||
void verify_nmethod(nmethod* nm) {}
|
||||
|
||||
// ---------- Pinning hooks
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user