Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index 67d94f9171b9dcb03010e4cfbb6020dd2e5882ae..b146809a24e19a745a5d3810b97ad4bcff8412d9 100644 |
--- a/src/x64/full-codegen-x64.cc |
+++ b/src/x64/full-codegen-x64.cc |
@@ -4859,6 +4859,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); |
@@ -4876,20 +4877,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; |
} |