diff options
Diffstat (limited to 'src/rt/rust_task.cpp')
| -rw-r--r-- | src/rt/rust_task.cpp | 17 |
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) { |
