diff 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
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Wed Sep 11 10:14:32 2013 +0200
+++ b/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Wed Sep 11 10:19:16 2013 +0200
@@ -481,9 +481,8 @@
 
 ConcurrentMark::ConcurrentMark(G1CollectedHeap* g1h, ReservedSpace heap_rs) :
   _g1h(g1h),
-  _markBitMap1(MinObjAlignment - 1),
-  _markBitMap2(MinObjAlignment - 1),
-
+  _markBitMap1(log2_intptr(MinObjAlignment)),
+  _markBitMap2(log2_intptr(MinObjAlignment)),
   _parallel_marking_threads(0),
   _max_parallel_marking_threads(0),
   _sleep_factor(0.0),