Index: sdk/lib/_internal/compiler/implementation/ssa/nodes.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart b/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart |
index c6e818b0d3de07361e1da79b4e873b783a42a5df..88718e143fa8eda77f055a8013b33b8a02124012 100644 |
--- a/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart |
+++ b/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart |
@@ -2528,18 +2528,20 @@ class HIs extends HInstruction { |
final DartType typeExpression; |
final bool nullOk; |
- HIs.withTypeInfoCall(this.typeExpression, HInstruction expression, |
- HInstruction typeInfo, [this.nullOk = false]) |
- : super(<HInstruction>[expression, typeInfo]); |
+ HIs.withArgumentChecks(this.typeExpression, |
+ HInstruction expression, |
+ List<HInstruction> checks, |
+ [this.nullOk = false]) |
+ : super(<HInstruction>[expression]..addAll(checks)); |
HIs(this.typeExpression, HInstruction expression, {this.nullOk: false}) |
: super(<HInstruction>[expression]); |
HInstruction get expression => inputs[0]; |
+ HInstruction getCheck(int index) => inputs[index + 1]; |
+ int get checkCount => inputs.length - 1; |
- HInstruction get typeInfoCall => inputs[1]; |
- |
- bool hasTypeInfo() => inputs.length == 2; |
+ bool hasArgumentChecks() => inputs.length >= 1; |
HType get guaranteedType => HType.BOOLEAN; |