From 6802c90d1fb36723c69a3f676199b8262413fe74 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Fri, 11 Mar 2011 03:06:43 +0000 Subject: [PATCH] Sample correct registers on Solaris http://codereview.chromium.org/6676019/ --- deps/v8/src/platform-solaris.cc | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/deps/v8/src/platform-solaris.cc b/deps/v8/src/platform-solaris.cc index 8cf1aeb..8dd0f4b 100644 --- a/deps/v8/src/platform-solaris.cc +++ b/deps/v8/src/platform-solaris.cc @@ -45,7 +45,7 @@ #include #include // finite() #include // sigemptyset(), etc -#include +#include #undef MAP_TYPE @@ -632,17 +632,10 @@ static void ProfilerSignalHandler(int signal, siginfo_t* info, void* context) { mcontext_t& mcontext = ucontext->uc_mcontext; sample->state = Top::current_vm_state(); -#if V8_HOST_ARCH_IA32 - sample->pc = reinterpret_cast
(mcontext.gregs[KDIREG_EIP]); - sample->sp = reinterpret_cast
(mcontext.gregs[KDIREG_ESP]); - sample->fp = reinterpret_cast
(mcontext.gregs[KDIREG_EBP]); -#elif V8_HOST_ARCH_X64 - sample->pc = reinterpret_cast
(mcontext.gregs[KDIREG_RIP]); - sample->sp = reinterpret_cast
(mcontext.gregs[KDIREG_RSP]); - sample->fp = reinterpret_cast
(mcontext.gregs[KDIREG_RBP]); -#else - UNIMPLEMENTED(); -#endif + sample->pc = reinterpret_cast
(mcontext.gregs[REG_PC]); + sample->sp = reinterpret_cast
(mcontext.gregs[REG_SP]); + sample->fp = reinterpret_cast
(mcontext.gregs[REG_FP]); + active_sampler_->SampleStack(sample); active_sampler_->Tick(sample); } -- 2.7.4