< prev index next >

src/hotspot/share/gc/g1/g1SATBMarkQueueSet.cpp

Print this page
rev 52405 : [mq]: use_allocators


  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/g1CollectedHeap.inline.hpp"
  27 #include "gc/g1/g1SATBMarkQueueSet.hpp"
  28 #include "gc/g1/g1ThreadLocalData.hpp"
  29 #include "gc/g1/heapRegion.hpp"
  30 #include "gc/shared/satbMarkQueue.hpp"
  31 #include "oops/oop.hpp"
  32 #include "utilities/debug.hpp"
  33 #include "utilities/globalDefinitions.hpp"
  34 
  35 G1SATBMarkQueueSet::G1SATBMarkQueueSet() : _g1h(NULL) {}
  36 
  37 void G1SATBMarkQueueSet::initialize(G1CollectedHeap* g1h,
  38                                     Monitor* cbl_mon, Mutex* fl_lock,

  39                                     int process_completed_threshold,
  40                                     uint buffer_enqueue_threshold_percentage,
  41                                     Mutex* lock) {
  42   SATBMarkQueueSet::initialize(cbl_mon, fl_lock,

  43                                process_completed_threshold,
  44                                buffer_enqueue_threshold_percentage,
  45                                lock);
  46   _g1h = g1h;
  47 }
  48 
  49 void G1SATBMarkQueueSet::handle_zero_index_for_thread(JavaThread* t) {
  50   G1ThreadLocalData::satb_mark_queue(t).handle_zero_index();
  51 }
  52 
  53 SATBMarkQueue& G1SATBMarkQueueSet::satb_queue_for_thread(JavaThread* const t) const{
  54   return G1ThreadLocalData::satb_mark_queue(t);
  55 }
  56 
  57 // Return true if a SATB buffer entry refers to an object that
  58 // requires marking.
  59 //
  60 // The entry must point into the G1 heap.  In particular, it must not
  61 // be a NULL pointer.  NULL pointers are pre-filtered and never
  62 // inserted into a SATB buffer.




  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/g1CollectedHeap.inline.hpp"
  27 #include "gc/g1/g1SATBMarkQueueSet.hpp"
  28 #include "gc/g1/g1ThreadLocalData.hpp"
  29 #include "gc/g1/heapRegion.hpp"
  30 #include "gc/shared/satbMarkQueue.hpp"
  31 #include "oops/oop.hpp"
  32 #include "utilities/debug.hpp"
  33 #include "utilities/globalDefinitions.hpp"
  34 
  35 G1SATBMarkQueueSet::G1SATBMarkQueueSet() : _g1h(NULL) {}
  36 
  37 void G1SATBMarkQueueSet::initialize(G1CollectedHeap* g1h,
  38                                     Monitor* cbl_mon,
  39                                     BufferNode::Allocator* allocator,
  40                                     int process_completed_threshold,
  41                                     uint buffer_enqueue_threshold_percentage,
  42                                     Mutex* lock) {
  43   SATBMarkQueueSet::initialize(cbl_mon,
  44                                allocator,
  45                                process_completed_threshold,
  46                                buffer_enqueue_threshold_percentage,
  47                                lock);
  48   _g1h = g1h;
  49 }
  50 
  51 void G1SATBMarkQueueSet::handle_zero_index_for_thread(JavaThread* t) {
  52   G1ThreadLocalData::satb_mark_queue(t).handle_zero_index();
  53 }
  54 
  55 SATBMarkQueue& G1SATBMarkQueueSet::satb_queue_for_thread(JavaThread* const t) const{
  56   return G1ThreadLocalData::satb_mark_queue(t);
  57 }
  58 
  59 // Return true if a SATB buffer entry refers to an object that
  60 // requires marking.
  61 //
  62 // The entry must point into the G1 heap.  In particular, it must not
  63 // be a NULL pointer.  NULL pointers are pre-filtered and never
  64 // inserted into a SATB buffer.


< prev index next >