hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp
changeset 46519 40c9c132f961
parent 46505 fd4bc78630b1
child 46571 c70b36f0730d
equal deleted inserted replaced
46518:69f8479862a2 46519:40c9c132f961
    99   bool _concurrent;
    99   bool _concurrent;
   100 public:
   100 public:
   101   RefineCardTableEntryClosure() : _concurrent(true) { }
   101   RefineCardTableEntryClosure() : _concurrent(true) { }
   102 
   102 
   103   bool do_card_ptr(jbyte* card_ptr, uint worker_i) {
   103   bool do_card_ptr(jbyte* card_ptr, uint worker_i) {
   104     bool oops_into_cset = G1CollectedHeap::heap()->g1_rem_set()->refine_card(card_ptr, worker_i, NULL);
   104     G1CollectedHeap::heap()->g1_rem_set()->refine_card_concurrently(card_ptr, worker_i);
   105     // This path is executed by the concurrent refine or mutator threads,
       
   106     // concurrently, and so we do not care if card_ptr contains references
       
   107     // that point into the collection set.
       
   108     assert(!oops_into_cset, "should be");
       
   109 
   105 
   110     if (_concurrent && SuspendibleThreadSet::should_yield()) {
   106     if (_concurrent && SuspendibleThreadSet::should_yield()) {
   111       // Caller will actually yield.
   107       // Caller will actually yield.
   112       return false;
   108       return false;
   113     }
   109     }