comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 1166:7b0e9cba0307

6896647: card marks can be deferred too long Summary: Deferred card marks are now flushed during the gc prologue. Parallel[Scavege,OldGC] and SerialGC no longer defer card marks generated by COMPILER2 as a result of ReduceInitialCardMarks. For these cases, introduced a diagnostic option to defer the card marks, only for the purposes of testing and diagnostics. CMS and G1 continue to defer card marks. Potential performance concern related to single-threaded flushing of deferred card marks in the gc prologue will be addressed in the future. Reviewed-by: never, johnc
author ysr
date Wed, 13 Jan 2010 15:26:39 -0800
parents 44f61c24ddab
children 6484c4ee11cb
comparison
equal deleted inserted replaced
1165:2dd52dea6d28 1166:7b0e9cba0307
1439 1439
1440 guarantee(_task_queues != NULL, "task_queues allocation failure."); 1440 guarantee(_task_queues != NULL, "task_queues allocation failure.");
1441 } 1441 }
1442 1442
1443 jint G1CollectedHeap::initialize() { 1443 jint G1CollectedHeap::initialize() {
1444 CollectedHeap::pre_initialize();
1444 os::enable_vtime(); 1445 os::enable_vtime();
1445 1446
1446 // Necessary to satisfy locking discipline assertions. 1447 // Necessary to satisfy locking discipline assertions.
1447 1448
1448 MutexLocker x(Heap_lock); 1449 MutexLocker x(Heap_lock);