| Index: src/lithium.h
|
| ===================================================================
|
| --- src/lithium.h (revision 11005)
|
| +++ src/lithium.h (working copy)
|
| @@ -69,6 +69,10 @@
|
| ASSERT(this->index() == index);
|
| }
|
|
|
| + // Calls SetUpCache() for each subclass. Don't forget to update this method
|
| + // if you add a new LOperand subclass.
|
| + static void SetUpCaches();
|
| +
|
| protected:
|
| static const int kKindFieldWidth = 3;
|
| class KindField : public BitField<Kind, 0, kKindFieldWidth> { };
|
| @@ -264,7 +268,7 @@
|
|
|
| private:
|
| static const int kNumCachedOperands = 128;
|
| - static LConstantOperand cache[];
|
| + static LConstantOperand* cache;
|
|
|
| LConstantOperand() : LOperand() { }
|
| explicit LConstantOperand(int index) : LOperand(CONSTANT_OPERAND, index) { }
|
| @@ -299,7 +303,7 @@
|
|
|
| private:
|
| static const int kNumCachedOperands = 128;
|
| - static LStackSlot cache[];
|
| + static LStackSlot* cache;
|
|
|
| LStackSlot() : LOperand() { }
|
| explicit LStackSlot(int index) : LOperand(STACK_SLOT, index) { }
|
| @@ -323,7 +327,7 @@
|
|
|
| private:
|
| static const int kNumCachedOperands = 128;
|
| - static LDoubleStackSlot cache[];
|
| + static LDoubleStackSlot* cache;
|
|
|
| LDoubleStackSlot() : LOperand() { }
|
| explicit LDoubleStackSlot(int index) : LOperand(DOUBLE_STACK_SLOT, index) { }
|
| @@ -347,7 +351,7 @@
|
|
|
| private:
|
| static const int kNumCachedOperands = 16;
|
| - static LRegister cache[];
|
| + static LRegister* cache;
|
|
|
| LRegister() : LOperand() { }
|
| explicit LRegister(int index) : LOperand(REGISTER, index) { }
|
| @@ -371,7 +375,7 @@
|
|
|
| private:
|
| static const int kNumCachedOperands = 16;
|
| - static LDoubleRegister cache[];
|
| + static LDoubleRegister* cache;
|
|
|
| LDoubleRegister() : LOperand() { }
|
| explicit LDoubleRegister(int index) : LOperand(DOUBLE_REGISTER, index) { }
|
|
|