aboutsummaryrefslogtreecommitdiff
path: root/src/rt
diff options
context:
space:
mode:
authorPatrick Walton <[email protected]>2011-04-08 21:27:54 -0700
committerPatrick Walton <[email protected]>2011-04-14 11:24:25 -0700
commit65b75788517ad797c1ae86f9d0c550ec620c4dfc (patch)
tree31fed8460b11b6deea72485d60f606a4c4ab8327 /src/rt
parentrustc: Use union-find for variable substitution (diff)
downloadrust-65b75788517ad797c1ae86f9d0c550ec620c4dfc.tar.xz
rust-65b75788517ad797c1ae86f9d0c550ec620c4dfc.zip
rustc: Remove generalize_ty. Instead, maintain an explicit type parameter substitution list.
Diffstat (limited to 'src/rt')
-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 c2fefef0..053d3610 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)
{