comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 1666:5cbac8938c4c

6956639: G1: assert(cached_ptr != card_ptr) failed: shouldn't be, concurrentG1Refine.cpp:307 Summary: During concurrent refinment, filter cards in young regions after it has been determined that the region has been allocated from and the young type of the region has been set. Reviewed-by: iveresov, tonyp, jcoomes
author johnc
date Mon, 19 Jul 2010 11:06:34 -0700
parents 4e5661ba9d98
children 2d160770d2e5
comparison
equal deleted inserted replaced
1665:a93a9eda13f7 1666:5cbac8938c4c
636 assert(_cur_alloc_region == NULL || !_cur_alloc_region->isHumongous(), 636 assert(_cur_alloc_region == NULL || !_cur_alloc_region->isHumongous(),
637 "Prevent a regression of this bug."); 637 "Prevent a regression of this bug.");
638 638
639 // Now retry the allocation. 639 // Now retry the allocation.
640 if (_cur_alloc_region != NULL) { 640 if (_cur_alloc_region != NULL) {
641 if (allocated_young_region != NULL) {
642 // We need to ensure that the store to top does not
643 // float above the setting of the young type.
644 OrderAccess::storestore();
645 }
641 res = _cur_alloc_region->allocate(word_size); 646 res = _cur_alloc_region->allocate(word_size);
642 } 647 }
643 } 648 }
644 649
645 // NOTE: fails frequently in PRT 650 // NOTE: fails frequently in PRT