mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-22 03:54:33 +02:00
Merge
This commit is contained in:
commit
8d6035660e
223 changed files with 5079 additions and 2219 deletions
|
@ -78,7 +78,7 @@ class CheckForUnmarkedObjects : public ObjectClosure {
|
|||
}
|
||||
|
||||
// Card marks are not precise. The current system can leave us with
|
||||
// a mismash of precise marks and begining of object marks. This means
|
||||
// a mismash of precise marks and beginning of object marks. This means
|
||||
// we test for missing precise marks first. If any are found, we don't
|
||||
// fail unless the object head is also unmarked.
|
||||
virtual void do_object(oop obj) {
|
||||
|
@ -258,7 +258,7 @@ void CardTableExtension::scavenge_contents_parallel(ObjectStartArray* start_arra
|
|||
if (!start_array->object_starts_in_range(slice_start, slice_end)) {
|
||||
continue;
|
||||
}
|
||||
// Update our begining addr
|
||||
// Update our beginning addr
|
||||
HeapWord* first_object = start_array->object_start(slice_start);
|
||||
debug_only(oop* first_object_within_slice = (oop*) first_object;)
|
||||
if (first_object < slice_start) {
|
||||
|
|
|
@ -127,7 +127,7 @@ class ObjectStartArray : public CHeapObj {
|
|||
// Optimized for finding the first object that crosses into
|
||||
// a given block. The blocks contain the offset of the last
|
||||
// object in that block. Scroll backwards by one, and the first
|
||||
// object hit should be at the begining of the block
|
||||
// object hit should be at the beginning of the block
|
||||
HeapWord* object_start(HeapWord* addr) const {
|
||||
assert(_covered_region.contains(addr), "Must be in covered region");
|
||||
jbyte* block = block_for_addr(addr);
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
// PrefetchQueue is a FIFO queue of variable length (currently 8).
|
||||
//
|
||||
// We need to examine the performance penalty of variable lengths.
|
||||
// We may also want to split this into cpu dependant bits.
|
||||
// We may also want to split this into cpu dependent bits.
|
||||
//
|
||||
|
||||
const int PREFETCH_QUEUE_SIZE = 8;
|
||||
|
|
|
@ -125,6 +125,8 @@ void PSMarkSweep::invoke_no_policy(bool clear_all_softrefs) {
|
|||
perm_gen->verify_object_start_array();
|
||||
}
|
||||
|
||||
heap->pre_full_gc_dump();
|
||||
|
||||
// Filled in below to track the state of the young gen after the collection.
|
||||
bool eden_empty;
|
||||
bool survivors_empty;
|
||||
|
@ -363,6 +365,8 @@ void PSMarkSweep::invoke_no_policy(bool clear_all_softrefs) {
|
|||
Universe::print_heap_after_gc();
|
||||
}
|
||||
|
||||
heap->post_full_gc_dump();
|
||||
|
||||
#ifdef TRACESPINNING
|
||||
ParallelTaskTerminator::print_termination_counts();
|
||||
#endif
|
||||
|
|
|
@ -1982,6 +1982,8 @@ void PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) {
|
|||
heap->record_gen_tops_before_GC();
|
||||
}
|
||||
|
||||
heap->pre_full_gc_dump();
|
||||
|
||||
_print_phases = PrintGCDetails && PrintParallelOldGCPhaseTimes;
|
||||
|
||||
// Make sure data structures are sane, make the heap parsable, and do other
|
||||
|
@ -2204,6 +2206,8 @@ void PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) {
|
|||
gc_task_manager()->print_task_time_stamps();
|
||||
}
|
||||
|
||||
heap->post_full_gc_dump();
|
||||
|
||||
#ifdef TRACESPINNING
|
||||
ParallelTaskTerminator::print_termination_counts();
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue