| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-12-18 | rt: Add lots of documentation to __morestack | Brian Anderson | -42/+139 | |
| 2011-12-17 | rt: Use a DWARF CFI scheme that works on mac in __morestack | Brian Anderson | -24/+6 | |
| 2011-12-16 | rt: Make 32-bit morestack compatible with fastcc | Brian Anderson | -9/+18 | |
| 2011-12-16 | rt: Fix saved address of unwinding %rsp in __morestack | Brian Anderson | -1/+1 | |
| I haven't thought too deeply about this, but I think I was telling the unwinder to use the stack pointer for the wrong frame when unwinding. Not sure how that could have worked at all, but this results in the correct alignment for cleanups. | ||||
| 2011-12-16 | rt: Fix alignment of the call to upcall_del_stack in __morestack | Brian Anderson | -2/+7 | |
| 2011-12-16 | rt: Insert stack alignment checks into upcalls | Brian Anderson | -1/+21 | |
| 2011-12-13 | rt: Add a FIXME to 32-bit __morestack about trashing %eax | Brian Anderson | -1/+2 | |
| 2011-12-13 | rt: Use %ecx instead of %eax during the second half of __morestack | Brian Anderson | -3/+5 | |
| If Rust code made use of return values then using %eax here would clobber it | ||||
| 2011-12-13 | rt: Don't clobber fastcc argument registers in __morestack | Brian Anderson | -12/+15 | |
| 2011-12-12 | rt: Remove some duplicated code from 64-bit __morestack | Brian Anderson | -12/+0 | |
| 2011-12-12 | rt: Make unwinding through __morestack work on mac | Brian Anderson | -3/+1 | |
| Had to bump the min stack size in some of the tests from 256 bytes to 1024 bytes. Not sure why yet. | ||||
| 2011-12-12 | rt: Write CFI instructions that (might) work on mac in __morestack | Brian Anderson | -0/+14 | |
| The DW_CFA_val_offset_sf instruction doesn't seem to work on mac, even after implementing it in the llvm-mc assembler, so now I'm looking for a different way to communicate the stack pointer adjustment to the unwinder. | ||||
| 2011-12-11 | rt: Make unwinding through __morestack work on mac | Brian Anderson | -18/+6 | |
| Had to bump the min stack size in some of the tests from 256 bytes to 1024 bytes. Not sure why yet. | ||||
| 2011-12-11 | rt: Write CFI instructions that (might) work on mac in __morestack | Brian Anderson | -11/+35 | |
| The DW_CFA_val_offset_sf instruction doesn't seem to work on mac, even after implementing it in the llvm-mc assembler, so now I'm looking for a different way to communicate the stack pointer adjustment to the unwinder. | ||||
| 2011-12-11 | rt: Add DWARF CFI info to asm_call_on_stack | Brian Anderson | -16/+57 | |
| This will allow the unwinder to unwind this function so we can call upcall_fail on the C stack. | ||||
| 2011-12-10 | build: Use llvm-mc as our assembler | Brian Anderson | -4/+8 | |
| LLVM's assembler understands .cfi pseudo-ops on the mac, which we need in order to generate frames that can be DWARF-unwound | ||||
| 2011-12-08 | rt: Make __morestack work on win32 | Brian Anderson | -10/+8 | |
| 2011-12-06 | rt: Various tweaks to make __morestack unwinding work on linux | Brian Anderson | -0/+18 | |
| 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 | -8/+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: Use an out pointer for rust_new_stack | Brian Anderson | -5/+10 | |
| upcall_call_shim_on_c_stack does not handle return values | ||||
| 2011-12-05 | rt: Unwind through __morestack on 32-bit linux | Brian Anderson | -0/+24 | |
| 2011-12-04 | rt: Update 32-bit __morestack for recent LLVM changes | Brian Anderson | -16/+13 | |
| 2011-12-02 | rt: Implement 32-bit __morestack for mac | Brian Anderson | -21/+63 | |
| 2011-12-02 | rt: Fix __morestack prologue on x86_64 mac | Brian Anderson | -1/+1 | |
| 2011-12-01 | rt: Fix 64-bit linux __morestack | Brian Anderson | -2/+26 | |
| 2011-12-01 | rt: Implement __morestack for 64-bit mac. Doesn't unwind yet | Brian Anderson | -10/+5 | |
| 2011-12-01 | rt: Implement record_sp for 64-bit mac | Brian Anderson | -1/+8 | |
| 2011-12-01 | rt: Add FIXME's about future changes to LLVM's __morestack impl | Brian Anderson | -0/+2 | |
| 2011-11-30 | rt: Reorganize stack growth code | Brian Anderson | -22/+20 | |
| 2011-11-30 | rt: Remove redundant defs of RUST_DEL_STACK | Brian Anderson | -2/+0 | |
| 2011-11-30 | rt: Remove the stack pointer field of stk_seg | Brian Anderson | -28/+7 | |
| 2011-11-30 | rt: Remove upcall_alloc_c_stack/call_c_stack, et. al. | Brian Anderson | -114/+0 | |
| We are using upcall_call_shim_on_c_stack now | ||||
| 2011-11-30 | rt: Rewrite 32-bit __morestack to use the shim upcall | Brian Anderson | -85/+63 | |
| 2011-11-29 | rt: Request the correct number of bytes on the C stack | Brian Anderson | -1/+1 | |
| 2011-11-29 | rt: Conditionalize out the 32-bit __morestack for everything but Linux | Brian Anderson | -0/+7 | |
| Currently broken everywhere else | ||||
| 2011-11-29 | rt: Fix the name of the linux macro in x86_64/morestack.S | Brian Anderson | -1/+1 | |
| 2011-11-29 | rt: Fix calculation of stack args location in x86_64/morestack.S | Brian Anderson | -3/+4 | |
| 2011-11-29 | rt: Fix i386/morestack.S for static linking | Brian Anderson | -1/+2 | |
| 2011-11-28 | rt: Make 64-bit __morestack grow and shrink properly | Brian Anderson | -6/+47 | |
| 2011-11-28 | rt: Remove a FIXME frome x86_64/morestack.S | Brian Anderson | -1/+0 | |
| 2011-11-28 | rt: Get 64-bit Linux __morestack allocating new stacks | Brian Anderson | -5/+10 | |
| 2011-11-28 | rt: Set hidden visibility on __morestack | Brian Anderson | -0/+18 | |
| Each crate will have its own copy of this function, which should not be exported. | ||||
| 2011-11-28 | rt: Rename L$bail to .L$bail in i386/morestack.S | Brian Anderson | -2/+2 | |
| 2011-11-28 | rt: Implement part of the 64-bit __morestack | Brian Anderson | -20/+42 | |
| 2011-11-27 | rt: Implement record_sp for 64-bit linux | Brian Anderson | -0/+5 | |
| 2011-11-22 | rt: Make __morestack build on win32 | Brian Anderson | -1/+6 | |
| 2011-11-22 | rt: Add x86_64 record_sp stub | Brian Anderson | -0/+12 | |
| 2011-11-22 | rt: Make __morestack (without unwinding) work on 32-bit linux | Brian Anderson | -19/+44 | |
| 2011-11-18 | get pure wrappers approach running | Niko Matsakis | -0/+45 | |
| 2011-11-17 | add an extra underscore | Niko Matsakis | -1/+1 | |
