Remove default template parameter T for the number of temps.

Instead require that the number of temps be specified at each declaration.

Review URL: http://codereview.chromium.org/6265019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
fschneider@chromium.org 2011-01-21 10:31:28 +00:00
parent 7d96f2d40f
commit c630134ed2
2 changed files with 104 additions and 104 deletions

View File

@ -365,7 +365,7 @@ class OperandContainer<T, 0> {
};
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 @@ class LUnknownOSRValue: public LTemplateInstruction<1, 0, 0> {
};
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 LAccessArgumentsAt: public LTemplateInstruction<1, 3, 0> {
};
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 LMulI: public LTemplateInstruction<1, 2, 1> {
};
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 LCmpID: public LTemplateInstruction<1, 2> {
};
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 LCmpIDAndBranch: public LControlInstruction<2> {
};
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 LUnaryMathOperation: public LTemplateInstruction<1, 1> {
};
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 LCmpJSObjectEq: public LTemplateInstruction<1, 2> {
};
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 LCmpJSObjectEqAndBranch: public LControlInstruction<2> {
};
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 LIsObjectAndBranch: public LControlInstruction<1, 2> {
};
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 LIsSmi: public LTemplateInstruction<1, 1> {
};
class LIsSmiAndBranch: public LControlInstruction<1> {
class LIsSmiAndBranch: public LControlInstruction<1, 0> {
public:
explicit LIsSmiAndBranch(LOperand* value) {
inputs_[0] = value;
@ -781,7 +781,7 @@ class LIsSmiAndBranch: public LControlInstruction<1> {
};
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 LHasInstanceTypeAndBranch: public LControlInstruction<1, 1> {
};
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 LHasCachedArrayIndex: public LTemplateInstruction<1, 1> {
};
class LHasCachedArrayIndexAndBranch: public LControlInstruction<1> {
class LHasCachedArrayIndexAndBranch: public LControlInstruction<1, 0> {
public:
explicit LHasCachedArrayIndexAndBranch(LOperand* value) {
inputs_[0] = value;
@ -860,7 +860,7 @@ class LClassOfTestAndBranch: public LControlInstruction<1, 2> {
};
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 LCmpT: public LTemplateInstruction<1, 2> {
};
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 LCmpTAndBranch: public LControlInstruction<2> {
};
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 LInstanceOf: public LTemplateInstruction<1, 2> {
};
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 LBoundsCheck: public LTemplateInstruction<0, 2, 0> {
};
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 LBitI: public LTemplateInstruction<1, 2> {
};
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 LShiftI: public LTemplateInstruction<1, 2> {
};
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 LConstantT: public LConstant {
};
class LBranch: public LControlInstruction<1> {
class LBranch: public LControlInstruction<1, 0> {
public:
explicit LBranch(LOperand* value) {
inputs_[0] = value;
@ -1042,7 +1042,7 @@ class LBranch: public LControlInstruction<1> {
};
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 LCmpMapAndBranch: public LTemplateInstruction<0, 1> {
};
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 LJSArrayLength: public LTemplateInstruction<1, 1> {
};
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 LValueOf: public LTemplateInstruction<1, 1, 1> {
};
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 LThrow: public LTemplateInstruction<0, 1> {
};
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 LBitNotI: public LTemplateInstruction<1, 1> {
};
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 LAddI: public LTemplateInstruction<1, 2> {
};
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 LPower: public LTemplateInstruction<1, 2> {
};
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 LArithmeticD: public LTemplateInstruction<1, 2> {
};
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 LArithmeticT: public LTemplateInstruction<1, 2> {
};
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 LReturn: public LTemplateInstruction<0, 1> {
};
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 LLoadNamedField: public LTemplateInstruction<1, 1> {
};
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 LLoadFunctionPrototype: public LTemplateInstruction<1, 1, 1> {
};
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 LLoadElements: public LTemplateInstruction<1, 1> {
};
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 LLoadKeyedFastElement: public LTemplateInstruction<1, 2> {
};
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 LLoadGlobal: public LTemplateInstruction<1, 0, 0> {
};
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 LLoadContextSlot: public LTemplateInstruction<1, 0, 0> {
};
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 LCallKnownGlobal: public LTemplateInstruction<1, 0, 0> {
};
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 LCallRuntime: public LTemplateInstruction<1, 0, 0> {
};
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 LInteger32ToDouble: public LTemplateInstruction<1, 1> {
};
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 LTaggedToI: public LTemplateInstruction<1, 1, 1> {
};
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 LSmiTag: public LTemplateInstruction<1, 1> {
};
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 LNumberUntagD: public LTemplateInstruction<1, 1> {
};
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 LStringLength: public LTemplateInstruction<1, 1, 0> {
};
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 LCheckInstanceType: public LTemplateInstruction<0, 1, 1> {
};
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 LCheckPrototypeMaps: public LTemplateInstruction<0, 0, 1> {
};
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 LFunctionLiteral: public LTemplateInstruction<1, 0, 0> {
};
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 LTypeof: public LTemplateInstruction<1, 1> {
};
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 LTypeofIs: public LTemplateInstruction<1, 1> {
};
class LTypeofIsAndBranch: public LControlInstruction<1> {
class LTypeofIsAndBranch: public LControlInstruction<1, 0> {
public:
explicit LTypeofIsAndBranch(LOperand* value) {
inputs_[0] = value;
@ -1759,7 +1759,7 @@ class LTypeofIsAndBranch: public LControlInstruction<1> {
};
class LDeleteProperty: public LTemplateInstruction<1, 2> {
class LDeleteProperty: public LTemplateInstruction<1, 2, 0> {
public:
LDeleteProperty(LOperand* obj, LOperand* key) {
inputs_[0] = obj;

View File

@ -361,7 +361,7 @@ class OperandContainer<T, 0> {
};
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 @@ class LUnknownOSRValue: public LTemplateInstruction<1, 0, 0> {
};
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 LAccessArgumentsAt: public LTemplateInstruction<1, 3, 0> {
};
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 LMulI: public LTemplateInstruction<1, 2, 1> {
};
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 LCmpID: public LTemplateInstruction<1, 2> {
};
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 LCmpIDAndBranch: public LControlInstruction<2> {
};
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 LUnaryMathOperation: public LTemplateInstruction<1, 1> {
};
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 LCmpJSObjectEq: public LTemplateInstruction<1, 2> {
};
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 LCmpJSObjectEqAndBranch: public LControlInstruction<2> {
};
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 LIsObjectAndBranch: public LControlInstruction<1, 2> {
};
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 LIsSmi: public LTemplateInstruction<1, 1> {
};
class LIsSmiAndBranch: public LControlInstruction<1> {
class LIsSmiAndBranch: public LControlInstruction<1, 0> {
public:
explicit LIsSmiAndBranch(LOperand* value) {
inputs_[0] = value;
@ -777,7 +777,7 @@ class LIsSmiAndBranch: public LControlInstruction<1> {
};
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 LHasInstanceTypeAndBranch: public LControlInstruction<1, 0> {
};
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 LHasCachedArrayIndex: public LTemplateInstruction<1, 1> {
};
class LHasCachedArrayIndexAndBranch: public LControlInstruction<1> {
class LHasCachedArrayIndexAndBranch: public LControlInstruction<1, 0> {
public:
explicit LHasCachedArrayIndexAndBranch(LOperand* value) {
inputs_[0] = value;
@ -854,7 +854,7 @@ class LClassOfTestAndBranch: public LControlInstruction<1, 1> {
};
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 LCmpT: public LTemplateInstruction<1, 2> {
};
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 LCmpTAndBranch: public LControlInstruction<2> {
};
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 LInstanceOf: public LTemplateInstruction<1, 2> {
};
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 LBoundsCheck: public LTemplateInstruction<0, 2, 0> {
};
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 LBitI: public LTemplateInstruction<1, 2> {
};
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 LShiftI: public LTemplateInstruction<1, 2> {
};
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 LConstantT: public LConstant<0> {
};
class LBranch: public LControlInstruction<1> {
class LBranch: public LControlInstruction<1, 0> {
public:
explicit LBranch(LOperand* value) {
inputs_[0] = value;
@ -1039,7 +1039,7 @@ class LBranch: public LControlInstruction<1> {
};
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 LCmpMapAndBranch: public LTemplateInstruction<0, 1> {
};
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 LJSArrayLength: public LTemplateInstruction<1, 1> {
};
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 LValueOf: public LTemplateInstruction<1, 1, 1> {
};
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 LThrow: public LTemplateInstruction<0, 1> {
};
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 LBitNotI: public LTemplateInstruction<1, 1> {
};
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 LAddI: public LTemplateInstruction<1, 2> {
};
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 LPower: public LTemplateInstruction<1, 2> {
};
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 LArithmeticD: public LTemplateInstruction<1, 2> {
};
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 LArithmeticT: public LTemplateInstruction<1, 2> {
};
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 LReturn: public LTemplateInstruction<0, 1> {
};
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 LLoadNamedField: public LTemplateInstruction<1, 1> {
};
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 LLoadFunctionPrototype: public LTemplateInstruction<1, 1, 1> {
};
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 LLoadElements: public LTemplateInstruction<1, 1> {
};
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 LLoadKeyedFastElement: public LTemplateInstruction<1, 2> {
};
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 LLoadGlobal: public LTemplateInstruction<1, 0, 0> {
};
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 LLoadContextSlot: public LTemplateInstruction<1, 0, 0> {
};
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 LCallKnownGlobal: public LTemplateInstruction<1, 0, 0> {
};
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 LCallRuntime: public LTemplateInstruction<1, 0, 0> {
};
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 LInteger32ToDouble: public LTemplateInstruction<1, 1> {
};
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 LTaggedToI: public LTemplateInstruction<1, 1, 1> {
};
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 LSmiTag: public LTemplateInstruction<1, 1> {
};
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 LNumberUntagD: public LTemplateInstruction<1, 1> {
};
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 LStoreKeyedGeneric: public LStoreKeyed {
};
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 LCheckInstanceType: public LTemplateInstruction<0, 1, 1> {
};
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 LCheckPrototypeMaps: public LTemplateInstruction<0, 0, 1> {
};
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 LFunctionLiteral: public LTemplateInstruction<1, 0, 0> {
};
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 LTypeof: public LTemplateInstruction<1, 1> {
};
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 LTypeofIs: public LTemplateInstruction<1, 1> {
};
class LTypeofIsAndBranch: public LControlInstruction<1> {
class LTypeofIsAndBranch: public LControlInstruction<1, 0> {
public:
explicit LTypeofIsAndBranch(LOperand* value) {
inputs_[0] = value;
@ -1728,7 +1728,7 @@ class LTypeofIsAndBranch: public LControlInstruction<1> {
};
class LDeleteProperty: public LTemplateInstruction<1, 2> {
class LDeleteProperty: public LTemplateInstruction<1, 2, 0> {
public:
LDeleteProperty(LOperand* obj, LOperand* key) {
inputs_[0] = obj;