| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-12-18 | rt: Run the cycle collector on the C stack | Brian Anderson | -1/+3 | |
| 2011-12-18 | rt: Give each platform its own red zone definition | Brian Anderson | -3/+26 | |
| 2011-12-18 | rt: Trim the red zone to 20k on all platforms | Brian Anderson | -2/+2 | |
| 2011-12-18 | rt: Remove a bogus FIXME from ~rust_task | Brian Anderson | -3/+1 | |
| 2011-12-17 | rt: Get rid of the valgrind guard bytes at the end of the stack | Brian Anderson | -17/+2 | |
| Preventing us from writing beyond our allocations is _what valgrind does_, so telling valgrind not to let us write to the end of the stack isn't buying anything. | ||||
| 2011-12-17 | rt: Cache an extra stack segment to avoid bad behavior at stack boundaries | Brian Anderson | -12/+79 | |
| 2011-12-17 | rt: Set the default stack size to 768 bytes. Double on each alloc | Brian Anderson | -7/+38 | |
| 2011-12-16 | rt: Fix alignment of new stack segments | Brian Anderson | -4/+2 | |
| 2011-12-07 | rt: Fix alignment of stacks generated by __morestack | Brian Anderson | -1/+0 | |
| 2011-12-06 | rt: Put 16 guard bytes at the end of the stack | Brian Anderson | -2/+15 | |
| 2011-12-06 | rt: Rename stk_seg.limit to stk_seg.end | Brian Anderson | -7/+7 | |
| rust_task is using the word limit it two ways, so one has to change. | ||||
| 2011-12-06 | rt: Various tweaks to make __morestack unwinding work on linux | Brian Anderson | -2/+25 | |
| When unwinding through __morestack the stack limit in the TLS is invalidated and must be reset. Instead of actually landing at __morestack we're just going to make all our Rust landing pads call upcall_reset_stack_limit, which will find the stack segment that corresponds to the current stack pointer and put the limit in the TLS. Also massively expand the stack segment red zone to make more room for the dynamic linker. Will fix in the future. | ||||
| 2011-12-06 | Make valgrind usage more consistent and less error prone. | Austin Seipp | -2/+2 | |
| I was still having issues with the build system somehow getting confused as to which set of valgrind headers to use when compiling rt. This commit moves all the valgrind headers into their own directory under rt and makes the usage more consistent. The compiler is now passed the -DNVALGRIND flag when valgrind is not installed, as opposed to passing -DHAVE_VALGRIND. We also pass -I src/rt to the compiler when building rt so you can more easily import what you want. I also cleaned up some erroneous #includes along the way. It should be safe to always just import the local valgrind headers and use them without question. NVALGRIND turns the operations to no-ops when it is active, and the build and tests run cleanly with or without. | ||||
| 2011-12-05 | rt: Make stack unwinding work more correctly with stack growth | Brian Anderson | -0/+3 | |
| 2011-12-04 | rt: Update 32-bit __morestack for recent LLVM changes | Brian Anderson | -4/+11 | |
| 2011-12-01 | rt: Move RED_ZONE_SIZE to rust_task.cpp | Brian Anderson | -0/+10 | |
| 2011-12-01 | rt: Add FIXME's about future changes to LLVM's __morestack impl | Brian Anderson | -0/+3 | |
| 2011-12-01 | rt: Refactor record_sp into task::record_stack_limit | Brian Anderson | -2/+6 | |
| 2011-11-30 | rt: Reorganize stack growth code | Brian Anderson | -48/+25 | |
| 2011-11-30 | rt: Remove the stack pointer field of stk_seg | Brian Anderson | -12/+2 | |
| 2011-11-29 | rt: Delete the entire stack chain on task destruction | Brian Anderson | -1/+4 | |
| Unwinding through __morestack on 64-bit Linux seems to be no big deal, and all we have to do is free the stacks to make unwinding work with split stacks. | ||||
| 2011-11-28 | rt: Implement part of the 64-bit __morestack | Brian Anderson | -0/+15 | |
| 2011-11-22 | rt: Make __morestack (without unwinding) work on 32-bit linux | Brian Anderson | -11/+21 | |
| 2011-11-18 | rt: Remove some stack-wasting macros from rust_task::yield | Brian Anderson | -4/+0 | |
| 2011-11-18 | rt: Remove fail calls from rust_task::yield | Brian Anderson | -5/+5 | |
| 2011-11-18 | rt: Remove unblock call from rust_task::yield | Brian Anderson | -5/+1 | |
| 2011-11-18 | rt: Remove a lock from task_start_wrapper that does nothing | Brian Anderson | -3/+0 | |
| 2011-11-18 | rt: Replace two uses of yield with ctx->swap | Brian Anderson | -3/+2 | |
| These uses aren't really doing a full yield. They are just giving up control to the scheduler and will never return. | ||||
| 2011-11-18 | rt: Add comments to rust_task::yield | Brian Anderson | -0/+1 | |
| 2011-11-18 | rt: rust_task::conclude_failure doesn't need to call unblock | Brian Anderson | -2/+0 | |
| 2011-11-18 | rt: Add FIXMEs about races in rust_task | Brian Anderson | -1/+8 | |
| 2011-11-18 | rt: Remove task::on_wakeup. Unused | Brian Anderson | -9/+0 | |
| 2011-11-18 | rt: Remove some unnecessary setting of rust_task::killed | Brian Anderson | -2/+0 | |
| The value of this variable doesn't matter after the task fails. | ||||
| 2011-11-18 | rt: Remove rust_task::yield. Unused | Brian Anderson | -5/+0 | |
| 2011-11-18 | rt: Add some comments about methods that run on the Rust stack | Brian Anderson | -0/+2 | |
| 2011-11-17 | Re-enable cycle coll. on x86_64, seems to work better now. | Niko Matsakis | -3/+0 | |
| 2011-11-17 | rt: More work on morestack | Patrick Walton | -6/+23 | |
| 2011-11-16 | Revert "rt: More work on morestack" | Brian Anderson | -23/+6 | |
| This reverts commit 68aff2ad6d55a051e9347aa38f945d114f282691. | ||||
| 2011-11-16 | rt: More work on morestack | Patrick Walton | -6/+23 | |
| 2011-11-16 | rt: Remove an unnecessary check from rust_task::yield | Brian Anderson | -3/+1 | |
| 2011-11-16 | rt: Remove rust_task::notify_tasks_wating_to_join | Brian Anderson | -15/+0 | |
| 2011-11-16 | temp. disable cycle coll. on x86_64 | Niko Matsakis | -0/+2 | |
| 2011-11-14 | Revert "rt: More work on morestack" | Patrick Walton | -23/+6 | |
| This reverts commit ced0d4f15e11e2c74766d1055146946ded3fba51. | ||||
| 2011-11-14 | rt: More work on morestack | Patrick Walton | -6/+23 | |
| 2011-11-13 | rt: Perform task notification before killing the parent task | Brian Anderson | -18/+24 | |
| 2011-11-11 | rt: Take the task lock when dropping port refcounts | Brian Anderson | -20/+15 | |
| Sucks, but otherwise there are races when one task drops the refcount to zero followed by another bumping it again | ||||
| 2011-11-11 | Fix run-fail/spawnfail | Brian Anderson | -2/+8 | |
| Catch the case where a parent is killed immediately before it terminates normally. | ||||
| 2011-11-11 | rt: Add locking invariants to rust_task | Brian Anderson | -0/+8 | |
| 2011-11-11 | rt: Remove rust_chan | Brian Anderson | -9/+10 | |
| 2011-11-10 | rt: Move rust_chan::send to rust_port::send | Brian Anderson | -2/+4 | |
