summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
AgeCommit message (Collapse)AuthorLines
2012-02-09rt: Add constructors and destructors for stacksBrian Anderson-3/+3
2012-02-09rt: Move some stack manipulation functions into rust_taskBrian Anderson-137/+130
2012-02-09rt: Rename new_stack to next_stack, del_stack to prev_stackBrian Anderson-2/+6
2012-02-09rt: Remove rust_task::rust_spBrian Anderson-2/+1
2012-02-09rt: Remove rust_task_user structBrian Anderson-12/+10
2012-02-09rt: Add a function for configuring task notificationBrian Anderson-0/+6
2012-02-09rt: Begin moving stack-building functions to rust_stack.cppBrian Anderson-41/+0
2012-02-08rt: Change the lifecycle of tasks and schedulers for various reasonsBrian Anderson-1/+4
This is in preparation for giving schedulers their own life cycle separate from the kernel. Tasks must be deleted before their scheduler thread, so we can't let the scheduler exit before all its tasks have been cleaned up. In this scheme, the scheduler will unregister tasks with the kernel when they are reaped, then drop their ref on the task (there may still be others). When the task ref count hits zero, the task will request to be unregistered from the scheduler, which is responsible for deleting the task. Instead of having the kernel tell the scheduler to exit, let the scheduler decide when to exit. For now it will exit when all of its tasks are unregistered.
2012-02-03rt: Add sanity checks when we hit the max task/port idBrian Anderson-0/+1
2012-02-03rt: Clean up the way the kernel tracks tasksBrian Anderson-2/+2
2012-02-03rt: Add a field to rust_task to hold its schedulerBrian Anderson-0/+1
2012-02-03rt: Rename rust_scheduler to rust_task_threadBrian Anderson-60/+60
2012-02-03Remove experimental GC codeMarijn Haverbeke-2/+2
It's been sitting unused long enough to have bitrotted completely.
2012-02-02rt: Do all signalling while holding a lockBrian Anderson-8/+2
This will matter once the scheduler is changed to not wake up on a timer
2012-02-02rt: Remove rust_task::can_schedule. Does nothingBrian Anderson-5/+0
2012-02-02rt: Remove running_on flag. Does nothingBrian Anderson-3/+1
2012-02-02rt: Remove task pinning. Does nothingBrian Anderson-17/+1
2012-02-02rt: Rename task_sleep intrinsic to task_yield. Remove usec paramBrian Anderson-1/+1
2012-02-02rt: Remove yield timersBrian Anderson-4/+1
2012-02-01make boxes self-describing (fixes #1493)" (take 2)Niko Matsakis-39/+8
this will be used to generate a new snapshot.
2012-02-01Revert "make boxes self-describing (fixes #1493)" until a newNiko Matsakis-8/+39
snapshot is prepared.
2012-02-01make boxes self-describing (fixes #1493)Niko Matsakis-39/+8
2012-02-01rt: Don't access fields on null supervisor taskBrian Anderson-2/+2
2012-01-29rt: Remove set_min_stackBrian Anderson-13/+1
2012-01-29rt: Make the initial segment of the main task's stack 1MBBrian Anderson-2/+3
This is a trick to fool microbenchmarks. Closes #1681
2012-01-11rt: Add RUST_MAX_STACK env var with 8MB defaultBrian Anderson-13/+26
Closes #1489
2012-01-09add rust_task_is_unwinding predicate and do not kill if already unwindingNiko Matsakis-11/+16
2012-01-09rt: Set Linux red zone to 20K againBrian Anderson-2/+2
With runtime logging on it smashes the stack
2012-01-06fix how we walk functions to match new closure fmtNiko Matsakis-7/+8
2012-01-06rewrite task testsNiko Matsakis-24/+19
2012-01-06simplify task implNiko Matsakis-27/+21
2012-01-06Revert "rt: Reduce mac red zone to 6K"Brian Anderson-2/+2
This reverts commit d499e739a1eb67e887f5756f9dfef17199a6d041.
2012-01-06rt: Reduce mac red zone to 6KBrian Anderson-2/+2
2012-01-06rt: Fail the scheduler immediately on task failure in win32Brian Anderson-0/+2
2012-01-01freebsd supportUser Jyyou-0/+10
2011-12-20Revert "wip"Brian Anderson-12/+0
This reverts commit aeadc6269ef76f4425a49d892ceac7ea311ef5c1.
2011-12-20wipBrian Anderson-0/+12
2011-12-20rt: Remove rust_task::grow. ObsoleteBrian Anderson-10/+0
2011-12-20rt: Don't check the stack canary on most upcallsBrian Anderson-0/+3
2011-12-20Revert "rt: Reduce the mac red zone to 2K"Brian Anderson-2/+2
This reverts commit ba8f369f890f6c7241c616df552f0e2ebf1509c8.
2011-12-20rt: Reduce the mac red zone to 2KBrian Anderson-2/+2
2011-12-20rt: Reduce the linux red zone to 2KBrian Anderson-2/+2
2011-12-20rt: Parenthesize the red zone macrosBrian Anderson-5/+5
2011-12-20rt: Add a canary value to the end of every stackBrian Anderson-1/+27
Check it on upcall entry and exit, and on stack deletion
2011-12-20rt: Run yet more task_start_wrapper cleanup on the C stackBrian Anderson-17/+33
2011-12-19rt: Don't reuse stack segments when they are not big enoughBrian Anderson-2/+3
2011-12-18rt: Get rid of the rethrow in upcall_failBrian Anderson-5/+20
Throwing in upcall_fail ends up running lots of code in the red zone. To avoid it we have the personality function figure out which stack it's on and switch as needed.
2011-12-18rt: Run the cycle collector on the C stackBrian Anderson-1/+3
2011-12-18rt: Give each platform its own red zone definitionBrian Anderson-3/+26
2011-12-18rt: Trim the red zone to 20k on all platformsBrian Anderson-2/+2