< prev index next >

src/share/vm/gc/shenandoah/shenandoahHeap.cpp

Print this page
rev 13080 : Partial GC: Only evacuating threads push oop to work queue.

@@ -794,11 +794,12 @@
 
     log_develop_trace(gc, compaction)("Calling ParallelEvacuateRegionObjectClosure on "PTR_FORMAT" of size %d\n", p2i((HeapWord*) p), p->size());
 
     assert(_heap->is_marked_complete(p), "expect only marked objects");
     if (oopDesc::unsafe_equals(p, ShenandoahBarrierSet::resolve_oop_static_not_null(p))) {
-      _heap->evacuate_object(p, _thread);
+      bool evac;
+      _heap->evacuate_object(p, _thread, evac);
     }
   }
 };
 
 #ifdef ASSERT

@@ -1228,11 +1229,12 @@
       if (_heap->in_collection_set(obj)) {
         assert(_heap->is_marked_complete(obj), "only evacuate marked objects %d %d",
                _heap->is_marked_complete(obj), _heap->is_marked_complete(ShenandoahBarrierSet::resolve_oop_static_not_null(obj)));
         oop resolved = ShenandoahBarrierSet::resolve_oop_static_not_null(obj);
         if (oopDesc::unsafe_equals(resolved, obj)) {
-          resolved = _heap->evacuate_object(obj, _thread);
+          bool evac;
+          resolved = _heap->evacuate_object(obj, _thread, evac);
         }
         oopDesc::encode_store_heap_oop(p, resolved);
       }
     }
 #ifdef ASSERT
< prev index next >