< prev index next >
src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp
Print this page
rev 8068 : imported patch parallelscavenge_cleanup
*** 45,55 ****
//
// ScavengeRootsTask
//
void ScavengeRootsTask::do_it(GCTaskManager* manager, uint which) {
! assert(Universe::heap()->is_gc_active(), "called outside gc");
PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
PSScavengeRootsClosure roots_closure(pm);
PSPromoteRootsClosure roots_to_old_closure(pm);
--- 45,55 ----
//
// ScavengeRootsTask
//
void ScavengeRootsTask::do_it(GCTaskManager* manager, uint which) {
! assert(ParallelScavengeHeap::heap()->is_gc_active(), "called outside gc");
PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
PSScavengeRootsClosure roots_closure(pm);
PSPromoteRootsClosure roots_to_old_closure(pm);
*** 116,126 ****
//
// ThreadRootsTask
//
void ThreadRootsTask::do_it(GCTaskManager* manager, uint which) {
! assert(Universe::heap()->is_gc_active(), "called outside gc");
PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
PSScavengeRootsClosure roots_closure(pm);
CLDClosure* roots_from_clds = NULL; // Not needed. All CLDs are already visited.
MarkingCodeBlobClosure roots_in_blobs(&roots_closure, CodeBlobToOopClosure::FixRelocations);
--- 116,126 ----
//
// ThreadRootsTask
//
void ThreadRootsTask::do_it(GCTaskManager* manager, uint which) {
! assert(ParallelScavengeHeap::heap()->is_gc_active(), "called outside gc");
PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
PSScavengeRootsClosure roots_closure(pm);
CLDClosure* roots_from_clds = NULL; // Not needed. All CLDs are already visited.
MarkingCodeBlobClosure roots_in_blobs(&roots_closure, CodeBlobToOopClosure::FixRelocations);
*** 141,151 ****
StealTask::StealTask(ParallelTaskTerminator* t) :
_terminator(t) {}
void StealTask::do_it(GCTaskManager* manager, uint which) {
! assert(Universe::heap()->is_gc_active(), "called outside gc");
PSPromotionManager* pm =
PSPromotionManager::gc_thread_promotion_manager(which);
pm->drain_stacks(true);
guarantee(pm->stacks_empty(),
--- 141,151 ----
StealTask::StealTask(ParallelTaskTerminator* t) :
_terminator(t) {}
void StealTask::do_it(GCTaskManager* manager, uint which) {
! assert(ParallelScavengeHeap::heap()->is_gc_active(), "called outside gc");
PSPromotionManager* pm =
PSPromotionManager::gc_thread_promotion_manager(which);
pm->drain_stacks(true);
guarantee(pm->stacks_empty(),
*** 179,192 ****
assert(_gen->object_space()->contains(_gen_top) || _gen_top == _gen->object_space()->top(), "Sanity");
assert(_stripe_number < ParallelGCThreads, "Sanity");
{
PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
-
- assert(Universe::heap()->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity");
CardTableExtension* card_table =
! barrier_set_cast<CardTableExtension>(Universe::heap()->barrier_set());
card_table->scavenge_contents_parallel(_gen->start_array(),
_gen->object_space(),
_gen_top,
pm,
--- 179,190 ----
assert(_gen->object_space()->contains(_gen_top) || _gen_top == _gen->object_space()->top(), "Sanity");
assert(_stripe_number < ParallelGCThreads, "Sanity");
{
PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
CardTableExtension* card_table =
! barrier_set_cast<CardTableExtension>(ParallelScavengeHeap::heap()->barrier_set());
card_table->scavenge_contents_parallel(_gen->start_array(),
_gen->object_space(),
_gen_top,
pm,
< prev index next >