Index: src/arm/lithium-codegen-arm.h |
=================================================================== |
--- src/arm/lithium-codegen-arm.h (revision 7959) |
+++ src/arm/lithium-codegen-arm.h (working copy) |
@@ -51,6 +51,7 @@ |
current_instruction_(-1), |
instructions_(chunk->instructions()), |
deoptimizations_(4), |
+ deopt_jump_table_(4), |
deoptimization_literals_(8), |
inlined_function_count_(0), |
scope_(info->scope()), |
@@ -172,6 +173,7 @@ |
bool GeneratePrologue(); |
bool GenerateBody(); |
bool GenerateDeferredCode(); |
+ bool GenerateDeoptJumpTable(); |
bool GenerateSafepointTable(); |
enum SafepointMode { |
@@ -289,6 +291,14 @@ |
Handle<Map> type, |
Handle<String> name); |
+ struct JumpTableEntry { |
+ explicit inline JumpTableEntry(Address entry) |
+ : label(), |
+ address(entry) { } |
+ Label label; |
+ Address address; |
+ }; |
+ |
LChunk* const chunk_; |
MacroAssembler* const masm_; |
CompilationInfo* const info_; |
@@ -297,6 +307,7 @@ |
int current_instruction_; |
const ZoneList<LInstruction*>* instructions_; |
ZoneList<LEnvironment*> deoptimizations_; |
+ ZoneList<JumpTableEntry> deopt_jump_table_; |
ZoneList<Handle<Object> > deoptimization_literals_; |
int inlined_function_count_; |
Scope* const scope_; |