| Index: pkg/compiler/lib/src/ssa/types.dart
 | 
| diff --git a/pkg/compiler/lib/src/ssa/types.dart b/pkg/compiler/lib/src/ssa/types.dart
 | 
| index 18ed76ca5aa1d01aec330ba9fc03f05fd0ab6aa5..601fcb2fa76b79e7983fce00a997b87761b8ce87 100644
 | 
| --- a/pkg/compiler/lib/src/ssa/types.dart
 | 
| +++ b/pkg/compiler/lib/src/ssa/types.dart
 | 
| @@ -15,45 +15,45 @@ class TypeMaskFactory {
 | 
|    static TypeMask inferredReturnTypeForElement(
 | 
|        Element element, Compiler compiler) {
 | 
|      return compiler.globalInference.results.returnTypeOf(element) ??
 | 
| -        compiler.commonMasks.dynamicType;
 | 
| +        compiler.closedWorld.commonMasks.dynamicType;
 | 
|    }
 | 
|  
 | 
|    static TypeMask inferredTypeForElement(Element element, Compiler compiler) {
 | 
|      return compiler.globalInference.results.typeOf(element) ??
 | 
| -        compiler.commonMasks.dynamicType;
 | 
| +        compiler.closedWorld.commonMasks.dynamicType;
 | 
|    }
 | 
|  
 | 
|    static TypeMask inferredTypeForSelector(
 | 
|        Selector selector, TypeMask mask, Compiler compiler) {
 | 
|      return compiler.globalInference.results.typeOfSelector(selector, mask) ??
 | 
| -        compiler.commonMasks.dynamicType;
 | 
| +        compiler.closedWorld.commonMasks.dynamicType;
 | 
|    }
 | 
|  
 | 
|    static TypeMask fromNativeBehavior(
 | 
|        native.NativeBehavior nativeBehavior, Compiler compiler) {
 | 
| +    ClosedWorld closedWorld = compiler.closedWorld;
 | 
| +    CommonMasks commonMasks = closedWorld.commonMasks;
 | 
|      var typesReturned = nativeBehavior.typesReturned;
 | 
| -    if (typesReturned.isEmpty) return compiler.commonMasks.dynamicType;
 | 
| +    if (typesReturned.isEmpty) return commonMasks.dynamicType;
 | 
|  
 | 
| -    ClosedWorld world = compiler.closedWorld;
 | 
| -    CommonMasks commonMasks = compiler.commonMasks;
 | 
| -    CoreClasses coreClasses = compiler.coreClasses;
 | 
| +    CoreClasses coreClasses = closedWorld.coreClasses;
 | 
|  
 | 
|      // [type] is either an instance of [DartType] or special objects
 | 
|      // like [native.SpecialType.JsObject].
 | 
|      TypeMask fromNativeType(dynamic type) {
 | 
|        if (type == native.SpecialType.JsObject) {
 | 
| -        return new TypeMask.nonNullExact(coreClasses.objectClass, world);
 | 
| +        return new TypeMask.nonNullExact(coreClasses.objectClass, closedWorld);
 | 
|        }
 | 
|  
 | 
|        if (type.isVoid) return commonMasks.nullType;
 | 
|        if (type.element == coreClasses.nullClass) return commonMasks.nullType;
 | 
|        if (type.treatAsDynamic) return commonMasks.dynamicType;
 | 
| -      return new TypeMask.nonNullSubtype(type.element, world);
 | 
| +      return new TypeMask.nonNullSubtype(type.element, closedWorld);
 | 
|      }
 | 
|  
 | 
|      TypeMask result = typesReturned
 | 
|          .map(fromNativeType)
 | 
| -        .reduce((t1, t2) => t1.union(t2, compiler.closedWorld));
 | 
| +        .reduce((t1, t2) => t1.union(t2, closedWorld));
 | 
|      assert(!result.isEmpty);
 | 
|      return result;
 | 
|    }
 | 
| 
 |