summaryrefslogtreecommitdiff
path: root/deps/v8/src/platform-macos.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/platform-macos.cc')
-rw-r--r--deps/v8/src/platform-macos.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/deps/v8/src/platform-macos.cc b/deps/v8/src/platform-macos.cc
index 79515434e..3e0e2841b 100644
--- a/deps/v8/src/platform-macos.cc
+++ b/deps/v8/src/platform-macos.cc
@@ -58,7 +58,8 @@
#include "platform.h"
-namespace v8 { namespace internal {
+namespace v8 {
+namespace internal {
// 0 is never a valid thread id on MacOSX since a ptread_t is
// a pointer.
@@ -481,6 +482,13 @@ 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 V8_HOST_ARCH_X64
+ UNIMPLEMENTED();
+ USE(mcontext);
+ sample.pc = 0;
+ sample.sp = 0;
+ sample.fp = 0;
+#elif V8_HOST_ARCH_IA32
#if __DARWIN_UNIX03
sample.pc = mcontext->__ss.__eip;
sample.sp = mcontext->__ss.__esp;
@@ -490,6 +498,9 @@ static void ProfilerSignalHandler(int signal, siginfo_t* info, void* context) {
sample.sp = mcontext->ss.esp;
sample.fp = mcontext->ss.ebp;
#endif // __DARWIN_UNIX03
+#else
+#error Unsupported Mac OS X host architecture.
+#endif // V8_TARGET_ARCH_IA32
}
// We always sample the VM state.