| Index: src/arm64/lithium-codegen-arm64.h
|
| diff --git a/src/arm64/lithium-codegen-arm64.h b/src/arm64/lithium-codegen-arm64.h
|
| index 4ee8a8bba6dfbdb15a27bb054c37c9cb7c0d789c..40fbc381cc4bca24a05ce38742f786ef34a1639b 100644
|
| --- a/src/arm64/lithium-codegen-arm64.h
|
| +++ b/src/arm64/lithium-codegen-arm64.h
|
| @@ -27,7 +27,7 @@ class LCodeGen: public LCodeGenBase {
|
| LCodeGen(LChunk* chunk, MacroAssembler* assembler, CompilationInfo* info)
|
| : LCodeGenBase(chunk, assembler, info),
|
| deoptimizations_(4, info->zone()),
|
| - deopt_jump_table_(4, info->zone()),
|
| + jump_table_(4, info->zone()),
|
| deoptimization_literals_(8, info->zone()),
|
| inlined_function_count_(0),
|
| scope_(info->scope()),
|
| @@ -213,24 +213,35 @@ class LCodeGen: public LCodeGenBase {
|
| Register temp,
|
| LOperand* index,
|
| String::Encoding encoding);
|
| - void DeoptimizeBranch(LInstruction* instr, BranchType branch_type,
|
| - Register reg = NoReg, int bit = -1,
|
| + void DeoptimizeBranch(LInstruction* instr, const char* reason,
|
| + BranchType branch_type, Register reg = NoReg,
|
| + int bit = -1,
|
| Deoptimizer::BailoutType* override_bailout_type = NULL);
|
| void Deoptimize(LInstruction* instr,
|
| - Deoptimizer::BailoutType* override_bailout_type = NULL);
|
| - void DeoptimizeIf(Condition cond, LInstruction* instr);
|
| - void DeoptimizeIfZero(Register rt, LInstruction* instr);
|
| - void DeoptimizeIfNotZero(Register rt, LInstruction* instr);
|
| - void DeoptimizeIfNegative(Register rt, LInstruction* instr);
|
| - void DeoptimizeIfSmi(Register rt, LInstruction* instr);
|
| - void DeoptimizeIfNotSmi(Register rt, LInstruction* instr);
|
| + Deoptimizer::BailoutType* override_bailout_type = NULL,
|
| + const char* reason = NULL);
|
| + void DeoptimizeIf(Condition cond, LInstruction* instr,
|
| + const char* reason = NULL);
|
| + void DeoptimizeIfZero(Register rt, LInstruction* instr,
|
| + const char* reason = NULL);
|
| + void DeoptimizeIfNotZero(Register rt, LInstruction* instr,
|
| + const char* reason = NULL);
|
| + void DeoptimizeIfNegative(Register rt, LInstruction* instr,
|
| + const char* reason = NULL);
|
| + void DeoptimizeIfSmi(Register rt, LInstruction* instr,
|
| + const char* reason = NULL);
|
| + void DeoptimizeIfNotSmi(Register rt, LInstruction* instr,
|
| + const char* reason = NULL);
|
| void DeoptimizeIfRoot(Register rt, Heap::RootListIndex index,
|
| - LInstruction* instr);
|
| + LInstruction* instr, const char* reason = NULL);
|
| void DeoptimizeIfNotRoot(Register rt, Heap::RootListIndex index,
|
| - LInstruction* instr);
|
| - void DeoptimizeIfMinusZero(DoubleRegister input, LInstruction* instr);
|
| - void DeoptimizeIfBitSet(Register rt, int bit, LInstruction* instr);
|
| - void DeoptimizeIfBitClear(Register rt, int bit, LInstruction* instr);
|
| + LInstruction* instr, const char* reason = NULL);
|
| + void DeoptimizeIfMinusZero(DoubleRegister input, LInstruction* instr,
|
| + const char* reason = NULL);
|
| + void DeoptimizeIfBitSet(Register rt, int bit, LInstruction* instr,
|
| + const char* reason = NULL);
|
| + void DeoptimizeIfBitClear(Register rt, int bit, LInstruction* instr,
|
| + const char* reason = NULL);
|
|
|
| MemOperand PrepareKeyedExternalArrayOperand(Register key,
|
| Register base,
|
| @@ -273,7 +284,7 @@ class LCodeGen: public LCodeGenBase {
|
| void GenerateBodyInstructionPre(LInstruction* instr) OVERRIDE;
|
| bool GeneratePrologue();
|
| bool GenerateDeferredCode();
|
| - bool GenerateDeoptJumpTable();
|
| + bool GenerateJumpTable();
|
| bool GenerateSafepointTable();
|
|
|
| // Generates the custom OSR entrypoint and sets the osr_pc_offset.
|
| @@ -338,7 +349,7 @@ class LCodeGen: public LCodeGenBase {
|
| void EnsureSpaceForLazyDeopt(int space_needed) OVERRIDE;
|
|
|
| ZoneList<LEnvironment*> deoptimizations_;
|
| - ZoneList<Deoptimizer::JumpTableEntry*> deopt_jump_table_;
|
| + ZoneList<Deoptimizer::JumpTableEntry*> jump_table_;
|
| ZoneList<Handle<Object> > deoptimization_literals_;
|
| int inlined_function_count_;
|
| Scope* const scope_;
|
|
|