< prev index next >

src/hotspot/share/gc/g1/g1CodeBlobClosure.hpp

Print this page




  34   class HeapRegionGatheringOopClosure : public OopClosure {
  35     G1CollectedHeap* _g1h;
  36     OopClosure* _work;
  37     nmethod* _nm;
  38 
  39     template <typename T>
  40     void do_oop_work(T* p);
  41 
  42   public:
  43     HeapRegionGatheringOopClosure(OopClosure* oc) : _g1h(G1CollectedHeap::heap()), _work(oc), _nm(NULL) {}
  44 
  45     void do_oop(oop* o);
  46     void do_oop(narrowOop* o);
  47 
  48     void set_nm(nmethod* nm) {
  49       _nm = nm;
  50     }
  51   };
  52 
  53   HeapRegionGatheringOopClosure _oc;

  54 public:
  55   G1CodeBlobClosure(OopClosure* oc) : _oc(oc) {}
  56 
  57   void do_code_blob(CodeBlob* cb);
  58 };
  59 
  60 #endif // SHARE_GC_G1_G1CODEBLOBCLOSURE_HPP


  34   class HeapRegionGatheringOopClosure : public OopClosure {
  35     G1CollectedHeap* _g1h;
  36     OopClosure* _work;
  37     nmethod* _nm;
  38 
  39     template <typename T>
  40     void do_oop_work(T* p);
  41 
  42   public:
  43     HeapRegionGatheringOopClosure(OopClosure* oc) : _g1h(G1CollectedHeap::heap()), _work(oc), _nm(NULL) {}
  44 
  45     void do_oop(oop* o);
  46     void do_oop(narrowOop* o);
  47 
  48     void set_nm(nmethod* nm) {
  49       _nm = nm;
  50     }
  51   };
  52 
  53   HeapRegionGatheringOopClosure _oc;
  54   bool _keepalive_is_strong;
  55 public:
  56   G1CodeBlobClosure(OopClosure* oc, bool keepalive_is_strong) : _oc(oc), _keepalive_is_strong(keepalive_is_strong) {}
  57 
  58   void do_code_blob(CodeBlob* cb);
  59 };
  60 
  61 #endif // SHARE_GC_G1_G1CODEBLOBCLOSURE_HPP
< prev index next >