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 585088873f5f191b88fe64c798e341b249d94c82..492b8c5a4ef587d3b3465756507c8f28ecd20df3 100644 |
--- a/pkg/compiler/lib/src/ssa/optimize.dart |
+++ b/pkg/compiler/lib/src/ssa/optimize.dart |
@@ -1036,44 +1036,6 @@ class SsaInstructionSimplifier extends HBaseVisitor |
HInstruction visitOneShotInterceptor(HOneShotInterceptor node) { |
return handleInterceptedCall(node); |
} |
- |
- HInstruction visitTypeInfoReadVariable(HTypeInfoReadVariable node) { |
- TypeVariableType variable = node.variable; |
- HInstruction object = node.object; |
- |
- HInstruction finishGroundType(DartType groundType) { |
- DartType typeAtVariable = |
- groundType.asInstanceOf(variable.element.enclosingClass); |
- if (typeAtVariable != null) { |
- int index = variable.element.index; |
- DartType typeArgument = typeAtVariable.typeArguments[index]; |
- HInstruction replacement = new HTypeInfoExpression( |
- TypeInfoExpressionKind.COMPLETE, |
- typeArgument, |
- const <HInstruction>[], |
- backend.dynamicType); |
- return replacement; |
- } |
- return node; |
- } |
- |
- // Type variable evaluated in the context of a constant can be replaced with |
- // a ground term type. |
- if (object is HConstant) { |
- ConstantValue value = object.constant; |
- if (value is ConstructedConstantValue) { |
- return finishGroundType(value.type); |
- } |
- return node; |
- } |
- |
- // TODO(sra): HTypeInfoReadVariable on an instance creation can be replaced |
- // with an input of the instance creation's HTypeInfoExpression (or a |
- // HTypeInfoExpression of an input). This would in effect store-forward the |
- // type parameters. |
- |
- return node; |
- } |
} |
class SsaCheckInserter extends HBaseVisitor implements OptimizationPhase { |