< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp

Print this page
rev 51547 : Refactor to group marking bitmap and TAMS structure in one class ShenandoahMarkingContext

*** 24,33 **** --- 24,34 ---- #include "precompiled.hpp" #include "logging/logStream.hpp" #include "gc/shenandoah/shenandoahFreeSet.hpp" #include "gc/shenandoah/shenandoahHeap.inline.hpp" #include "gc/shenandoah/shenandoahHeapRegionSet.hpp" + #include "gc/shenandoah/shenandoahMarkingContext.inline.hpp" #include "gc/shenandoah/shenandoahTraversalGC.hpp" ShenandoahFreeSet::ShenandoahFreeSet(ShenandoahHeap* heap, size_t max_regions) : _heap(heap), _mutator_free_bitmap(max_regions, mtGC),
*** 196,206 **** if (req.is_gc_alloc() && _heap->is_concurrent_traversal_in_progress()) { // Traversal needs to traverse through GC allocs. Adjust TAMS to the new top // so that these allocations appear below TAMS, and thus get traversed. // See top of shenandoahTraversal.cpp for an explanation. ! _heap->set_next_top_at_mark_start(r->bottom(), r->top()); _heap->traversal_gc()->traversal_set()->add_region_check_for_duplicates(r); OrderAccess::fence(); } } --- 197,207 ---- if (req.is_gc_alloc() && _heap->is_concurrent_traversal_in_progress()) { // Traversal needs to traverse through GC allocs. Adjust TAMS to the new top // so that these allocations appear below TAMS, and thus get traversed. // See top of shenandoahTraversal.cpp for an explanation. ! _heap->next_marking_context()->set_top_at_mark_start(r->region_number(), r->top()); _heap->traversal_gc()->traversal_set()->add_region_check_for_duplicates(r); OrderAccess::fence(); } }
< prev index next >