| Index: src/arm64/assembler-arm64.cc
|
| diff --git a/src/arm64/assembler-arm64.cc b/src/arm64/assembler-arm64.cc
|
| index 510bf79b8277b0e2cac1b3b0535fd6ad87551e70..8ee11e9b97b3e863d9b714de88cc8d5e60587e3a 100644
|
| --- a/src/arm64/assembler-arm64.cc
|
| +++ b/src/arm64/assembler-arm64.cc
|
| @@ -511,7 +511,7 @@ void ConstPool::EmitEntries() {
|
|
|
| // Instruction to patch must be 'ldr rd, [pc, #offset]' with offset == 0.
|
| DCHECK(instr->IsLdrLiteral() && instr->ImmLLiteral() == 0);
|
| - instr->SetImmPCOffsetTarget(assm_->pc());
|
| + instr->SetImmPCOffsetTarget(assm_->isolate(), assm_->pc());
|
| }
|
| assm_->dc64(data);
|
| }
|
| @@ -527,7 +527,7 @@ void ConstPool::EmitEntries() {
|
|
|
| // Instruction to patch must be 'ldr rd, [pc, #offset]' with offset == 0.
|
| DCHECK(instr->IsLdrLiteral() && instr->ImmLLiteral() == 0);
|
| - instr->SetImmPCOffsetTarget(assm_->pc());
|
| + instr->SetImmPCOffsetTarget(assm_->isolate(), assm_->pc());
|
| assm_->dc64(unique_it->first);
|
| }
|
| unique_entries_.clear();
|
| @@ -658,22 +658,22 @@ void Assembler::RemoveBranchFromLabelLinkChain(Instruction* branch,
|
|
|
| } else if (branch == next_link) {
|
| // The branch is the last (but not also the first) instruction in the chain.
|
| - prev_link->SetImmPCOffsetTarget(prev_link);
|
| + prev_link->SetImmPCOffsetTarget(isolate(), prev_link);
|
|
|
| } else {
|
| // The branch is in the middle of the chain.
|
| if (prev_link->IsTargetInImmPCOffsetRange(next_link)) {
|
| - prev_link->SetImmPCOffsetTarget(next_link);
|
| + prev_link->SetImmPCOffsetTarget(isolate(), next_link);
|
| } else if (label_veneer != NULL) {
|
| // Use the veneer for all previous links in the chain.
|
| - prev_link->SetImmPCOffsetTarget(prev_link);
|
| + prev_link->SetImmPCOffsetTarget(isolate(), prev_link);
|
|
|
| end_of_chain = false;
|
| link = next_link;
|
| while (!end_of_chain) {
|
| next_link = link->ImmPCOffsetTarget();
|
| end_of_chain = (link == next_link);
|
| - link->SetImmPCOffsetTarget(label_veneer);
|
| + link->SetImmPCOffsetTarget(isolate(), label_veneer);
|
| link = next_link;
|
| }
|
| } else {
|
| @@ -744,10 +744,11 @@ void Assembler::bind(Label* label) {
|
| // Internal references do not get patched to an instruction but directly
|
| // to an address.
|
| internal_reference_positions_.push_back(linkoffset);
|
| - PatchingAssembler patcher(link, 2);
|
| + PatchingAssembler patcher(isolate(), link, 2);
|
| patcher.dc64(reinterpret_cast<uintptr_t>(pc_));
|
| } else {
|
| - link->SetImmPCOffsetTarget(reinterpret_cast<Instruction*>(pc_));
|
| + link->SetImmPCOffsetTarget(isolate(),
|
| + reinterpret_cast<Instruction*>(pc_));
|
| }
|
|
|
| // Link the label to the previous link in the chain.
|
| @@ -3030,7 +3031,7 @@ void Assembler::EmitVeneers(bool force_emit, bool need_protection, int margin) {
|
| // to the label.
|
| Instruction* veneer = reinterpret_cast<Instruction*>(pc_);
|
| RemoveBranchFromLabelLinkChain(branch, label, veneer);
|
| - branch->SetImmPCOffsetTarget(veneer);
|
| + branch->SetImmPCOffsetTarget(isolate(), veneer);
|
| b(label);
|
| #ifdef DEBUG
|
| DCHECK(SizeOfCodeGeneratedSince(&veneer_size_check) <=
|
|
|