< 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 >