Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 4a23f2a327ef4d41e19481c84c6279ee779a1907..eebec5a9e272c6a4e7b670ceb206a5d0d6e09b5d 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -773,6 +773,10 @@ class HInstruction: public HValue { |
virtual void Verify() const; |
#endif |
+ // Returns whether this is some kind of deoptimizing check |
+ // instruction. |
+ virtual bool IsCheckInstruction() const { return false; } |
+ |
DECLARE_INSTRUCTION(Instruction) |
protected: |
@@ -1504,6 +1508,8 @@ class HCheckMap: public HUnaryOperation { |
SetFlag(kDependsOnMaps); |
} |
+ virtual bool IsCheckInstruction() const { return true; } |
+ |
virtual Representation RequiredInputRepresentation(int index) const { |
return Representation::Tagged(); |
} |
@@ -1537,6 +1543,8 @@ class HCheckFunction: public HUnaryOperation { |
SetFlag(kUseGVN); |
} |
+ virtual bool IsCheckInstruction() const { return true; } |
+ |
virtual Representation RequiredInputRepresentation(int index) const { |
return Representation::Tagged(); |
} |
@@ -1573,6 +1581,8 @@ class HCheckInstanceType: public HUnaryOperation { |
SetFlag(kUseGVN); |
} |
+ virtual bool IsCheckInstruction() const { return true; } |
+ |
virtual Representation RequiredInputRepresentation(int index) const { |
return Representation::Tagged(); |
} |
@@ -1610,6 +1620,8 @@ class HCheckNonSmi: public HUnaryOperation { |
SetFlag(kUseGVN); |
} |
+ virtual bool IsCheckInstruction() const { return true; } |
+ |
virtual Representation RequiredInputRepresentation(int index) const { |
return Representation::Tagged(); |
} |
@@ -1632,6 +1644,8 @@ class HCheckPrototypeMaps: public HInstruction { |
SetFlag(kDependsOnMaps); |
} |
+ virtual bool IsCheckInstruction() const { return true; } |
+ |
#ifdef DEBUG |
virtual void Verify() const; |
#endif |
@@ -1668,6 +1682,8 @@ class HCheckSmi: public HUnaryOperation { |
SetFlag(kUseGVN); |
} |
+ virtual bool IsCheckInstruction() const { return true; } |
+ |
virtual Representation RequiredInputRepresentation(int index) const { |
return Representation::Tagged(); |
} |
@@ -1996,6 +2012,8 @@ class HBoundsCheck: public HBinaryOperation { |
SetFlag(kUseGVN); |
} |
+ virtual bool IsCheckInstruction() const { return true; } |
+ |
virtual Representation RequiredInputRepresentation(int index) const { |
return Representation::Integer32(); |
} |