diff options
Diffstat (limited to 'deps/v8/src/x64/frames-x64.cc')
-rw-r--r-- | deps/v8/src/x64/frames-x64.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/deps/v8/src/x64/frames-x64.cc b/deps/v8/src/x64/frames-x64.cc index 6a0527cf6d..fe224ad998 100644 --- a/deps/v8/src/x64/frames-x64.cc +++ b/deps/v8/src/x64/frames-x64.cc @@ -57,7 +57,11 @@ StackFrame::Type ExitFrame::GetStateForFramePointer(Address fp, State* state) { state->sp = sp; state->pc_address = reinterpret_cast<Address*>(sp - 1 * kPointerSize); // Determine frame type. - return EXIT; + if (Memory::Address_at(fp + ExitFrameConstants::kDebugMarkOffset) != 0) { + return EXIT_DEBUG; + } else { + return EXIT; + } } int JavaScriptFrame::GetProvidedParametersCount() const { @@ -65,10 +69,10 @@ int JavaScriptFrame::GetProvidedParametersCount() const { } -void ExitFrame::Iterate(ObjectVisitor* v) const { - v->VisitPointer(&code_slot()); - // The arguments are traversed as part of the expression stack of - // the calling frame. +void ExitFrame::Iterate(ObjectVisitor* a) const { + // Exit frames on X64 do not contain any pointers. The arguments + // are traversed as part of the expression stack of the calling + // frame. } byte* InternalFrame::GetCallerStackPointer() const { |