| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2013-11-18 | rt: Namespace all C functions under rust_ | Brian Anderson | -10/+10 | |
| 2013-11-06 | Fixes for compilation to iOS: | kud1ing | -2/+8 | |
| - remove /usr/include from the include path since the iOS SDK provides the correct version - `_NSGetEnviron()` is private and not available on iOS - `.align` without an argument is not allowed with the Apple tools. 2^2 should be the default alignment - ignore error messages for XCode < 5 - pass include path to libuv | ||||
| 2013-10-22 | Fix unwinding on OS X 10.9. | Mark Rowe | -3/+21 | |
| OS X 10.9's linker has a bug that results in it failing to preserve DWARF unwind information when passed the -no_compact_unwind flag. This flag is passed on OS X because the unwind information for __morestack cannot be represented by the compact unwind format. We can work around this problem by using a more targeted approach to disabling compact unwind information. The OS X linker looks for a particular pattern in the DWARF unwind information and will not attempt to convert the unwind information to the compact format. The pattern in question is the return address register being saved twice to the same location. Fixes #6849. | ||||
| 2013-10-19 | Use __morestack to detect stack overflow | Alex Crichton | -1407/+56 | |
| This commit resumes management of the stack boundaries and limits when switching between tasks. This additionally leverages the __morestack function to run code on "stack overflow". The current behavior is to abort the process, but this is probably not the best behavior in the long term (for deails, see the comment I wrote up in the stack exhaustion routine). | ||||
| 2013-08-26 | Support Win64 context switching | klutzy | -9/+75 | |
| This patch saves and restores win64's nonvolatile registers. This patch also saves stack information of thread environment block (TEB), which is at %gs:0x08 and %gs:0x10. | ||||
| 2013-08-26 | rt: Add {get,record}_sp_limit on Win64 | klutzy | -0/+8 | |
| Uses ArbitraryUserPointer area at gs:0x28. | ||||
| 2013-08-26 | rt: Remove leading underscore on Win64 | klutzy | -3/+6 | |
| Win64 convention does not use underscore. | ||||
| 2013-08-22 | Emit unwind info in rustrt assembly files on Windows. | Vadim Chugunov | -10/+10 | |
| 2013-08-04 | Add support for vanilla linux on arm. | Luqman Aden | -0/+14 | |
| 2013-06-16 | Partial fix for #7158: Save EDX in morestack on x86-32 | Niko Matsakis | -0/+2 | |
| 2013-06-06 | Deduplicate words in code comments | Alexei Sholik | -4/+4 | |
| 2013-05-22 | fix arm stack alignment | Jyun-Yan You | -2/+4 | |
| 2013-05-21 | fix mips stack alignment | Jyun-Yan You | -2/+4 | |
| 2013-05-17 | auto merge of #6249 : crabtw/rust/arm, r=brson | bors | -0/+8 | |
| It uses the private field of TCB head to store stack limit. I tested on my Raspberry PI. A simple hello world program ran without any problem. However, for a more complex program, it segfaulted as #6231. | ||||
| 2013-05-09 | improve MIPS backend and implement segmented stacks | Jyun-Yan You | -5/+101 | |
| 2013-05-07 | preliminary Linux ARM support | Jyun-Yan You | -0/+8 | |
| 2013-05-03 | add gitattributes and fix whitespace issues | Daniel Micay | -21/+3 | |
| 2013-04-18 | auto merge of #5418 : luqmana/rust/stack-float, r=brson | bors | -19/+3 | |
| Like I commented in #2043, I can't reproduce the weirdness from #1388 on either mac or linux (x84_64) and pushing to try gives all green. That's 128 less bytes to have to keep in the stack for every call to __morestack. | ||||
| 2013-04-10 | add unwind information on morestack | ILyoan | -14/+19 | |
| 2013-04-10 | rust morestack assembly for arm | ILyoan | -42/+60 | |
| Conflicts: src/rt/arch/arm/morestack.S | ||||
| 2013-04-04 | rt: improve mips backend | Jyun-Yan You | -11/+22 | |
| 2013-04-01 | rt/arch/arm: fix syntax used for noexec stack | Daniel Micay | -4/+4 | |
| 2013-03-31 | mark the assembly object stacks as non-executable | Daniel Micay | -19/+91 | |
| Closes #5643 This also removes the need to pass noexecstack to gcc, but that wasn't actually working anymore. | ||||
| 2013-03-25 | auto merge of #5424 : luqmana/rust/inline-rt, r=brson | bors | -112/+200 | |
| As per #2521. Inlining seems to improve performance slightly: Inlined Not Inlined x86: 13.5482 14.4112 x86_64: 17.4712 18.0696 (Average of 5 runs timed with `time`) ```Rust fn foo() -> int { int::from_str(~"28098").unwrap() } fn main() { for 1000000.times { foo(); foo(); foo(); foo(); foo(); } } ``` All run on: Linux 3.2.0-0.bpo.4-amd64 #1 SMP Debian 3.2.35-2~bpo60+1 x86_64 GNU/Linux The MIPS and ARM bits I didn't inline since I'm not as familiar with them and I also can't test them. All green on try. | ||||
| 2013-03-19 | Rewrite arm/ccall.s | ILyoan | -15/+10 | |
| 2013-03-18 | rt: Inline get_sp_limit/set_sp_limit/get_sp for x86. | Luqman Aden | -63/+45 | |
| 2013-03-17 | rt: Inline get_sp_limit/set_sp_limit/get_sp for x86_64. | Luqman Aden | -52/+158 | |
| 2013-03-17 | rt: don't save and restore xmm/regs in __morestack. | Luqman Aden | -19/+3 | |
| 2013-03-11 | core: Add rt mod and add the new scheduler code | Brian Anderson | -8/+18 | |
| 2013-03-06 | Merge remote-tracking branch 'brson/cross7' | Brian Anderson | -0/+8 | |
| Conflicts: configure mk/rt.mk | ||||
| 2013-03-03 | rt: fix some bugs for MIPS target | Jyun-Yan You | -2/+23 | |
| 2013-03-03 | rt: MIPS32 support | Jyun-Yan You | -0/+316 | |
| 2013-02-27 | mk: rewrite make files | Young-il Choi | -0/+8 | |
| 2013-01-17 | Add a license check to tidy. #4018 | Brian Anderson | -2/+7 | |
| 2013-01-13 | Support ARM and Android | kyeongwoon | -0/+273 | |
| Conflicts: src/libcore/os.rs src/librustc/back/link.rs src/librustc/driver/driver.rs src/librustc/metadata/loader.rs src/librustc/middle/trans/base.rs | ||||
| 2012-12-10 | Add license boilerplate to more files. | Graydon Hoare | -0/+40 | |
| 2012-12-03 | Update license, add license boilerplate to most files. Remainder will follow. | Graydon Hoare | -0/+60 | |
| 2012-06-28 | Remove FIXME question | Tim Chevalier | -2/+0 | |
| brson said the answer to the question is probably no... so I'm going to be bold and remove this. Closes #2685 | ||||
| 2012-06-21 | Try removing code marked with "I don't think this is necessary" | Tim Chevalier | -15/+1 | |
| 2012-06-07 | rt: Remove check_stack_alignment | Brian Anderson | -20/+0 | |
| This function does not do what it tries to do and it is expensive | ||||
| 2012-04-04 | rt: Add architecture-specific general-purpose register definitions | Patrick Walton | -0/+73 | |
| This will be used for stack crawling, which in turn will be used for GC and unwinding. | ||||
| 2012-04-03 | Refactor includes structure, getting rid of rust_internal.h | Jon Morton | -12/+4 | |
| Many changes to code structure are included: - removed TIME_SLICE_IN_MS - removed sychronized_indexed_list - removed region_owned - kernel_owned move to kernel.h, task_owned moved to task.h - global configs moved to rust_globals.h - changed #pragma once to standard guard in rust_upcall.h - got rid of memory.h | ||||
| 2012-03-31 | rt: Fix whitespace | Brian Anderson | -3/+3 | |
| 2012-03-21 | rt: Shave 16 bytes off the __morestack frame | Brian Anderson | -2/+2 | |
| 2012-03-21 | rt: Shave a few instructions off __morestack | Brian Anderson | -42/+31 | |
| 2012-03-21 | rt: Add a get_sp_limit function | Brian Anderson | -0/+40 | |
| 2012-03-21 | rt: Rename record_sp to record_sp_limit | Brian Anderson | -13/+13 | |
| 2012-02-09 | rt: Use rust_task_thread's C-stack pool for native calls | Brian Anderson | -12/+0 | |
| 2012-02-09 | rt: Rename call_shim_on_c_stack to call_and_change_stacks | Brian Anderson | -2/+2 | |
| 2012-02-09 | rt: Remove unused context functions | Brian Anderson | -28/+0 | |
