| Index: src/x64/lithium-x64.h
|
| ===================================================================
|
| --- src/x64/lithium-x64.h (revision 6424)
|
| +++ src/x64/lithium-x64.h (working copy)
|
| @@ -361,7 +361,7 @@
|
| };
|
|
|
|
|
| -template<int R, int I, int T = 0>
|
| +template<int R, int I, int T>
|
| class LTemplateInstruction: public LInstruction {
|
| public:
|
| // Allow 0 or 1 output operands.
|
| @@ -512,7 +512,7 @@
|
| };
|
|
|
|
|
| -template<int I, int T = 0>
|
| +template<int I, int T>
|
| class LControlInstruction: public LTemplateInstruction<0, I, T> {
|
| public:
|
| DECLARE_INSTRUCTION(ControlInstruction)
|
| @@ -570,7 +570,7 @@
|
| };
|
|
|
|
|
| -class LArgumentsLength: public LTemplateInstruction<1, 1> {
|
| +class LArgumentsLength: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LArgumentsLength(LOperand* elements) {
|
| inputs_[0] = elements;
|
| @@ -627,7 +627,7 @@
|
| };
|
|
|
|
|
| -class LCmpID: public LTemplateInstruction<1, 2> {
|
| +class LCmpID: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LCmpID(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -644,7 +644,7 @@
|
| };
|
|
|
|
|
| -class LCmpIDAndBranch: public LControlInstruction<2> {
|
| +class LCmpIDAndBranch: public LControlInstruction<2, 0> {
|
| public:
|
| LCmpIDAndBranch(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -663,7 +663,7 @@
|
| };
|
|
|
|
|
| -class LUnaryMathOperation: public LTemplateInstruction<1, 1> {
|
| +class LUnaryMathOperation: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LUnaryMathOperation(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -677,7 +677,7 @@
|
| };
|
|
|
|
|
| -class LCmpJSObjectEq: public LTemplateInstruction<1, 2> {
|
| +class LCmpJSObjectEq: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LCmpJSObjectEq(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -688,7 +688,7 @@
|
| };
|
|
|
|
|
| -class LCmpJSObjectEqAndBranch: public LControlInstruction<2> {
|
| +class LCmpJSObjectEqAndBranch: public LControlInstruction<2, 0> {
|
| public:
|
| LCmpJSObjectEqAndBranch(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -700,7 +700,7 @@
|
| };
|
|
|
|
|
| -class LIsNull: public LTemplateInstruction<1, 1> {
|
| +class LIsNull: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LIsNull(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -754,7 +754,7 @@
|
| };
|
|
|
|
|
| -class LIsSmi: public LTemplateInstruction<1, 1> {
|
| +class LIsSmi: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LIsSmi(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -765,7 +765,7 @@
|
| };
|
|
|
|
|
| -class LIsSmiAndBranch: public LControlInstruction<1> {
|
| +class LIsSmiAndBranch: public LControlInstruction<1, 0> {
|
| public:
|
| explicit LIsSmiAndBranch(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -777,7 +777,7 @@
|
| };
|
|
|
|
|
| -class LHasInstanceType: public LTemplateInstruction<1, 1> {
|
| +class LHasInstanceType: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LHasInstanceType(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -802,7 +802,7 @@
|
| };
|
|
|
|
|
| -class LHasCachedArrayIndex: public LTemplateInstruction<1, 1> {
|
| +class LHasCachedArrayIndex: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LHasCachedArrayIndex(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -813,7 +813,7 @@
|
| };
|
|
|
|
|
| -class LHasCachedArrayIndexAndBranch: public LControlInstruction<1> {
|
| +class LHasCachedArrayIndexAndBranch: public LControlInstruction<1, 0> {
|
| public:
|
| explicit LHasCachedArrayIndexAndBranch(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -854,7 +854,7 @@
|
| };
|
|
|
|
|
| -class LCmpT: public LTemplateInstruction<1, 2> {
|
| +class LCmpT: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LCmpT(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -868,7 +868,7 @@
|
| };
|
|
|
|
|
| -class LCmpTAndBranch: public LControlInstruction<2> {
|
| +class LCmpTAndBranch: public LControlInstruction<2, 0> {
|
| public:
|
| LCmpTAndBranch(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -882,7 +882,7 @@
|
| };
|
|
|
|
|
| -class LInstanceOf: public LTemplateInstruction<1, 2> {
|
| +class LInstanceOf: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LInstanceOf(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -893,7 +893,7 @@
|
| };
|
|
|
|
|
| -class LInstanceOfAndBranch: public LControlInstruction<2> {
|
| +class LInstanceOfAndBranch: public LControlInstruction<2, 0> {
|
| public:
|
| LInstanceOfAndBranch(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -933,7 +933,7 @@
|
| };
|
|
|
|
|
| -class LBitI: public LTemplateInstruction<1, 2> {
|
| +class LBitI: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LBitI(Token::Value op, LOperand* left, LOperand* right)
|
| : op_(op) {
|
| @@ -950,7 +950,7 @@
|
| };
|
|
|
|
|
| -class LShiftI: public LTemplateInstruction<1, 2> {
|
| +class LShiftI: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LShiftI(Token::Value op, LOperand* left, LOperand* right, bool can_deopt)
|
| : op_(op), can_deopt_(can_deopt) {
|
| @@ -970,7 +970,7 @@
|
| };
|
|
|
|
|
| -class LSubI: public LTemplateInstruction<1, 2> {
|
| +class LSubI: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LSubI(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -1026,7 +1026,7 @@
|
| };
|
|
|
|
|
| -class LBranch: public LControlInstruction<1> {
|
| +class LBranch: public LControlInstruction<1, 0> {
|
| public:
|
| explicit LBranch(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1039,7 +1039,7 @@
|
| };
|
|
|
|
|
| -class LCmpMapAndBranch: public LTemplateInstruction<0, 1> {
|
| +class LCmpMapAndBranch: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LCmpMapAndBranch(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1060,7 +1060,7 @@
|
| };
|
|
|
|
|
| -class LJSArrayLength: public LTemplateInstruction<1, 1> {
|
| +class LJSArrayLength: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LJSArrayLength(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1071,7 +1071,7 @@
|
| };
|
|
|
|
|
| -class LFixedArrayLength: public LTemplateInstruction<1, 1> {
|
| +class LFixedArrayLength: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LFixedArrayLength(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1094,7 +1094,7 @@
|
| };
|
|
|
|
|
| -class LThrow: public LTemplateInstruction<0, 1> {
|
| +class LThrow: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LThrow(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1104,7 +1104,7 @@
|
| };
|
|
|
|
|
| -class LBitNotI: public LTemplateInstruction<1, 1> {
|
| +class LBitNotI: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LBitNotI(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1114,7 +1114,7 @@
|
| };
|
|
|
|
|
| -class LAddI: public LTemplateInstruction<1, 2> {
|
| +class LAddI: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LAddI(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -1126,7 +1126,7 @@
|
| };
|
|
|
|
|
| -class LPower: public LTemplateInstruction<1, 2> {
|
| +class LPower: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LPower(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -1138,7 +1138,7 @@
|
| };
|
|
|
|
|
| -class LArithmeticD: public LTemplateInstruction<1, 2> {
|
| +class LArithmeticD: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LArithmeticD(Token::Value op, LOperand* left, LOperand* right)
|
| : op_(op) {
|
| @@ -1156,7 +1156,7 @@
|
| };
|
|
|
|
|
| -class LArithmeticT: public LTemplateInstruction<1, 2> {
|
| +class LArithmeticT: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LArithmeticT(Token::Value op, LOperand* left, LOperand* right)
|
| : op_(op) {
|
| @@ -1174,7 +1174,7 @@
|
| };
|
|
|
|
|
| -class LReturn: public LTemplateInstruction<0, 1> {
|
| +class LReturn: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LReturn(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1184,7 +1184,7 @@
|
| };
|
|
|
|
|
| -class LLoadNamedField: public LTemplateInstruction<1, 1> {
|
| +class LLoadNamedField: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LLoadNamedField(LOperand* object) {
|
| inputs_[0] = object;
|
| @@ -1195,7 +1195,7 @@
|
| };
|
|
|
|
|
| -class LLoadNamedGeneric: public LTemplateInstruction<1, 1> {
|
| +class LLoadNamedGeneric: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LLoadNamedGeneric(LOperand* object) {
|
| inputs_[0] = object;
|
| @@ -1223,7 +1223,7 @@
|
| };
|
|
|
|
|
| -class LLoadElements: public LTemplateInstruction<1, 1> {
|
| +class LLoadElements: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LLoadElements(LOperand* object) {
|
| inputs_[0] = object;
|
| @@ -1233,7 +1233,7 @@
|
| };
|
|
|
|
|
| -class LLoadKeyedFastElement: public LTemplateInstruction<1, 2> {
|
| +class LLoadKeyedFastElement: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LLoadKeyedFastElement(LOperand* elements, LOperand* key) {
|
| inputs_[0] = elements;
|
| @@ -1248,7 +1248,7 @@
|
| };
|
|
|
|
|
| -class LLoadKeyedGeneric: public LTemplateInstruction<1, 2> {
|
| +class LLoadKeyedGeneric: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LLoadKeyedGeneric(LOperand* obj, LOperand* key) {
|
| inputs_[0] = obj;
|
| @@ -1269,7 +1269,7 @@
|
| };
|
|
|
|
|
| -class LStoreGlobal: public LTemplateInstruction<0, 1> {
|
| +class LStoreGlobal: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LStoreGlobal(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1292,7 +1292,7 @@
|
| };
|
|
|
|
|
| -class LPushArgument: public LTemplateInstruction<0, 1> {
|
| +class LPushArgument: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LPushArgument(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1386,7 +1386,7 @@
|
| };
|
|
|
|
|
| -class LCallNew: public LTemplateInstruction<1, 1> {
|
| +class LCallNew: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LCallNew(LOperand* constructor) {
|
| inputs_[0] = constructor;
|
| @@ -1411,7 +1411,7 @@
|
| };
|
|
|
|
|
| -class LInteger32ToDouble: public LTemplateInstruction<1, 1> {
|
| +class LInteger32ToDouble: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LInteger32ToDouble(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1421,7 +1421,7 @@
|
| };
|
|
|
|
|
| -class LNumberTagI: public LTemplateInstruction<1, 1> {
|
| +class LNumberTagI: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LNumberTagI(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1472,7 +1472,7 @@
|
| };
|
|
|
|
|
| -class LSmiTag: public LTemplateInstruction<1, 1> {
|
| +class LSmiTag: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LSmiTag(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1482,7 +1482,7 @@
|
| };
|
|
|
|
|
| -class LNumberUntagD: public LTemplateInstruction<1, 1> {
|
| +class LNumberUntagD: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LNumberUntagD(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1492,7 +1492,7 @@
|
| };
|
|
|
|
|
| -class LSmiUntag: public LTemplateInstruction<1, 1> {
|
| +class LSmiUntag: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| LSmiUntag(LOperand* value, bool needs_check)
|
| : needs_check_(needs_check) {
|
| @@ -1591,7 +1591,7 @@
|
| };
|
|
|
|
|
| -class LCheckFunction: public LTemplateInstruction<0, 1> {
|
| +class LCheckFunction: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LCheckFunction(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1614,7 +1614,7 @@
|
| };
|
|
|
|
|
| -class LCheckMap: public LTemplateInstruction<0, 1> {
|
| +class LCheckMap: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LCheckMap(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1639,7 +1639,7 @@
|
| };
|
|
|
|
|
| -class LCheckSmi: public LTemplateInstruction<0, 1> {
|
| +class LCheckSmi: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| LCheckSmi(LOperand* value, Condition condition)
|
| : condition_(condition) {
|
| @@ -1688,7 +1688,7 @@
|
| };
|
|
|
|
|
| -class LTypeof: public LTemplateInstruction<1, 1> {
|
| +class LTypeof: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LTypeof(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1698,7 +1698,7 @@
|
| };
|
|
|
|
|
| -class LTypeofIs: public LTemplateInstruction<1, 1> {
|
| +class LTypeofIs: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LTypeofIs(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1713,7 +1713,7 @@
|
| };
|
|
|
|
|
| -class LTypeofIsAndBranch: public LControlInstruction<1> {
|
| +class LTypeofIsAndBranch: public LControlInstruction<1, 0> {
|
| public:
|
| explicit LTypeofIsAndBranch(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1728,7 +1728,7 @@
|
| };
|
|
|
|
|
| -class LDeleteProperty: public LTemplateInstruction<1, 2> {
|
| +class LDeleteProperty: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LDeleteProperty(LOperand* obj, LOperand* key) {
|
| inputs_[0] = obj;
|
|
|