comparison src/share/vm/gc_implementation/g1/concurrentMark.cpp @ 12229:ff218fdb30ba

8021823: G1: Concurrent marking crashes with -XX:ObjectAlignmentInBytes>=32 in 64bit VMs Summary: Correctly calculate the initialization value for the shift between object start and bitmap bit in the G1 mark bitmaps. Reviewed-by: tonyp
author tschatzl
date Wed, 11 Sep 2013 10:19:16 +0200
parents 5888334c9c24
children 190899198332
comparison
equal deleted inserted replaced
12228:f7bc2ab5f659 12229:ff218fdb30ba
479 return MAX2((n_par_threads + 2) / 4, 1U); 479 return MAX2((n_par_threads + 2) / 4, 1U);
480 } 480 }
481 481
482 ConcurrentMark::ConcurrentMark(G1CollectedHeap* g1h, ReservedSpace heap_rs) : 482 ConcurrentMark::ConcurrentMark(G1CollectedHeap* g1h, ReservedSpace heap_rs) :
483 _g1h(g1h), 483 _g1h(g1h),
484 _markBitMap1(MinObjAlignment - 1), 484 _markBitMap1(log2_intptr(MinObjAlignment)),
485 _markBitMap2(MinObjAlignment - 1), 485 _markBitMap2(log2_intptr(MinObjAlignment)),
486
487 _parallel_marking_threads(0), 486 _parallel_marking_threads(0),
488 _max_parallel_marking_threads(0), 487 _max_parallel_marking_threads(0),
489 _sleep_factor(0.0), 488 _sleep_factor(0.0),
490 _marking_task_overhead(1.0), 489 _marking_task_overhead(1.0),
491 _cleanup_sleep_factor(0.0), 490 _cleanup_sleep_factor(0.0),