Index: src/arm/lithium-arm.h |
=================================================================== |
--- src/arm/lithium-arm.h (revision 7203) |
+++ src/arm/lithium-arm.h (working copy) |
@@ -69,6 +69,7 @@ |
V(CallStub) \ |
V(CheckFunction) \ |
V(CheckInstanceType) \ |
+ V(CheckNonSmi) \ |
V(CheckMap) \ |
V(CheckPrototypeMaps) \ |
V(CheckSmi) \ |
@@ -1718,20 +1719,21 @@ |
class LCheckSmi: public LTemplateInstruction<0, 1, 0> { |
public: |
- LCheckSmi(LOperand* value, Condition condition) |
- : condition_(condition) { |
+ explicit LCheckSmi(LOperand* value) { |
inputs_[0] = value; |
} |
- Condition condition() const { return condition_; } |
+ DECLARE_CONCRETE_INSTRUCTION(CheckSmi, "check-smi") |
+}; |
- virtual void CompileToNative(LCodeGen* generator); |
- virtual const char* Mnemonic() const { |
- return (condition_ == eq) ? "check-non-smi" : "check-smi"; |
+ |
+class LCheckNonSmi: public LTemplateInstruction<0, 1, 0> { |
+ public: |
+ explicit LCheckNonSmi(LOperand* value) { |
+ inputs_[0] = value; |
} |
- private: |
- Condition condition_; |
+ DECLARE_CONCRETE_INSTRUCTION(CheckNonSmi, "check-non-smi") |
}; |