about summary refs log tree commit diff
path: root/src/comp/back/upcall.rs
AgeCommit message (Collapse)AuthorLines
2011-12-15massive refactor of how closures workNiko Matsakis-3/+6
2011-12-14get basic code generation working, clone type descs for lambda[send]Niko Matsakis-14/+26
2011-12-06rt: Various tweaks to make __morestack unwinding work on linuxBrian Anderson-2/+4
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-11-18get pure wrappers approach runningNiko Matsakis-6/+5
2011-11-17remove compile-command from local variable blocksNiko Matsakis-1/+0
2011-11-16fix natives with user-specified link names, remove unused importsNiko Matsakis-2/+2
2011-11-16begin efforts to use shim functions for c-stack callsNiko Matsakis-13/+6
2011-11-10Cleanup unused importsHaitao Li-5/+3
2011-11-02get things checking on ia32Niko Matsakis-5/+6
2011-11-02thread the context through so that int can be 64 bits on x86_64Niko Matsakis-13/+26
2011-10-24fix c-stack-cdecl when used w/ i64Niko Matsakis-3/+7
2011-10-24switch over sqrt from llvm to c-stack-cdecl, exposing a bug inNiko Matsakis-1/+5
the supported return types of upcall_c_stack
2011-10-20Get rid of taskpointer-passing throughout the compilerMarijn Haverbeke-2/+2
Only intrinsics still take a dummy taskptr. We'll have to do some makefile stunts to snapshot a version without taskptrs-in-intrinsics. Issue #466
2011-10-20Remove taskptr argument from upcallsMarijn Haverbeke-23/+15
Issue #466
2011-09-29rustc: Make the generic C stack function signature include a usable return valuePatrick Walton-1/+1
2011-09-29rustc: Fix call signature for call_c_stackPatrick Walton-18/+7
2011-09-29rustc: Add upcall stubs for the new C stack upcallsPatrick Walton-0/+5
2011-09-12Merge branch 'unwind'Brian Anderson-2/+5
Conflicts: src/comp/middle/trans.rs src/comp/middle/trans_build.rs src/lib/run_program.rs src/test/compiletest/runtest.rs
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-2/+2
Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit.
2011-09-11Add upcall_rust_personalityBrian Anderson-2/+5
This just wraps __gxx_personality_v0 with our upcall naming convention Issue #236
2011-09-09Get rid of some unused upcallsMarijn Haverbeke-13/+2
I guess these became obsolete when the communication stuff moved into the stdlib.
2011-09-02Reformat. Issue #855Brian Anderson-25/+24
2011-09-02Rename ivecs to vecs in the compilerMarijn Haverbeke-8/+8
2011-09-02Remove remaining evec support from transMarijn Haverbeke-10/+0
2011-09-01Rename std::istr to std::str. Issue #855Brian Anderson-1/+1
2011-08-31rt: Make the dynamic stack self-describingPatrick Walton-1/+2
2011-08-29Implement non-internal ivecsMarijn Haverbeke-15/+6
Vectors are now similar to our old, pre-internal vectors, except that they are uniquely owned, not refcounted. Their name should probably change too, then. I've renamed them to vec in the runtime, will do so throughout the compiler later.
2011-08-27Convert rustc::middle::trans to istrs. Issue #855Brian Anderson-1/+1
2011-08-27Convert the rest of rustc::back to istrs. Issue #855Brian Anderson-27/+30
2011-08-25rustc: Add an extra flag to object tydescs so that shapes know how to find ↵Patrick Walton-1/+1
the captured subtydescs
2011-08-24Optimize += [x] into a simple push operationMarijn Haverbeke-0/+4
This is a preparation for making vectors always-on-the-heap again, which would cause way too much malloc traffic for this idiom. I will add an efficient std::vec::push in the future, and migrate += [x] to that instead. Reduces compiler code size by 3%
2011-08-20ReformatBrian Anderson-39/+35
This changes the indexing syntax from .() to [], the vector syntax from ~[] to [] and the extension syntax from #fmt() to #fmt[]
2011-08-18Rename some vec upcalls and trans functions from vec* to evec*Brian Anderson-3/+3
2011-08-18Remove upcall_new_vecBrian Anderson-4/+0
2011-08-18Remove or _-prefix all unused function argumentsMarijn Haverbeke-7/+7
This should make the compilation process a bit less noisy.
2011-08-17rustc: Add the dynastack upcalls to upcall.rsPatrick Walton-2/+11
2011-08-16Removing task, chan and port upcalls.Eric Holk-39/+0
2011-08-15The wonky for...in... whitespace was bothering me. Sorry!Lindsey Kuper-1/+1
2011-08-10rustc: Remove unused "trace" upcallsPatrick Walton-4/+0
2011-08-10rustc: Use polymorphic loggingPatrick Walton-11/+6
2011-08-09Convert remaning ivec decls to new syntaxBrian Anderson-1/+1
These snuck in during rebasing
2011-08-09Port the compiler to the ivec type [T] syntax.Erick Tryzelaar-3/+3
2011-08-08rustc: Fix signature on cmp glue upcallPatrick Walton-1/+1
2011-08-08rustc: Declare upcall_cmp_typePatrick Walton-10/+20
2011-08-05Atomic ref counting for chans.Eric Holk-0/+4
2011-07-28Adding upcalls to to ref() and deref() tasks. This is the first step towards ↵Eric Holk-0/+4
atomic reference counting of tasks.
2011-07-27Reformat for new syntaxMarijn Haverbeke-109/+112
2011-07-21Lots of work on memory tracking and channels.Eric Holk-0/+4
We're trying to get closer to doing correct move semantics for channel operations. This involves a lot of cleanup (such as removing the unused sched parameter from rust_vec constructor) and making circular_buffer kernel_owned. Added tagging for memory allocations. This means we give a string tag to everything we allocate. If we leak something and TRACK_ALLOCATIONS is enabled, then it's much easier now to tell exactly what is leaking.
2011-07-15rustc: Implement interior string logging in DPSPatrick Walton-0/+3
2011-07-15rustc: Remove a bunch of exterior vectorsPatrick Walton-40/+40