Index: src/platform-linux.cc |
diff --git a/src/platform-linux.cc b/src/platform-linux.cc |
index c735cebfcf593acce35b2427008063241be0fd1b..d9f8c9c24efe1e65d654d144cd07b1d9b56f903a 100644 |
--- a/src/platform-linux.cc |
+++ b/src/platform-linux.cc |
@@ -600,14 +600,18 @@ static void ProfilerSignalHandler(int signal, siginfo_t* info, void* context) { |
// Extracting the sample from the context is extremely machine dependent. |
ucontext_t* ucontext = reinterpret_cast<ucontext_t*>(context); |
mcontext_t& mcontext = ucontext->uc_mcontext; |
-#if defined(__arm__) || defined(__thumb__) |
- sample.pc = mcontext.gregs[R15]; |
- sample.sp = mcontext.gregs[R13]; |
- sample.fp = mcontext.gregs[R11]; |
-#else |
+#if V8_HOST_ARCH_X86 |
sample.pc = mcontext.gregs[REG_EIP]; |
sample.sp = mcontext.gregs[REG_ESP]; |
sample.fp = mcontext.gregs[REG_EBP]; |
+#elif V8_HOST_ARCH_X64 |
+ sample.pc = mcontext.gregs[REG_RIP]; |
Lasse Reichstein
2009/05/06 11:05:27
Does the assignment compile, and throw away the up
Dean McNamee
2009/05/06 11:07:15
It does compile, but I'll just do UNIMPLEMENTED :\
|
+ sample.sp = mcontext.gregs[REG_RSP]; |
+ sample.fp = mcontext.gregs[REG_RBP]; |
+#elif V8_HOST_ARCH_ARM |
+ sample.pc = mcontext.gregs[R15]; |
+ sample.sp = mcontext.gregs[R13]; |
+ sample.fp = mcontext.gregs[R11]; |
#endif |
} |