diff options
Diffstat (limited to 'deps/v8/src/ia32/frames-ia32.cc')
-rw-r--r-- | deps/v8/src/ia32/frames-ia32.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/deps/v8/src/ia32/frames-ia32.cc b/deps/v8/src/ia32/frames-ia32.cc index dd44f0ee5f..9baf76336b 100644 --- a/deps/v8/src/ia32/frames-ia32.cc +++ b/deps/v8/src/ia32/frames-ia32.cc @@ -35,8 +35,16 @@ namespace v8 { namespace internal { -Address ExitFrame::ComputeStackPointer(Address fp) { - return Memory::Address_at(fp + ExitFrameConstants::kSPOffset); +StackFrame::Type ExitFrame::GetStateForFramePointer(Address fp, State* state) { + if (fp == 0) return NONE; + // Compute the stack pointer. + Address sp = Memory::Address_at(fp + ExitFrameConstants::kSPOffset); + // Fill in the state. + state->fp = fp; + state->sp = sp; + state->pc_address = reinterpret_cast<Address*>(sp - 1 * kPointerSize); + ASSERT(*state->pc_address != NULL); + return EXIT; } |