| Index: src/lithium.h
|
| diff --git a/src/lithium.h b/src/lithium.h
|
| index d1e2e3cdef2edc104f6e5831db0580694e869b45..6d765ae8304e3a1f6c6834284c394123138b10af 100644
|
| --- a/src/lithium.h
|
| +++ b/src/lithium.h
|
| @@ -35,6 +35,14 @@
|
| namespace v8 {
|
| namespace internal {
|
|
|
| +#define LITHIUM_OPERAND_LIST(V) \
|
| + V(LConstantOperand, CONSTANT_OPERAND) \
|
| + V(LStackSlot, STACK_SLOT) \
|
| + V(LDoubleStackSlot, DOUBLE_STACK_SLOT) \
|
| + V(LRegister, REGISTER) \
|
| + V(LDoubleRegister, DOUBLE_REGISTER)
|
| +
|
| +
|
| class LOperand: public ZoneObject {
|
| public:
|
| enum Kind {
|
| @@ -69,9 +77,9 @@ class LOperand: public ZoneObject {
|
| ASSERT(this->index() == index);
|
| }
|
|
|
| - // Calls SetUpCache() for each subclass. Don't forget to update this method
|
| - // if you add a new LOperand subclass.
|
| + // Calls SetUpCache()/TearDownCache() for each subclass.
|
| static void SetUpCaches();
|
| + static void TearDownCaches();
|
|
|
| protected:
|
| static const int kKindFieldWidth = 3;
|
| @@ -265,6 +273,7 @@ class LConstantOperand: public LOperand {
|
| }
|
|
|
| static void SetUpCache();
|
| + static void TearDownCache();
|
|
|
| private:
|
| static const int kNumCachedOperands = 128;
|
| @@ -300,6 +309,7 @@ class LStackSlot: public LOperand {
|
| }
|
|
|
| static void SetUpCache();
|
| + static void TearDownCache();
|
|
|
| private:
|
| static const int kNumCachedOperands = 128;
|
| @@ -324,6 +334,7 @@ class LDoubleStackSlot: public LOperand {
|
| }
|
|
|
| static void SetUpCache();
|
| + static void TearDownCache();
|
|
|
| private:
|
| static const int kNumCachedOperands = 128;
|
| @@ -348,6 +359,7 @@ class LRegister: public LOperand {
|
| }
|
|
|
| static void SetUpCache();
|
| + static void TearDownCache();
|
|
|
| private:
|
| static const int kNumCachedOperands = 16;
|
| @@ -372,6 +384,7 @@ class LDoubleRegister: public LOperand {
|
| }
|
|
|
| static void SetUpCache();
|
| + static void TearDownCache();
|
|
|
| private:
|
| static const int kNumCachedOperands = 16;
|
|
|