Chromium Code Reviews| Index: src/x64/lithium-codegen-x64.h | 
| =================================================================== | 
| --- src/x64/lithium-codegen-x64.h (revision 7090) | 
| +++ src/x64/lithium-codegen-x64.h (working copy) | 
| @@ -42,6 +42,7 @@ | 
| // Forward declarations. | 
| class LDeferredCode; | 
| class SafepointGenerator; | 
| +class JumpTableEntry; | 
| class LCodeGen BASE_EMBEDDED { | 
| public: | 
| @@ -240,13 +241,6 @@ | 
| // Emits code for pushing a constant operand. | 
| void EmitPushConstantOperand(LOperand* operand); | 
| - struct JumpTableEntry { | 
| - inline JumpTableEntry(Address address) | 
| - : label_(), | 
| - address_(address) { } | 
| - Label label_; | 
| - Address address_; | 
| - }; | 
| LChunk* const chunk_; | 
| MacroAssembler* const masm_; | 
| @@ -275,10 +269,24 @@ | 
| friend class LDeferredCode; | 
| friend class LEnvironment; | 
| friend class SafepointGenerator; | 
| + friend class JumpTableEntry; | 
| DISALLOW_COPY_AND_ASSIGN(LCodeGen); | 
| }; | 
| +class JumpTableEntry : public ZoneObject { | 
| 
 
Lasse Reichstein
2011/03/09 09:16:54
Why create an external class for a purely internal
 
 | 
| + public: | 
| + explicit JumpTableEntry() : address_(NULL) { } | 
| + void SetAddress(Address address) { address_ = address; } | 
| + byte* address() { return address_; } | 
| + Label* label() { return &label_; } | 
| + | 
| + private: | 
| + Label label_; | 
| + byte* address_; | 
| +}; | 
| + | 
| + | 
| class LDeferredCode: public ZoneObject { | 
| public: | 
| explicit LDeferredCode(LCodeGen* codegen) |