| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-12-20 | rt: Don't check the stack canary on most upcalls | Brian Anderson | -0/+3 | |
| 2011-12-20 | Revert "rt: Reduce the mac red zone to 2K" | Brian Anderson | -2/+2 | |
| This reverts commit ba8f369f890f6c7241c616df552f0e2ebf1509c8. | ||||
| 2011-12-20 | rt: Reduce the mac red zone to 2K | Brian Anderson | -2/+2 | |
| 2011-12-20 | rt: Reduce the linux red zone to 2K | Brian Anderson | -2/+2 | |
| 2011-12-20 | rt: Parenthesize the red zone macros | Brian Anderson | -5/+5 | |
| 2011-12-20 | rt: Add a canary value to the end of every stack | Brian Anderson | -1/+27 | |
| Check it on upcall entry and exit, and on stack deletion | ||||
| 2011-12-20 | rt: Run yet more task_start_wrapper cleanup on the C stack | Brian Anderson | -17/+33 | |
| 2011-12-19 | rt: Don't reuse stack segments when they are not big enough | Brian Anderson | -2/+3 | |
| 2011-12-18 | rt: Get rid of the rethrow in upcall_fail | Brian 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-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 | |
