| 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();
|
| }
|
|
|