From e6ef4d929ca01bdbedc4056cc33f1770e71d87ee Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 30 Nov 2011 17:08:06 -0800 Subject: rt: Remove the stack pointer field of stk_seg --- src/rt/rust_task.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'src/rt/rust_task.cpp') 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(); -- cgit 1.4.1-3-g733a5