comparison src/share/vm/gc_interface/collectedHeap.hpp @ 12080:5888334c9c24

7145569: G1: optimize nmethods scanning Summary: Add a list of nmethods to the RSet for a region that contain references into the region. Skip scanning the code cache during root scanning and scan the nmethod lists during RSet scanning instead. Reviewed-by: tschatzl, brutisso, mgerdin, twisti, kvn
author johnc
date Thu, 15 Aug 2013 10:52:18 +0200
parents f2110083203d
children cefad50507d8 85c1ca43713f
comparison
equal deleted inserted replaced
12033:bd902affe102 12080:5888334c9c24
47 class GCTracer; 47 class GCTracer;
48 class MetaspaceSummary; 48 class MetaspaceSummary;
49 class Thread; 49 class Thread;
50 class ThreadClosure; 50 class ThreadClosure;
51 class VirtualSpaceSummary; 51 class VirtualSpaceSummary;
52 class nmethod;
52 53
53 class GCMessage : public FormatBuffer<1024> { 54 class GCMessage : public FormatBuffer<1024> {
54 public: 55 public:
55 bool is_before; 56 bool is_before;
56 57
601 virtual void print_tracing_info() const = 0; 602 virtual void print_tracing_info() const = 0;
602 603
603 void print_heap_before_gc(); 604 void print_heap_before_gc();
604 void print_heap_after_gc(); 605 void print_heap_after_gc();
605 606
607 // Registering and unregistering an nmethod (compiled code) with the heap.
608 // Override with specific mechanism for each specialized heap type.
609 virtual void register_nmethod(nmethod* nm);
610 virtual void unregister_nmethod(nmethod* nm);
611
606 void trace_heap_before_gc(GCTracer* gc_tracer); 612 void trace_heap_before_gc(GCTracer* gc_tracer);
607 void trace_heap_after_gc(GCTracer* gc_tracer); 613 void trace_heap_after_gc(GCTracer* gc_tracer);
608 614
609 // Heap verification 615 // Heap verification
610 virtual void verify(bool silent, VerifyOption option) = 0; 616 virtual void verify(bool silent, VerifyOption option) = 0;