about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-11-30 17:08:06 -0800
committerBrian Anderson <banderson@mozilla.com>2011-11-30 20:31:33 -0800
commite6ef4d929ca01bdbedc4056cc33f1770e71d87ee (patch)
treedd694a48debb4f149e4ddef41881dad6ee478812 /src/rt/rust_task.cpp
parent408d4ec0ef40a2ce650fab8d730a79f08d35054a (diff)
downloadrust-e6ef4d929ca01bdbedc4056cc33f1770e71d87ee.tar.gz
rust-e6ef4d929ca01bdbedc4056cc33f1770e71d87ee.zip
rt: Remove the stack pointer field of stk_seg
Diffstat (limited to 'src/rt/rust_task.cpp')
-rw-r--r--src/rt/rust_task.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index 6c79ef3264a..7210fe3956c 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -67,14 +67,11 @@ record_sp(void *limit);
 
 // Entry points for `__morestack` (see arch/*/morestack.S).
 extern "C" void *
-rust_new_stack(size_t stk_sz, void *args_addr, size_t args_sz,
-               uintptr_t current_sp) {
+rust_new_stack(size_t stk_sz, void *args_addr, size_t args_sz) {
     rust_task *task = rust_scheduler::get_task();
 
     stk_seg *stk_seg = new_stk(task->sched, task, stk_sz + args_sz);
 
-    // Save the previous stack pointer so it can be restored later
-    stk_seg->return_sp = current_sp;
     uint8_t *new_sp = (uint8_t*)stk_seg->limit;
     size_t sizeof_retaddr = sizeof(void*);
     // Make enough room on the new stack to hold the old stack pointer
@@ -90,7 +87,6 @@ struct rust_new_stack2_args {
   size_t stk_sz;
   void *args_addr;
   size_t args_sz;
-  uintptr_t current_sp;
 };
 
 // A new stack function suitable for calling through
@@ -98,7 +94,7 @@ struct rust_new_stack2_args {
 extern "C" void *
 rust_new_stack2(struct rust_new_stack2_args *args) {
     return rust_new_stack(args->stk_sz, args->args_addr,
-                          args->args_sz, args->current_sp);
+                          args->args_sz);
 }
 
 extern "C" void
@@ -108,12 +104,6 @@ rust_del_stack() {
     record_sp(task->stk->data + RED_ZONE_SIZE);
 }
 
-extern "C" uintptr_t
-rust_get_prev_stack() {
-    rust_task *task = rust_scheduler::get_task();
-    return task->stk->return_sp;
-}
-
 extern "C" rust_task *
 rust_get_task() {
     return rust_scheduler::get_task();