< prev index next >

src/share/vm/gc/g1/g1RemSet.cpp

Print this page
rev 9740 : imported patch 8145674-fix-includes-and-forward-declarations-in-g1remset-files


  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "gc/g1/concurrentG1Refine.hpp"
  27 #include "gc/g1/concurrentG1RefineThread.hpp"
  28 #include "gc/g1/g1BlockOffsetTable.inline.hpp"
  29 #include "gc/g1/g1CollectedHeap.inline.hpp"
  30 #include "gc/g1/g1CollectorPolicy.hpp"
  31 #include "gc/g1/g1GCPhaseTimes.hpp"
  32 #include "gc/g1/g1HotCardCache.hpp"
  33 #include "gc/g1/g1OopClosures.inline.hpp"
  34 #include "gc/g1/g1RemSet.inline.hpp"

  35 #include "gc/g1/heapRegionManager.inline.hpp"
  36 #include "gc/g1/heapRegionRemSet.hpp"
  37 #include "memory/iterator.hpp"
  38 #include "oops/oop.inline.hpp"
  39 #include "utilities/globalDefinitions.hpp"
  40 #include "utilities/intHisto.hpp"
  41 #include "utilities/stack.inline.hpp"
  42 
  43 G1RemSet::G1RemSet(G1CollectedHeap* g1, CardTableModRefBS* ct_bs)
  44   : _g1(g1), _conc_refine_cards(0),
  45     _ct_bs(ct_bs), _g1p(_g1->g1_policy()),


  46     _cg1r(g1->concurrent_g1_refine()),
  47     _cset_rs_update_cl(NULL),
  48     _prev_period_summary(),
  49     _into_cset_dirty_card_queue_set(false)
  50 {
  51   _cset_rs_update_cl = NEW_C_HEAP_ARRAY(G1ParPushHeapRSClosure*, n_workers(), mtGC);
  52   for (uint i = 0; i < n_workers(); i++) {
  53     _cset_rs_update_cl[i] = NULL;
  54   }
  55   if (log_is_enabled(Trace, gc, remset)) {
  56     _prev_period_summary.initialize(this);
  57   }
  58   // Initialize the card queue set used to hold cards containing
  59   // references into the collection set.
  60   _into_cset_dirty_card_queue_set.initialize(NULL, // Should never be called by the Java code
  61                                              DirtyCardQ_CBL_mon,
  62                                              DirtyCardQ_FL_lock,
  63                                              -1, // never trigger processing
  64                                              -1, // no limit on length
  65                                              Shared_DirtyCardQ_lock,




  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "gc/g1/concurrentG1Refine.hpp"
  27 #include "gc/g1/concurrentG1RefineThread.hpp"
  28 #include "gc/g1/g1BlockOffsetTable.inline.hpp"
  29 #include "gc/g1/g1CollectedHeap.inline.hpp"
  30 #include "gc/g1/g1CollectorPolicy.hpp"
  31 #include "gc/g1/g1GCPhaseTimes.hpp"
  32 #include "gc/g1/g1HotCardCache.hpp"
  33 #include "gc/g1/g1OopClosures.inline.hpp"
  34 #include "gc/g1/g1RemSet.inline.hpp"
  35 #include "gc/g1/heapRegion.inline.hpp"
  36 #include "gc/g1/heapRegionManager.inline.hpp"
  37 #include "gc/g1/heapRegionRemSet.hpp"
  38 #include "memory/iterator.hpp"
  39 #include "oops/oop.inline.hpp"
  40 #include "utilities/globalDefinitions.hpp"
  41 #include "utilities/intHisto.hpp"
  42 #include "utilities/stack.inline.hpp"
  43 
  44 G1RemSet::G1RemSet(G1CollectedHeap* g1, CardTableModRefBS* ct_bs) :
  45   _g1(g1),
  46   _conc_refine_cards(0),
  47   _ct_bs(ct_bs),
  48   _g1p(_g1->g1_policy()),
  49   _cg1r(g1->concurrent_g1_refine()),
  50   _cset_rs_update_cl(NULL),
  51   _prev_period_summary(),
  52   _into_cset_dirty_card_queue_set(false)
  53 {
  54   _cset_rs_update_cl = NEW_C_HEAP_ARRAY(G1ParPushHeapRSClosure*, n_workers(), mtGC);
  55   for (uint i = 0; i < n_workers(); i++) {
  56     _cset_rs_update_cl[i] = NULL;
  57   }
  58   if (log_is_enabled(Trace, gc, remset)) {
  59     _prev_period_summary.initialize(this);
  60   }
  61   // Initialize the card queue set used to hold cards containing
  62   // references into the collection set.
  63   _into_cset_dirty_card_queue_set.initialize(NULL, // Should never be called by the Java code
  64                                              DirtyCardQ_CBL_mon,
  65                                              DirtyCardQ_FL_lock,
  66                                              -1, // never trigger processing
  67                                              -1, // no limit on length
  68                                              Shared_DirtyCardQ_lock,


< prev index next >