bool MM_ConfigurationSegregated::initialize(MM_EnvironmentBase *env) { bool success = false; /* OMRTODO investigate why these must be equal or it segfaults. */ MM_GCExtensionsBase *extensions = env->getExtensions(); extensions->splitAvailableListSplitAmount = extensions->gcThreadCount; if (MM_Configuration::initialize(env)) { env->getOmrVM()->_sizeClasses = _delegate.getSegregatedSizeClasses(env); if (NULL != env->getOmrVM()->_sizeClasses) { extensions->setSegregatedHeap(true); extensions->setStandardGC(true); extensions->arrayletsPerRegion = extensions->regionSize / env->getOmrVM()->_arrayletLeafSize; success = true; } } return success; }