diff src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp @ 301:387a62b4be60

6728478: Assertion at parallel promotion from young to old generation Summary: The fix avoids a call to address_for_index() in this particular situation where it is not known if the passed index is in bounds. Reviewed-by: tonyp
author jmasa
date Wed, 20 Aug 2008 23:05:04 -0700
parents d1605aabd0a1
children 7d7a7c599c17
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp	Wed Aug 20 15:41:36 2008 -0700
+++ b/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp	Wed Aug 20 23:05:04 2008 -0700
@@ -229,7 +229,7 @@
     HeapWord* first_card_start = _bsa->address_for_index(first_card_index);
     if (first_card_start < pre_top) {
       HeapWord* second_card_start =
-        _bsa->address_for_index(first_card_index + 1);
+        _bsa->inc_by_region_size(first_card_start);
 
       // Ensure enough room to fill with the smallest block
       second_card_start = MAX2(second_card_start, pre_top + AlignmentReserve);