mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
6956639: G1: assert(cached_ptr != card_ptr) failed: shouldn't be, concurrentG1Refine.cpp:307
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
This commit is contained in:
parent
daf491a814
commit
5c3da1ee7e
5 changed files with 75 additions and 46 deletions
|
@ -638,6 +638,11 @@ G1CollectedHeap::attempt_allocation_slow(size_t word_size,
|
|||
|
||||
// Now retry the allocation.
|
||||
if (_cur_alloc_region != NULL) {
|
||||
if (allocated_young_region != NULL) {
|
||||
// We need to ensure that the store to top does not
|
||||
// float above the setting of the young type.
|
||||
OrderAccess::storestore();
|
||||
}
|
||||
res = _cur_alloc_region->allocate(word_size);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue