< prev index next >

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

Print this page




  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "gc/g1/g1CodeBlobClosure.hpp"
  26 #include "gc/g1/g1OopClosures.hpp"
  27 #include "memory/iterator.hpp"
  28 
  29 class G1CollectedHeap;
  30 class G1ParScanThreadState;
  31 
  32 // Simple holder object for a complete set of closures used by the G1 evacuation code.
  33 template <G1Mark Mark>
  34 class G1SharedClosures {
  35 public:
  36   G1ParCopyClosure<G1BarrierNone, Mark> _oops;
  37   G1ParCopyClosure<G1BarrierCLD,  Mark> _oops_in_cld;
  38 
  39   G1CLDScanClosure                _clds;
  40   G1CodeBlobClosure               _codeblobs;

  41 
  42   G1SharedClosures(G1CollectedHeap* g1h, G1ParScanThreadState* pss, bool process_only_dirty, int cld_claim) :
  43     _oops(g1h, pss),
  44     _oops_in_cld(g1h, pss),
  45     _clds(&_oops_in_cld, process_only_dirty, cld_claim),
  46     _codeblobs(&_oops) {}
  47 };


  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "gc/g1/g1CodeBlobClosure.hpp"
  26 #include "gc/g1/g1OopClosures.hpp"
  27 #include "memory/iterator.hpp"
  28 
  29 class G1CollectedHeap;
  30 class G1ParScanThreadState;
  31 
  32 // Simple holder object for a complete set of closures used by the G1 evacuation code.
  33 template <G1Mark Mark>
  34 class G1SharedClosures {
  35 public:
  36   G1ParCopyClosure<G1BarrierNone, Mark> _oops;
  37   G1ParCopyClosure<G1BarrierCLD,  Mark> _oops_in_cld;
  38 
  39   G1CLDScanClosure                _clds;
  40   G1CodeBlobClosure               _strong_codeblobs;
  41   G1CodeBlobClosure               _weak_codeblobs;
  42 
  43   G1SharedClosures(G1CollectedHeap* g1h, G1ParScanThreadState* pss, bool process_only_dirty, int cld_claim) :
  44     _oops(g1h, pss),
  45     _oops_in_cld(g1h, pss),
  46     _clds(&_oops_in_cld, process_only_dirty, cld_claim),
  47     _strong_codeblobs(&_oops, true), _weak_codeblobs(&_oops, false) {}
  48 };
< prev index next >