Index: src/x64/lithium-x64.h |
diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
index 18f64f824cf68ce9e944ebe6cb713ade9587178c..920ea0cb9205f3a27c0b551b37cc0753c9cf640f 100644 |
--- a/src/x64/lithium-x64.h |
+++ b/src/x64/lithium-x64.h |
@@ -76,6 +76,7 @@ class LCodeGen; |
V(CheckNonSmi) \ |
V(CheckPrototypeMaps) \ |
V(CheckSmi) \ |
+ V(CheckSmiAndReturn) \ |
V(ClampDToUint8) \ |
V(ClampIToUint8) \ |
V(ClampTToUint8) \ |
@@ -2294,7 +2295,7 @@ class LCheckPrototypeMaps: public LTemplateInstruction<0, 0, 1> { |
}; |
-class LCheckSmi: public LTemplateInstruction<1, 1, 0> { |
+class LCheckSmi: public LTemplateInstruction<0, 1, 0> { |
public: |
explicit LCheckSmi(LOperand* value) { |
inputs_[0] = value; |
@@ -2306,6 +2307,18 @@ class LCheckSmi: public LTemplateInstruction<1, 1, 0> { |
}; |
+class LCheckSmiAndReturn: public LTemplateInstruction<1, 1, 0> { |
+ public: |
+ explicit LCheckSmiAndReturn(LOperand* value) { |
+ inputs_[0] = value; |
+ } |
+ |
+ LOperand* value() { return inputs_[0]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(CheckSmiAndReturn, "check-smi-and-return") |
+}; |
+ |
+ |
class LClampDToUint8: public LTemplateInstruction<1, 1, 0> { |
public: |
explicit LClampDToUint8(LOperand* unclamped) { |