Index: src/sampler.cc |
diff --git a/src/sampler.cc b/src/sampler.cc |
index f89978f1be6ff5f3d6e29e0f57b2a55dc3b72620..f3a0397dc03008df64572526dc4eafb0d57993b6 100644 |
--- a/src/sampler.cc |
+++ b/src/sampler.cc |
@@ -256,6 +256,12 @@ class SimulatorHelper { |
Simulator::sp)); |
state->fp = reinterpret_cast<Address>(simulator_->get_register( |
Simulator::fp)); |
+#elif V8_TARGET_ARCH_MIPS64 |
+ state->pc = reinterpret_cast<Address>(simulator_->get_pc()); |
+ state->sp = reinterpret_cast<Address>(simulator_->get_register( |
+ Simulator::sp)); |
+ state->fp = reinterpret_cast<Address>(simulator_->get_register( |
+ Simulator::fp)); |
#endif |
} |
@@ -393,6 +399,10 @@ void SignalHandler::HandleProfilerSignal(int signal, siginfo_t* info, |
state.pc = reinterpret_cast<Address>(mcontext.pc); |
state.sp = reinterpret_cast<Address>(mcontext.gregs[29]); |
state.fp = reinterpret_cast<Address>(mcontext.gregs[30]); |
+#elif V8_HOST_ARCH_MIPS64 |
+ state.pc = reinterpret_cast<Address>(mcontext.pc); |
+ state.sp = reinterpret_cast<Address>(mcontext.gregs[29]); |
+ state.fp = reinterpret_cast<Address>(mcontext.gregs[30]); |
#endif // V8_HOST_ARCH_* |
#elif V8_OS_MACOSX |
#if V8_HOST_ARCH_X64 |