about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt/rust_task.cpp')
-rw-r--r--src/rt/rust_task.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index c2fefef0d99..053d3610552 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -252,6 +252,23 @@ rust_task::start(uintptr_t exit_task_glue,
     transition(&dom->newborn_tasks, &dom->running_tasks);
 }
 
+#if 0
+void
+rust_task::print_stack_trace()
+{
+    void *addrs[256];
+    uintptr_t sp = this->rust_sp;
+
+    // We need to be careful to not use any Rust stack space here, since this
+    // may be called on stack overflow.
+    asm("xchgl %0, %%esp\n"
+        "pushl $256\n"
+        "pushl %1\n"
+        "calll %3\n"
+        "xchgl %%esp, %0\n"
+}
+#endif
+
 void
 rust_task::grow(size_t n_frame_bytes)
 {