Index: pkg/compiler/lib/src/ssa/optimize.dart |
diff --git a/pkg/compiler/lib/src/ssa/optimize.dart b/pkg/compiler/lib/src/ssa/optimize.dart |
index 1186d9cf35b22faae3af62a67888beba6ffde3fa..a287b70ab2252e6cfc257b4e7aa0f88b1cc8bd20 100644 |
--- a/pkg/compiler/lib/src/ssa/optimize.dart |
+++ b/pkg/compiler/lib/src/ssa/optimize.dart |
@@ -19,7 +19,7 @@ import '../types/types.dart'; |
import '../universe/selector.dart' show Selector; |
import '../universe/side_effects.dart' show SideEffects; |
import '../util/util.dart'; |
-import '../world.dart' show ClassWorld; |
+import '../world.dart' show ClosedWorld; |
import 'interceptor_simplifier.dart'; |
import 'nodes.dart'; |
import 'types.dart'; |
@@ -126,7 +126,7 @@ class SsaOptimizerTask extends CompilerTask { |
/// of identifying gvn-able lengths and mis-identifies some unions of fixed |
/// length indexables (see TODO) as not fixed length. |
bool isFixedLength(mask, Compiler compiler) { |
- ClassWorld classWorld = compiler.closedWorld; |
+ ClosedWorld closedWorld = compiler.closedWorld; |
JavaScriptBackend backend = compiler.backend; |
if (mask.isContainer && mask.length != null) { |
// A container on which we have inferred the length. |
@@ -135,7 +135,7 @@ bool isFixedLength(mask, Compiler compiler) { |
// TODO(sra): Recognize any combination of fixed length indexables. |
if (mask.containsOnly(backend.helpers.jsFixedArrayClass) || |
mask.containsOnly(backend.helpers.jsUnmodifiableArrayClass) || |
- mask.containsOnlyString(classWorld) || |
+ mask.containsOnlyString(closedWorld) || |
backend.isTypedArray(mask)) { |
return true; |
} |
@@ -334,14 +334,14 @@ class SsaInstructionSimplifier extends HBaseVisitor |
Element element = helpers.jsIndexableLength; |
bool isFixed = isFixedLength(actualReceiver.instructionType, compiler); |
TypeMask actualType = node.instructionType; |
- ClassWorld classWorld = compiler.closedWorld; |
+ ClosedWorld closedWorld = compiler.closedWorld; |
TypeMask resultType = backend.positiveIntType; |
// If we already have computed a more specific type, keep that type. |
if (HInstruction.isInstanceOf( |
- actualType, helpers.jsUInt31Class, classWorld)) { |
+ actualType, helpers.jsUInt31Class, closedWorld)) { |
resultType = backend.uint31Type; |
} else if (HInstruction.isInstanceOf( |
- actualType, helpers.jsUInt32Class, classWorld)) { |
+ actualType, helpers.jsUInt32Class, closedWorld)) { |
resultType = backend.uint32Type; |
} |
HFieldGet result = new HFieldGet(element, actualReceiver, resultType, |
@@ -374,7 +374,7 @@ class SsaInstructionSimplifier extends HBaseVisitor |
TypeMask mask = node.mask; |
HInstruction input = node.inputs[1]; |
- ClassWorld world = compiler.closedWorld; |
+ ClosedWorld world = compiler.closedWorld; |
bool applies(Element element) { |
return selector.applies(element, backend) && |
@@ -734,7 +734,7 @@ class SsaInstructionSimplifier extends HBaseVisitor |
return graph.addConstantBool(true, compiler); |
} |
- ClassWorld classWorld = compiler.closedWorld; |
+ ClosedWorld closedWorld = compiler.closedWorld; |
HInstruction expression = node.expression; |
if (expression.isInteger(compiler)) { |
if (element == coreClasses.intClass || |
@@ -778,11 +778,11 @@ class SsaInstructionSimplifier extends HBaseVisitor |
// raw type. |
} else if (!RuntimeTypes.hasTypeArguments(type)) { |
TypeMask expressionMask = expression.instructionType; |
- assert(TypeMask.assertIsNormalized(expressionMask, classWorld)); |
+ assert(TypeMask.assertIsNormalized(expressionMask, closedWorld)); |
TypeMask typeMask = (element == coreClasses.nullClass) |
- ? new TypeMask.subtype(element, classWorld) |
- : new TypeMask.nonNullSubtype(element, classWorld); |
- if (expressionMask.union(typeMask, classWorld) == typeMask) { |
+ ? new TypeMask.subtype(element, closedWorld) |
+ : new TypeMask.nonNullSubtype(element, closedWorld); |
+ if (expressionMask.union(typeMask, closedWorld) == typeMask) { |
return graph.addConstantBool(true, compiler); |
} else if (expressionMask.isDisjoint(typeMask, compiler.closedWorld)) { |
return graph.addConstantBool(false, compiler); |
@@ -815,11 +815,11 @@ class SsaInstructionSimplifier extends HBaseVisitor |
} |
HInstruction removeIfCheckAlwaysSucceeds(HCheck node, TypeMask checkedType) { |
- ClassWorld classWorld = compiler.closedWorld; |
- if (checkedType.containsAll(classWorld)) return node; |
+ ClosedWorld closedWorld = compiler.closedWorld; |
+ if (checkedType.containsAll(closedWorld)) return node; |
HInstruction input = node.checkedInput; |
TypeMask inputType = input.instructionType; |
- return inputType.isInMask(checkedType, classWorld) ? input : node; |
+ return inputType.isInMask(checkedType, closedWorld) ? input : node; |
} |
HInstruction removeCheck(HCheck node) => node.checkedInput; |
@@ -1036,10 +1036,10 @@ class SsaInstructionSimplifier extends HBaseVisitor |
} |
bool needsSubstitutionForTypeVariableAccess(ClassElement cls) { |
- ClassWorld classWorld = compiler.closedWorld; |
- if (classWorld.isUsedAsMixin(cls)) return true; |
+ ClosedWorld closedWorld = compiler.closedWorld; |
+ if (closedWorld.isUsedAsMixin(cls)) return true; |
- return classWorld.anyStrictSubclassOf(cls, (ClassElement subclass) { |
+ return closedWorld.anyStrictSubclassOf(cls, (ClassElement subclass) { |
return !backend.rti.isTrivialSubstitution(subclass, cls); |
}); |
} |