summary refs log tree commit diff
path: root/src/rt/arch
AgeCommit message (Collapse)AuthorLines
2013-06-16Partial fix for #7158: Save EDX in morestack on x86-32Niko Matsakis-0/+2
2013-06-06Deduplicate words in code commentsAlexei Sholik-4/+4
2013-05-22fix arm stack alignmentJyun-Yan You-2/+4
2013-05-21fix mips stack alignmentJyun-Yan You-2/+4
2013-05-17auto merge of #6249 : crabtw/rust/arm, r=brsonbors-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-09improve MIPS backend and implement segmented stacksJyun-Yan You-5/+101
2013-05-07preliminary Linux ARM supportJyun-Yan You-0/+8
2013-05-03add gitattributes and fix whitespace issuesDaniel Micay-21/+3
2013-04-18auto merge of #5418 : luqmana/rust/stack-float, r=brsonbors-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-10add unwind information on morestackILyoan-14/+19
2013-04-10rust morestack assembly for armILyoan-42/+60
Conflicts: src/rt/arch/arm/morestack.S
2013-04-04rt: improve mips backendJyun-Yan You-11/+22
2013-04-01rt/arch/arm: fix syntax used for noexec stackDaniel Micay-4/+4
2013-03-31mark the assembly object stacks as non-executableDaniel Micay-19/+91
Closes #5643 This also removes the need to pass noexecstack to gcc, but that wasn't actually working anymore.
2013-03-25auto merge of #5424 : luqmana/rust/inline-rt, r=brsonbors-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-19Rewrite arm/ccall.sILyoan-15/+10
2013-03-18rt: Inline get_sp_limit/set_sp_limit/get_sp for x86.Luqman Aden-63/+45
2013-03-17rt: Inline get_sp_limit/set_sp_limit/get_sp for x86_64.Luqman Aden-52/+158
2013-03-17rt: don't save and restore xmm/regs in __morestack.Luqman Aden-19/+3
2013-03-11core: Add rt mod and add the new scheduler codeBrian Anderson-8/+18
2013-03-06Merge remote-tracking branch 'brson/cross7'Brian Anderson-0/+8
Conflicts: configure mk/rt.mk
2013-03-03rt: fix some bugs for MIPS targetJyun-Yan You-2/+23
2013-03-03rt: MIPS32 supportJyun-Yan You-0/+316
2013-02-27mk: rewrite make filesYoung-il Choi-0/+8
2013-01-17Add a license check to tidy. #4018Brian Anderson-2/+7
2013-01-13Support ARM and Androidkyeongwoon-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-10Add license boilerplate to more files.Graydon Hoare-0/+40
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+60
2012-06-28Remove FIXME questionTim 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-21Try removing code marked with "I don't think this is necessary"Tim Chevalier-15/+1
2012-06-07rt: Remove check_stack_alignmentBrian Anderson-20/+0
This function does not do what it tries to do and it is expensive
2012-04-04rt: Add architecture-specific general-purpose register definitionsPatrick Walton-0/+73
This will be used for stack crawling, which in turn will be used for GC and unwinding.
2012-04-03Refactor includes structure, getting rid of rust_internal.hJon 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-31rt: Fix whitespaceBrian Anderson-3/+3
2012-03-21rt: Shave 16 bytes off the __morestack frameBrian Anderson-2/+2
2012-03-21rt: Shave a few instructions off __morestackBrian Anderson-42/+31
2012-03-21rt: Add a get_sp_limit functionBrian Anderson-0/+40
2012-03-21rt: Rename record_sp to record_sp_limitBrian Anderson-13/+13
2012-02-09rt: Use rust_task_thread's C-stack pool for native callsBrian Anderson-12/+0
2012-02-09rt: Rename call_shim_on_c_stack to call_and_change_stacksBrian Anderson-2/+2
2012-02-09rt: Remove unused context functionsBrian Anderson-28/+0
2012-01-06add alignment to i386 for good measure, though we do not yetNiko Matsakis-1/+1
save SSE regs in i386 (we ought to, though!)
2012-01-06fix alignment of registers structureNiko Matsakis-6/+3
2012-01-01add missing library, enable segmented stacks for freebsdJyun-Yan You-4/+6
2012-01-01forgot to add parenthesesJyun-Yan You-1/+1
2012-01-01freebsd supportUser Jyyou-20/+30
2011-12-29Save and restore xmm regs across the call to UPCALL_NEW_STACK during ↵Graydon Hoare-1/+30
__morestack, close #1388.
2011-12-29Remove obsolete comments.Graydon Hoare-4/+0
2011-12-19rt: Rename asm_call_on_stack to __morestackBrian Anderson-13/+30
Newer gdb's will backtrace through functions named __morestack even if they change the stack.
2011-12-19rt: Zero the bottom frame's return address and base pointerBrian Anderson-2/+10
My reading of libunwind leads me to believe this is expected. Closes #1322