static MM_GCWriteBarrierType getWriteBarrierType(MM_EnvironmentBase* env) { MM_GCWriteBarrierType writeBarrierType = gc_modron_wrtbar_none; MM_GCExtensionsBase* extensions = env->getExtensions(); if (extensions->isScavengerEnabled()) { if (extensions->isConcurrentMarkEnabled()) { writeBarrierType = gc_modron_wrtbar_cardmark_and_oldcheck; } else { writeBarrierType = gc_modron_wrtbar_oldcheck; } } else if (extensions->isConcurrentMarkEnabled()) { writeBarrierType = gc_modron_wrtbar_cardmark; } return writeBarrierType; }