--- old/src/share/vm/gc/g1/heapRegion.cpp 2015-05-27 14:30:56.043949359 -0400 +++ new/src/share/vm/gc/g1/heapRegion.cpp 2015-05-27 14:30:55.427914258 -0400 @@ -103,6 +103,10 @@ return HeapRegionBounds::max_size(); } +size_t HeapRegion::min_region_size_in_words() { + return HeapRegionBounds::min_size() >> LogHeapWordSize; +} + void HeapRegion::setup_heap_region_size(size_t initial_heap_size, size_t max_heap_size) { size_t region_size = G1HeapRegionSize; if (FLAG_IS_DEFAULT(G1HeapRegionSize)) { @@ -716,7 +720,7 @@ HeapRegion* to = _g1h->heap_region_containing(obj); if (from != NULL && to != NULL && from != to && - !to->is_humongous()) { + !to->is_pinned()) { jbyte cv_obj = *_bs->byte_for_const(_containing_obj); jbyte cv_field = *_bs->byte_for_const(p); const jbyte dirty = CardTableModRefBS::dirty_card_val();