Example #1
0
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;
}