diff --git a/src/a64/lithium-a64.cc b/src/a64/lithium-a64.cc index 4e8196ce93..e32bb2dc4a 100644 --- a/src/a64/lithium-a64.cc +++ b/src/a64/lithium-a64.cc @@ -671,7 +671,6 @@ void LChunkBuilder::DoBasicBlock(HBasicBlock* block) { void LChunkBuilder::VisitInstruction(HInstruction* current) { HInstruction* old_current = current_instruction_; current_instruction_ = current; - if (current->has_position()) position_ = current->position(); LInstruction* instr = NULL; if (current->CanReplaceWithDummyUses()) { diff --git a/src/a64/lithium-a64.h b/src/a64/lithium-a64.h index dddb0ad009..acfdb8fcfb 100644 --- a/src/a64/lithium-a64.h +++ b/src/a64/lithium-a64.h @@ -2827,7 +2827,6 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase { current_instruction_(NULL), current_block_(NULL), allocator_(allocator), - position_(RelocInfo::kNoPosition), instruction_pending_deoptimization_environment_(NULL), pending_deoptimization_ast_id_(BailoutId::None()) { } @@ -2956,7 +2955,6 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase { HInstruction* current_instruction_; HBasicBlock* current_block_; LAllocator* allocator_; - int position_; LInstruction* instruction_pending_deoptimization_environment_; BailoutId pending_deoptimization_ast_id_; diff --git a/src/a64/lithium-codegen-a64.cc b/src/a64/lithium-codegen-a64.cc index b95e2b46a1..40ef5c6f12 100644 --- a/src/a64/lithium-codegen-a64.cc +++ b/src/a64/lithium-codegen-a64.cc @@ -782,7 +782,8 @@ bool LCodeGen::GenerateDeferredCode() { HValue* value = instructions_->at(code->instruction_index())->hydrogen_value(); - RecordAndWritePosition(value->position()); + RecordAndWritePosition( + chunk()->graph()->SourcePositionToScriptPosition(value->position())); Comment(";;; <@%d,#%d> " "-------------------- Deferred %s --------------------", @@ -917,6 +918,7 @@ void LCodeGen::PopulateDeoptimizationData(Handle code) { translations_.CreateByteArray(isolate()->factory()); data->SetTranslationByteArray(*translations); data->SetInlinedFunctionCount(Smi::FromInt(inlined_function_count_)); + data->SetOptimizationId(Smi::FromInt(info_->optimization_id())); Handle literals = factory()->NewFixedArray(deoptimization_literals_.length(), TENURED);