< prev index next >
src/share/vm/gc/parallel/psScavenge.cpp
Print this page
rev 12906 : [mq]: gc_interface
*** 23,33 ****
*/
#include "precompiled.hpp"
#include "classfile/stringTable.hpp"
#include "code/codeCache.hpp"
- #include "gc/parallel/cardTableExtension.hpp"
#include "gc/parallel/gcTaskManager.hpp"
#include "gc/parallel/parallelScavengeHeap.hpp"
#include "gc/parallel/psAdaptiveSizePolicy.hpp"
#include "gc/parallel/psMarkSweep.hpp"
#include "gc/parallel/psParallelCompact.inline.hpp"
--- 23,32 ----
*** 58,68 ****
#include "utilities/stack.inline.hpp"
HeapWord* PSScavenge::_to_space_top_before_gc = NULL;
int PSScavenge::_consecutive_skipped_scavenges = 0;
ReferenceProcessor* PSScavenge::_ref_processor = NULL;
! CardTableExtension* PSScavenge::_card_table = NULL;
bool PSScavenge::_survivor_overflow = false;
uint PSScavenge::_tenuring_threshold = 0;
HeapWord* PSScavenge::_young_generation_boundary = NULL;
uintptr_t PSScavenge::_young_generation_boundary_compressed = 0;
elapsedTimer PSScavenge::_accumulated_time;
--- 57,67 ----
#include "utilities/stack.inline.hpp"
HeapWord* PSScavenge::_to_space_top_before_gc = NULL;
int PSScavenge::_consecutive_skipped_scavenges = 0;
ReferenceProcessor* PSScavenge::_ref_processor = NULL;
! PSCardTable* PSScavenge::_card_table = NULL;
bool PSScavenge::_survivor_overflow = false;
uint PSScavenge::_tenuring_threshold = 0;
HeapWord* PSScavenge::_young_generation_boundary = NULL;
uintptr_t PSScavenge::_young_generation_boundary_compressed = 0;
elapsedTimer PSScavenge::_accumulated_time;
*** 318,328 ****
old_gen->verify_object_start_array();
}
// Verify no unmarked old->young roots
if (VerifyRememberedSets) {
! CardTableExtension::verify_all_young_refs_imprecise();
}
assert(young_gen->to_space()->is_empty(),
"Attempt to scavenge with live objects in to_space");
young_gen->to_space()->clear(SpaceDecorator::Mangle);
--- 317,327 ----
old_gen->verify_object_start_array();
}
// Verify no unmarked old->young roots
if (VerifyRememberedSets) {
! PSCardTable::verify_all_young_refs_imprecise();
}
assert(young_gen->to_space()->is_empty(),
"Attempt to scavenge with live objects in to_space");
young_gen->to_space()->clear(SpaceDecorator::Mangle);
*** 599,610 ****
// Verify all old -> young cards are now precise
if (VerifyRememberedSets) {
// Precise verification will give false positives. Until this is fixed,
// use imprecise verification.
! // CardTableExtension::verify_all_young_refs_precise();
! CardTableExtension::verify_all_young_refs_imprecise();
}
if (TraceYoungGenTime) accumulated_time()->stop();
young_gen->print_used_change(pre_gc_values.young_gen_used());
--- 598,609 ----
// Verify all old -> young cards are now precise
if (VerifyRememberedSets) {
// Precise verification will give false positives. Until this is fixed,
// use imprecise verification.
! // PSCardTable::verify_all_young_refs_precise();
! PSCardTable::verify_all_young_refs_imprecise();
}
if (TraceYoungGenTime) accumulated_time()->stop();
young_gen->print_used_change(pre_gc_values.young_gen_used());
*** 758,766 ****
ParallelGCThreads, // mt discovery degree
true, // atomic_discovery
NULL); // header provides liveness info
// Cache the cardtable
! _card_table = barrier_set_cast<CardTableExtension>(heap->barrier_set());
_counters = new CollectorCounters("PSScavenge", 0);
}
--- 757,765 ----
ParallelGCThreads, // mt discovery degree
true, // atomic_discovery
NULL); // header provides liveness info
// Cache the cardtable
! _card_table = heap->card_table();
_counters = new CollectorCounters("PSScavenge", 0);
}
< prev index next >