summaryrefslogtreecommitdiff
path: root/deps/v8/src/trap-handler/handler-inside-posix.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/trap-handler/handler-inside-posix.cc')
-rw-r--r--deps/v8/src/trap-handler/handler-inside-posix.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/deps/v8/src/trap-handler/handler-inside-posix.cc b/deps/v8/src/trap-handler/handler-inside-posix.cc
index 17af3d75dc..39d6e0d3ae 100644
--- a/deps/v8/src/trap-handler/handler-inside-posix.cc
+++ b/deps/v8/src/trap-handler/handler-inside-posix.cc
@@ -91,7 +91,12 @@ class UnmaskOobSignalScope {
#ifdef V8_TRAP_HANDLER_VIA_SIMULATOR
// This is the address where we continue on a failed "ProbeMemory". It's defined
// in "handler-outside-simulator.cc".
-extern "C" char v8_probe_memory_continuation[];
+extern char probe_memory_continuation[]
+#if V8_OS_DARWIN
+ asm("_v8_simulator_probe_memory_continuation");
+#else
+ asm("v8_simulator_probe_memory_continuation");
+#endif
#endif // V8_TRAP_HANDLER_VIA_SIMULATOR
bool TryHandleSignal(int signum, siginfo_t* info, void* context) {
@@ -149,7 +154,7 @@ bool TryHandleSignal(int signum, siginfo_t* info, void* context) {
auto* return_reg = CONTEXT_REG(rax, RAX);
*return_reg = landing_pad;
// Continue at the memory probing continuation.
- *context_ip = reinterpret_cast<uintptr_t>(&v8_probe_memory_continuation);
+ *context_ip = reinterpret_cast<uintptr_t>(&probe_memory_continuation);
#else
if (!TryFindLandingPad(fault_addr, &landing_pad)) return false;