| 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) {
|
|
|