diff options
Diffstat (limited to 'chromium/v8/src/x64/assembler-x64-inl.h')
-rw-r--r-- | chromium/v8/src/x64/assembler-x64-inl.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/chromium/v8/src/x64/assembler-x64-inl.h b/chromium/v8/src/x64/assembler-x64-inl.h index ae9aeee8122..07d07033e95 100644 --- a/chromium/v8/src/x64/assembler-x64-inl.h +++ b/chromium/v8/src/x64/assembler-x64-inl.h @@ -373,13 +373,14 @@ void RelocInfo::set_target_cell(Cell* cell, WriteBarrierMode mode) { bool RelocInfo::IsPatchedReturnSequence() { // The recognized call sequence is: - // movq(kScratchRegister, immediate64); call(kScratchRegister); + // movq(kScratchRegister, address); call(kScratchRegister); // It only needs to be distinguished from a return sequence // movq(rsp, rbp); pop(rbp); ret(n); int3 *6 // The 11th byte is int3 (0xCC) in the return sequence and // REX.WB (0x48+register bit) for the call sequence. #ifdef ENABLE_DEBUGGER_SUPPORT - return pc_[2 + kPointerSize] != 0xCC; + return pc_[Assembler::kMoveAddressIntoScratchRegisterInstructionLength] != + 0xCC; #else return false; #endif @@ -447,7 +448,7 @@ Object** RelocInfo::call_object_address() { } -void RelocInfo::Visit(ObjectVisitor* visitor) { +void RelocInfo::Visit(Isolate* isolate, ObjectVisitor* visitor) { RelocInfo::Mode mode = rmode(); if (mode == RelocInfo::EMBEDDED_OBJECT) { visitor->VisitEmbeddedPointer(this); @@ -462,12 +463,11 @@ void RelocInfo::Visit(ObjectVisitor* visitor) { } else if (RelocInfo::IsCodeAgeSequence(mode)) { visitor->VisitCodeAgeSequence(this); #ifdef ENABLE_DEBUGGER_SUPPORT - // TODO(isolates): Get a cached isolate below. } else if (((RelocInfo::IsJSReturn(mode) && IsPatchedReturnSequence()) || (RelocInfo::IsDebugBreakSlot(mode) && IsPatchedDebugBreakSlotSequence())) && - Isolate::Current()->debug()->has_break_points()) { + isolate->debug()->has_break_points()) { visitor->VisitDebugTarget(this); #endif } else if (RelocInfo::IsRuntimeEntry(mode)) { |