| Index: src/ia32/lithium-ia32.h
|
| ===================================================================
|
| --- src/ia32/lithium-ia32.h (revision 6424)
|
| +++ src/ia32/lithium-ia32.h (working copy)
|
| @@ -365,7 +365,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.
|
| @@ -516,7 +516,7 @@
|
| };
|
|
|
|
|
| -template<int I, int T = 0>
|
| +template<int I, int T>
|
| class LControlInstruction: public LTemplateInstruction<0, I, T> {
|
| public:
|
| DECLARE_INSTRUCTION(ControlInstruction)
|
| @@ -574,7 +574,7 @@
|
| };
|
|
|
|
|
| -class LArgumentsLength: public LTemplateInstruction<1, 1> {
|
| +class LArgumentsLength: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LArgumentsLength(LOperand* elements) {
|
| inputs_[0] = elements;
|
| @@ -631,7 +631,7 @@
|
| };
|
|
|
|
|
| -class LCmpID: public LTemplateInstruction<1, 2> {
|
| +class LCmpID: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LCmpID(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -648,7 +648,7 @@
|
| };
|
|
|
|
|
| -class LCmpIDAndBranch: public LControlInstruction<2> {
|
| +class LCmpIDAndBranch: public LControlInstruction<2, 0> {
|
| public:
|
| LCmpIDAndBranch(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -667,7 +667,7 @@
|
| };
|
|
|
|
|
| -class LUnaryMathOperation: public LTemplateInstruction<1, 1> {
|
| +class LUnaryMathOperation: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LUnaryMathOperation(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -681,7 +681,7 @@
|
| };
|
|
|
|
|
| -class LCmpJSObjectEq: public LTemplateInstruction<1, 2> {
|
| +class LCmpJSObjectEq: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LCmpJSObjectEq(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -692,7 +692,7 @@
|
| };
|
|
|
|
|
| -class LCmpJSObjectEqAndBranch: public LControlInstruction<2> {
|
| +class LCmpJSObjectEqAndBranch: public LControlInstruction<2, 0> {
|
| public:
|
| LCmpJSObjectEqAndBranch(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -704,7 +704,7 @@
|
| };
|
|
|
|
|
| -class LIsNull: public LTemplateInstruction<1, 1> {
|
| +class LIsNull: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LIsNull(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -758,7 +758,7 @@
|
| };
|
|
|
|
|
| -class LIsSmi: public LTemplateInstruction<1, 1> {
|
| +class LIsSmi: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LIsSmi(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -769,7 +769,7 @@
|
| };
|
|
|
|
|
| -class LIsSmiAndBranch: public LControlInstruction<1> {
|
| +class LIsSmiAndBranch: public LControlInstruction<1, 0> {
|
| public:
|
| explicit LIsSmiAndBranch(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -781,7 +781,7 @@
|
| };
|
|
|
|
|
| -class LHasInstanceType: public LTemplateInstruction<1, 1> {
|
| +class LHasInstanceType: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LHasInstanceType(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -807,7 +807,7 @@
|
| };
|
|
|
|
|
| -class LHasCachedArrayIndex: public LTemplateInstruction<1, 1> {
|
| +class LHasCachedArrayIndex: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LHasCachedArrayIndex(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -818,7 +818,7 @@
|
| };
|
|
|
|
|
| -class LHasCachedArrayIndexAndBranch: public LControlInstruction<1> {
|
| +class LHasCachedArrayIndexAndBranch: public LControlInstruction<1, 0> {
|
| public:
|
| explicit LHasCachedArrayIndexAndBranch(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -860,7 +860,7 @@
|
| };
|
|
|
|
|
| -class LCmpT: public LTemplateInstruction<1, 2> {
|
| +class LCmpT: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LCmpT(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -874,7 +874,7 @@
|
| };
|
|
|
|
|
| -class LCmpTAndBranch: public LControlInstruction<2> {
|
| +class LCmpTAndBranch: public LControlInstruction<2, 0> {
|
| public:
|
| LCmpTAndBranch(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -888,7 +888,7 @@
|
| };
|
|
|
|
|
| -class LInstanceOf: public LTemplateInstruction<1, 2> {
|
| +class LInstanceOf: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LInstanceOf(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -899,7 +899,7 @@
|
| };
|
|
|
|
|
| -class LInstanceOfAndBranch: public LControlInstruction<2> {
|
| +class LInstanceOfAndBranch: public LControlInstruction<2, 0> {
|
| public:
|
| LInstanceOfAndBranch(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -939,7 +939,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) {
|
| @@ -956,7 +956,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) {
|
| @@ -976,7 +976,7 @@
|
| };
|
|
|
|
|
| -class LSubI: public LTemplateInstruction<1, 2> {
|
| +class LSubI: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LSubI(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -1029,7 +1029,7 @@
|
| };
|
|
|
|
|
| -class LBranch: public LControlInstruction<1> {
|
| +class LBranch: public LControlInstruction<1, 0> {
|
| public:
|
| explicit LBranch(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1042,7 +1042,7 @@
|
| };
|
|
|
|
|
| -class LCmpMapAndBranch: public LTemplateInstruction<0, 1> {
|
| +class LCmpMapAndBranch: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LCmpMapAndBranch(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1063,7 +1063,7 @@
|
| };
|
|
|
|
|
| -class LJSArrayLength: public LTemplateInstruction<1, 1> {
|
| +class LJSArrayLength: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LJSArrayLength(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1074,7 +1074,7 @@
|
| };
|
|
|
|
|
| -class LFixedArrayLength: public LTemplateInstruction<1, 1> {
|
| +class LFixedArrayLength: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LFixedArrayLength(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1097,7 +1097,7 @@
|
| };
|
|
|
|
|
| -class LThrow: public LTemplateInstruction<0, 1> {
|
| +class LThrow: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LThrow(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1107,7 +1107,7 @@
|
| };
|
|
|
|
|
| -class LBitNotI: public LTemplateInstruction<1, 1> {
|
| +class LBitNotI: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LBitNotI(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1117,7 +1117,7 @@
|
| };
|
|
|
|
|
| -class LAddI: public LTemplateInstruction<1, 2> {
|
| +class LAddI: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LAddI(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -1129,7 +1129,7 @@
|
| };
|
|
|
|
|
| -class LPower: public LTemplateInstruction<1, 2> {
|
| +class LPower: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LPower(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| @@ -1141,7 +1141,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) {
|
| @@ -1159,7 +1159,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) {
|
| @@ -1177,7 +1177,7 @@
|
| };
|
|
|
|
|
| -class LReturn: public LTemplateInstruction<0, 1> {
|
| +class LReturn: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LReturn(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1187,7 +1187,7 @@
|
| };
|
|
|
|
|
| -class LLoadNamedField: public LTemplateInstruction<1, 1> {
|
| +class LLoadNamedField: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LLoadNamedField(LOperand* object) {
|
| inputs_[0] = object;
|
| @@ -1198,7 +1198,7 @@
|
| };
|
|
|
|
|
| -class LLoadNamedGeneric: public LTemplateInstruction<1, 1> {
|
| +class LLoadNamedGeneric: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LLoadNamedGeneric(LOperand* object) {
|
| inputs_[0] = object;
|
| @@ -1226,7 +1226,7 @@
|
| };
|
|
|
|
|
| -class LLoadElements: public LTemplateInstruction<1, 1> {
|
| +class LLoadElements: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LLoadElements(LOperand* object) {
|
| inputs_[0] = object;
|
| @@ -1236,7 +1236,7 @@
|
| };
|
|
|
|
|
| -class LLoadKeyedFastElement: public LTemplateInstruction<1, 2> {
|
| +class LLoadKeyedFastElement: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LLoadKeyedFastElement(LOperand* elements, LOperand* key) {
|
| inputs_[0] = elements;
|
| @@ -1251,7 +1251,7 @@
|
| };
|
|
|
|
|
| -class LLoadKeyedGeneric: public LTemplateInstruction<1, 2> {
|
| +class LLoadKeyedGeneric: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LLoadKeyedGeneric(LOperand* obj, LOperand* key) {
|
| inputs_[0] = obj;
|
| @@ -1272,7 +1272,7 @@
|
| };
|
|
|
|
|
| -class LStoreGlobal: public LTemplateInstruction<0, 1> {
|
| +class LStoreGlobal: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LStoreGlobal(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1295,7 +1295,7 @@
|
| };
|
|
|
|
|
| -class LPushArgument: public LTemplateInstruction<0, 1> {
|
| +class LPushArgument: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LPushArgument(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1389,7 +1389,7 @@
|
| };
|
|
|
|
|
| -class LCallNew: public LTemplateInstruction<1, 1> {
|
| +class LCallNew: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LCallNew(LOperand* constructor) {
|
| inputs_[0] = constructor;
|
| @@ -1414,7 +1414,7 @@
|
| };
|
|
|
|
|
| -class LInteger32ToDouble: public LTemplateInstruction<1, 1> {
|
| +class LInteger32ToDouble: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LInteger32ToDouble(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1424,7 +1424,7 @@
|
| };
|
|
|
|
|
| -class LNumberTagI: public LTemplateInstruction<1, 1> {
|
| +class LNumberTagI: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LNumberTagI(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1475,7 +1475,7 @@
|
| };
|
|
|
|
|
| -class LSmiTag: public LTemplateInstruction<1, 1> {
|
| +class LSmiTag: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LSmiTag(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1485,7 +1485,7 @@
|
| };
|
|
|
|
|
| -class LNumberUntagD: public LTemplateInstruction<1, 1> {
|
| +class LNumberUntagD: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LNumberUntagD(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1495,7 +1495,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) {
|
| @@ -1622,7 +1622,7 @@
|
| };
|
|
|
|
|
| -class LCheckFunction: public LTemplateInstruction<0, 1> {
|
| +class LCheckFunction: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LCheckFunction(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1645,7 +1645,7 @@
|
| };
|
|
|
|
|
| -class LCheckMap: public LTemplateInstruction<0, 1> {
|
| +class LCheckMap: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LCheckMap(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1670,7 +1670,7 @@
|
| };
|
|
|
|
|
| -class LCheckSmi: public LTemplateInstruction<0, 1> {
|
| +class LCheckSmi: public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| LCheckSmi(LOperand* value, Condition condition)
|
| : condition_(condition) {
|
| @@ -1719,7 +1719,7 @@
|
| };
|
|
|
|
|
| -class LTypeof: public LTemplateInstruction<1, 1> {
|
| +class LTypeof: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LTypeof(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1729,7 +1729,7 @@
|
| };
|
|
|
|
|
| -class LTypeofIs: public LTemplateInstruction<1, 1> {
|
| +class LTypeofIs: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LTypeofIs(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1744,7 +1744,7 @@
|
| };
|
|
|
|
|
| -class LTypeofIsAndBranch: public LControlInstruction<1> {
|
| +class LTypeofIsAndBranch: public LControlInstruction<1, 0> {
|
| public:
|
| explicit LTypeofIsAndBranch(LOperand* value) {
|
| inputs_[0] = value;
|
| @@ -1759,7 +1759,7 @@
|
| };
|
|
|
|
|
| -class LDeleteProperty: public LTemplateInstruction<1, 2> {
|
| +class LDeleteProperty: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LDeleteProperty(LOperand* obj, LOperand* key) {
|
| inputs_[0] = obj;
|
|
|