Skip to content

Commit

Permalink
Fix GC scavengerScanOrdering Not Initialized Correctly
Browse files Browse the repository at this point in the history
Fix GC scavengerScanOrdering not initialized correctly
when gc policy is gencon and splitFreeListSplitAmount is
specified to be a value other than zero.

Signed-off-by: Jonathan Oommen <jon.oommen@gmail.com>
  • Loading branch information
jonoommen committed Aug 20, 2021
1 parent 4544060 commit 266d49d
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions gc/base/Configuration.cpp
Expand Up @@ -466,18 +466,20 @@ MM_Configuration::initializeGCParameters(MM_EnvironmentBase* env)
if (0 == extensions->cacheListSplit) {
extensions->cacheListSplit = (extensions->gcThreadCount - 1) / 8 + 1;
}
if (extensions->scavengerEnabled) {
if (MM_GCExtensionsBase::OMR_GC_SCAVENGER_SCANORDERING_NONE == extensions->scavengerScanOrdering) {
extensions->scavengerScanOrdering = MM_GCExtensionsBase::OMR_GC_SCAVENGER_SCANORDERING_HIERARCHICAL;
} else if (MM_GCExtensionsBase::OMR_GC_SCAVENGER_SCANORDERING_DYNAMIC_BREADTH_FIRST == extensions->scavengerScanOrdering) {
extensions->adaptiveGcCountBetweenHotFieldSort = true;
}
}
#endif /* OMR_GC_MODRON_SCAVENGER */

/* initialize default split freelist split amount */
if (0 == extensions->splitFreeListSplitAmount) {
#if defined(OMR_GC_MODRON_SCAVENGER)
if (extensions->scavengerEnabled) {
extensions->splitFreeListSplitAmount = (extensions->gcThreadCount - 1) / 8 + 1;
if (MM_GCExtensionsBase::OMR_GC_SCAVENGER_SCANORDERING_NONE == extensions->scavengerScanOrdering) {
extensions->scavengerScanOrdering = MM_GCExtensionsBase::OMR_GC_SCAVENGER_SCANORDERING_HIERARCHICAL;
} else if (MM_GCExtensionsBase::OMR_GC_SCAVENGER_SCANORDERING_DYNAMIC_BREADTH_FIRST == extensions->scavengerScanOrdering) {
extensions->adaptiveGcCountBetweenHotFieldSort = true;
}
} else
#endif /* OMR_GC_MODRON_SCAVENGER */
{
Expand Down

0 comments on commit 266d49d

Please sign in to comment.