--- old/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp 2014-07-03 21:12:51.381584193 +0200 +++ new/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp 2014-07-03 21:12:51.273584197 +0200 @@ -426,7 +426,7 @@ q = n; oop obj = oop(q); if (obj->klass_or_null() == NULL) return q; - n += obj->size(); + n += block_size(q); } assert(q <= next_boundary && n > next_boundary, "Consequence of loop"); // [q, n) is the block that crosses the boundary.