| Index: src/x64/lithium-codegen-x64.h
|
| ===================================================================
|
| --- src/x64/lithium-codegen-x64.h (revision 6957)
|
| +++ src/x64/lithium-codegen-x64.h (working copy)
|
| @@ -53,6 +53,7 @@
|
| current_instruction_(-1),
|
| instructions_(chunk->instructions()),
|
| deoptimizations_(4),
|
| + jump_table_(4),
|
| deoptimization_literals_(8),
|
| inlined_function_count_(0),
|
| scope_(chunk->graph()->info()->scope()),
|
| @@ -147,6 +148,7 @@
|
| bool GeneratePrologue();
|
| bool GenerateBody();
|
| bool GenerateDeferredCode();
|
| + bool GenerateJumpTable();
|
| bool GenerateSafepointTable();
|
|
|
| void CallCode(Handle<Code> code,
|
| @@ -234,6 +236,14 @@
|
| // 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_;
|
| CompilationInfo* const info_;
|
| @@ -242,6 +252,7 @@
|
| int current_instruction_;
|
| const ZoneList<LInstruction*>* instructions_;
|
| ZoneList<LEnvironment*> deoptimizations_;
|
| + ZoneList<JumpTableEntry*> jump_table_;
|
| ZoneList<Handle<Object> > deoptimization_literals_;
|
| int inlined_function_count_;
|
| Scope* const scope_;
|
|
|