From cd3365c867a7504eb428882c104e4b39f0c4e9fe Mon Sep 17 00:00:00 2001 From: "vegorov@chromium.org" Date: Wed, 16 Feb 2011 17:40:28 +0000 Subject: [PATCH] GBDJIT: Do not check unwinding information correctness on x64. This does not affect correctness of most common use cases. Review URL: http://codereview.chromium.org/6525053 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/gdb-jit.cc | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/src/gdb-jit.cc b/src/gdb-jit.cc index 88a9939..5136ded 100644 --- a/src/gdb-jit.cc +++ b/src/gdb-jit.cc @@ -1411,9 +1411,8 @@ static void AddUnwindInfo(CodeDescription *desc) { #ifdef V8_TARGET_ARCH_X64 if (desc->tag() == GDBJITInterface::FUNCTION) { // To avoid propagating unwinding information through - // compilation pipeline we rely on function prologue - // and epilogue being the same for all code objects generated - // by the full code generator. + // compilation pipeline we use an approximation. + // For most use cases this should not affect usability. static const int kFramePointerPushOffset = 1; static const int kFramePointerSetOffset = 4; static const int kFramePointerPopOffset = -3; @@ -1427,19 +1426,6 @@ static void AddUnwindInfo(CodeDescription *desc) { uintptr_t frame_pointer_pop_address = desc->CodeEnd() + kFramePointerPopOffset; -#ifdef DEBUG - static const uint8_t kFramePointerPushInstruction = 0x48; // push ebp - static const uint16_t kFramePointerSetInstruction = 0x5756; // mov ebp, esp - static const uint8_t kFramePointerPopInstruction = 0xBE; // pop ebp - - ASSERT(*reinterpret_cast(frame_pointer_push_address) == - kFramePointerPushInstruction); - ASSERT(*reinterpret_cast(frame_pointer_set_address) == - kFramePointerSetInstruction); - ASSERT(*reinterpret_cast(frame_pointer_pop_address) == - kFramePointerPopInstruction); -#endif - desc->SetStackStateStartAddress(CodeDescription::POST_RBP_PUSH, frame_pointer_push_address); desc->SetStackStateStartAddress(CodeDescription::POST_RBP_SET, -- 2.7.4