| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index badf18ed678d2ad0274bad137d4f60e52c142e8e..140a181744af90e44d64ef781034a1939808a3a0 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -4876,6 +4876,7 @@ void BackEdgeTable::PatchAt(Code* unoptimized_code,
|
| }
|
|
|
| Assembler::set_target_address_at(call_target_address,
|
| + unoptimized_code,
|
| replacement_code->entry());
|
| unoptimized_code->GetHeap()->incremental_marking()->RecordCodeTargetPatch(
|
| unoptimized_code, call_target_address, replacement_code);
|
| @@ -4893,20 +4894,23 @@ BackEdgeTable::BackEdgeState BackEdgeTable::GetBackEdgeState(
|
| if (*jns_instr_address == kJnsInstruction) {
|
| ASSERT_EQ(kJnsOffset, *(call_target_address - 2));
|
| ASSERT_EQ(isolate->builtins()->InterruptCheck()->entry(),
|
| - Assembler::target_address_at(call_target_address));
|
| + Assembler::target_address_at(call_target_address,
|
| + unoptimized_code));
|
| return INTERRUPT;
|
| }
|
|
|
| ASSERT_EQ(kNopByteOne, *jns_instr_address);
|
| ASSERT_EQ(kNopByteTwo, *(call_target_address - 2));
|
|
|
| - if (Assembler::target_address_at(call_target_address) ==
|
| + if (Assembler::target_address_at(call_target_address,
|
| + unoptimized_code) ==
|
| isolate->builtins()->OnStackReplacement()->entry()) {
|
| return ON_STACK_REPLACEMENT;
|
| }
|
|
|
| ASSERT_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(),
|
| - Assembler::target_address_at(call_target_address));
|
| + Assembler::target_address_at(call_target_address,
|
| + unoptimized_code));
|
| return OSR_AFTER_STACK_CHECK;
|
| }
|
|
|
|
|