about summary refs log tree commit diff
path: root/src/comp/back/upcall.rs
AgeCommit message (Collapse)AuthorLines
2012-03-02Move src/comp to src/rustcGraydon Hoare-130/+0
2012-02-21Remove unused tydesc argument to upcall_shared_mallocMarijn Haverbeke-6/+3
2012-02-17rt: Make upcall_vec_push an intrinsicBrian Anderson-5/+11
2012-02-14rustc: Translate crust functionsBrian Anderson-0/+4
2012-02-03Remove experimental GC codeMarijn Haverbeke-1/+1
It's been sitting unused long enough to have bitrotted completely.
2012-02-01make boxes self-describing (fixes #1493)" (take 2)Niko Matsakis-1/+4
this will be used to generate a new snapshot.
2012-02-01Revert "make boxes self-describing (fixes #1493)" until a newNiko Matsakis-4/+1
snapshot is prepared.
2012-02-01make boxes self-describing (fixes #1493)Niko Matsakis-1/+4
2012-02-01Get rid of native types in LLVM moduleMarijn Haverbeke-4/+1
Code is still somewhat kludgy because we don't have 32-bit enums. Issue #1673
2012-01-27Move various trans_ modules under a trans:: umbrella moduleMarijn Haverbeke-6/+6
Closes #1304
2012-01-17roll back commit 1c7a62Niko Matsakis-2/+0
2012-01-17Use a memset upcall to zero things without static alignmentMarijn Haverbeke-0/+2
This fixes issues #843 and #1546. The cost of an upcall is unfortunate, though. I assume there must be a way to simply manually compute the pointer or size, using something akin to the formula in `align_to` in `rust_util.h`. I could not get this to work, unfortunately.
2012-01-06Make binding of fns with bounded type parameters workMarijn Haverbeke-1/+4
Interns non-static dicts to heap-allocated equivalents so that they no longer have stack scope. Closes #1436
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