about summary refs log tree commit diff
path: root/src/rt
AgeCommit message (Collapse)AuthorLines
2011-12-05rt: Make stack unwinding work more correctly with stack growthBrian Anderson-2/+5
2011-12-05test: Test hitting the dynamic linker in the red zoneBrian Anderson-3/+10
2011-12-05rt: Use an out pointer for rust_new_stackBrian Anderson-14/+31
upcall_call_shim_on_c_stack does not handle return values
2011-12-05test: Add more tests for stack growthBrian Anderson-3/+11
2011-12-05rt: Unwind through __morestack on 32-bit linuxBrian Anderson-0/+24
2011-12-04rt: Update 32-bit __morestack for recent LLVM changesBrian Anderson-20/+24
2011-12-02rt: Implement 32-bit __morestack for macBrian Anderson-21/+63
2011-12-02rt: Fix __morestack prologue on x86_64 macBrian Anderson-1/+1
2011-12-01rt: Fix 64-bit linux __morestackBrian Anderson-2/+26
2011-12-01rt: Implement __morestack for 64-bit mac. Doesn't unwind yetBrian Anderson-10/+5
2011-12-01rt: Implement record_sp for 64-bit macBrian Anderson-1/+8
2011-12-01rt: Move RED_ZONE_SIZE to rust_task.cppBrian Anderson-9/+10
2011-12-01rt: Add FIXME's about future changes to LLVM's __morestack implBrian Anderson-0/+5
2011-12-01rt: Refactor record_sp into task::record_stack_limitBrian Anderson-6/+8
2011-12-01stdlib: Implement some preliminary libuv bindingsBrian Anderson-1/+59
std::uv is intended to be low-level, exactly mirroring the C API. Difficult to continue the implementation now without scheduler improvements.
2011-11-30rt: Reorganize stack growth codeBrian Anderson-72/+75
2011-11-30rt: Remove redundant defs of RUST_DEL_STACKBrian Anderson-2/+0
2011-11-30rt: Remove the stack pointer field of stk_segBrian Anderson-42/+9
2011-11-30rt: Remove upcall_alloc_c_stack/call_c_stack, et. al.Brian Anderson-129/+0
We are using upcall_call_shim_on_c_stack now
2011-11-30rt: Rewrite 32-bit __morestack to use the shim upcallBrian Anderson-85/+63
2011-11-29rt: Request the correct number of bytes on the C stackBrian Anderson-1/+1
2011-11-29rt: Delete the entire stack chain on task destructionBrian 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-29rt: Conditionalize out the 32-bit __morestack for everything but LinuxBrian Anderson-0/+7
Currently broken everywhere else
2011-11-29rt: Fix the name of the linux macro in x86_64/morestack.SBrian Anderson-1/+1
2011-11-29rt: Fix calculation of stack args location in x86_64/morestack.SBrian Anderson-3/+4
2011-11-29rt: Fix i386/morestack.S for static linkingBrian Anderson-2/+3
2011-11-28rt: Make 64-bit __morestack grow and shrink properlyBrian Anderson-7/+54
2011-11-28rt: Remove a FIXME frome x86_64/morestack.SBrian Anderson-1/+0
2011-11-28rt: Get 64-bit Linux __morestack allocating new stacksBrian Anderson-5/+10
2011-11-28rt: Set hidden visibility on __morestackBrian Anderson-0/+18
Each crate will have its own copy of this function, which should not be exported.
2011-11-28rt: Rename L$bail to .L$bail in i386/morestack.SBrian Anderson-2/+2
2011-11-28build: Stop linking morestack.S to rtBrian Anderson-1/+0
__morestack has to be linked statically. The odd calling convention on x86_64 results in the arguments to __morestack (r10 & r11) being clobbered by the dynamic linker. gcc links all the __morestack functions statically.
2011-11-28rt: Implement part of the 64-bit __morestackBrian Anderson-20/+57
2011-11-27rt: Implement record_sp for 64-bit linuxBrian Anderson-0/+5
2011-11-22rt: Make __morestack build on win32Brian Anderson-1/+6
2011-11-22rt: Add x86_64 record_sp stubBrian Anderson-0/+12
2011-11-22rt: Make __morestack (without unwinding) work on 32-bit linuxBrian Anderson-30/+73
2011-11-18get pure wrappers approach runningNiko Matsakis-0/+57
2011-11-18rt: Add more comments to rust_task_sleepBrian Anderson-2/+2
2011-11-18rt: Remove some stack-wasting macros from rust_task::yieldBrian Anderson-4/+0
2011-11-18intrinsics: Remove declaration of port_recvBrian Anderson-3/+0
2011-11-18rt: Remove fail calls from rust_task::yieldBrian Anderson-17/+18
2011-11-18rt: Remove unblock call from rust_task::yieldBrian Anderson-7/+12
2011-11-18rt: Remove a lock from task_start_wrapper that does nothingBrian Anderson-3/+0
2011-11-18rt: Replace two uses of yield with ctx->swapBrian 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-18rt: Add comments to rust_task::yieldBrian Anderson-0/+1
2011-11-18rt: rust_task::conclude_failure doesn't need to call unblockBrian Anderson-2/+0
2011-11-18intrinsics: Eliminate recv intrinsicBrian Anderson-59/+75
This intrinsic existed just to get ahold of the return pointer. I replaced it with a call_with_retptr intrinsic that grabs the return pointer and passes it to another Rust function, thereby eliminating the need to call C functions on the Rust stack.
2011-11-18rt: Add FIXMEs about races in rust_taskBrian Anderson-1/+8
2011-11-18rt: Remove task::on_wakeup. UnusedBrian Anderson-19/+0