Index: src/platform-solaris.cc |
diff --git a/src/platform-solaris.cc b/src/platform-solaris.cc |
index 7c8effcd4c08caadcc3d60f520f1a641a70b7159..25efb0fa1ac80767b9e63b644efae45112d36329 100644 |
--- a/src/platform-solaris.cc |
+++ b/src/platform-solaris.cc |
@@ -45,7 +45,7 @@ |
#include <errno.h> |
#include <ieeefp.h> // finite() |
#include <signal.h> // sigemptyset(), etc |
-#include <sys/kdi_regs.h> |
+#include <sys/regset.h> |
#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<Address>(mcontext.gregs[KDIREG_EIP]); |
- sample->sp = reinterpret_cast<Address>(mcontext.gregs[KDIREG_ESP]); |
- sample->fp = reinterpret_cast<Address>(mcontext.gregs[KDIREG_EBP]); |
-#elif V8_HOST_ARCH_X64 |
- sample->pc = reinterpret_cast<Address>(mcontext.gregs[KDIREG_RIP]); |
- sample->sp = reinterpret_cast<Address>(mcontext.gregs[KDIREG_RSP]); |
- sample->fp = reinterpret_cast<Address>(mcontext.gregs[KDIREG_RBP]); |
-#else |
- UNIMPLEMENTED(); |
-#endif |
+ sample->pc = reinterpret_cast<Address>(mcontext.gregs[REG_PC]); |
+ sample->sp = reinterpret_cast<Address>(mcontext.gregs[REG_SP]); |
+ sample->fp = reinterpret_cast<Address>(mcontext.gregs[REG_FP]); |
+ |
active_sampler_->SampleStack(sample); |
active_sampler_->Tick(sample); |
} |