Index: sdk/lib/_internal/compiler/implementation/ssa/nodes.dart |
=================================================================== |
--- sdk/lib/_internal/compiler/implementation/ssa/nodes.dart (revision 17447) |
+++ sdk/lib/_internal/compiler/implementation/ssa/nodes.dart (working copy) |
@@ -789,8 +789,9 @@ |
static const int TYPE_CONVERSION_TYPECODE = 28; |
static const int BAILOUT_TARGET_TYPECODE = 29; |
static const int INVOKE_STATIC_TYPECODE = 30; |
- static const int INVOKE_DYNAMIC_GETTER_TYPECODE = 31; |
kasperl
2013/01/23 12:38:04
No more use of 31?
ngeoffray
2013/01/23 12:42:23
No, as well as others. I have updated the constant
|
static const int INDEX_TYPECODE = 32; |
+ static const int IS_TYPECODE = 33; |
+ static const int INVOKE_DYNAMIC_TYPECODE = 34; |
HInstruction(this.inputs) : id = idCounter++, usedBy = <HInstruction>[]; |
@@ -1327,6 +1328,13 @@ |
// parameter to the call. |
return inputs.length - 2 == selector.argumentCount; |
} |
+ |
+ int typeCode() => HInstruction.INVOKE_DYNAMIC_TYPECODE; |
+ bool typeEquals(other) => other is HInvokeDynamic; |
+ bool dataEquals(HInvokeDynamic other) { |
+ return selector == other.selector |
+ && element == other.element; |
+ } |
} |
class HInvokeClosure extends HInvokeDynamic { |
@@ -1390,10 +1398,6 @@ |
} |
toString() => 'invoke dynamic getter: $selector'; |
accept(HVisitor visitor) => visitor.visitInvokeDynamicGetter(this); |
- |
- int typeCode() => HInstruction.INVOKE_DYNAMIC_GETTER_TYPECODE; |
- bool typeEquals(other) => other is HInvokeDynamicGetter; |
- bool dataEquals(HInvokeDynamicGetter other) => selector == other.selector; |
} |
class HInvokeDynamicSetter extends HInvokeDynamicField { |
@@ -2237,6 +2241,13 @@ |
accept(HVisitor visitor) => visitor.visitIs(this); |
toString() => "$expression is $typeExpression"; |
+ |
+ int typeCode() => HInstruction.IS_TYPECODE; |
+ bool typeEquals(HInstruction other) => other is HIs; |
+ bool dataEquals(HIs other) { |
+ return typeExpression == other.typeExpression |
+ && nullOk == other.nullOk; |
+ } |
} |
class HTypeConversion extends HCheck { |