about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-07-07Command line changes for adding support for static libraries.Rafael Ávila de Espíndola-17/+19
2011-07-07Clean up trans_arg_exprMarijn Haverbeke-45/+25
As a preparation for implementing the temporary-move optimization for argument passing. The optimization itself isn't in yet, since it mysteriously corrupts memory.
2011-07-07Make moving of temporaries do the right thing, use it to optimizeMarijn Haverbeke-135/+174
This adds support for dropping cleanups for temporary values when they are moved somewhere else. It then adds wraps most copy operations (return, put in data structure, box, etc) in a way that will fall back to a move when it is safe. This saves a lot of taking/dropping, shaving over a megabyte off the stage2/rustc binary size. In some cases, most notably function returns, we could detect that the returned value is a local variable, and can thus be safely moved even though it is not a temporary. This will require putting some more information in lvals. I did not yet handle function arguments, since the logic for passing them looked too convoluted to touch. I'll probably try that in the near future, since it's bound to be a big win.
2011-07-07Improve handling of move and swap by alias checkerMarijn Haverbeke-10/+24
Closes issue #541. Closes issue #591
2011-07-06Allocate rust_ivec buffers out of the kernel poolRob Arnold-8/+39
The duplication of upcalls is due to the fact that the runtime is shared between stage0/rustc and stage1/rustc. Once snapshots are updated, they should be de-duplicated.
2011-07-06Tie the knot for self-calls inside extended objects. Closes #539.Lindsey Kuper-4/+8
2011-07-06Generate a main fn for test running. Issue #428Brian Anderson-18/+80
2011-07-06Fix a pointer bug.Lindsey Kuper-3/+2
2011-07-06Add span information to create_vtbl and friends.Lindsey Kuper-18/+14
2011-07-06Comments and cleanup.Lindsey Kuper-2/+4
2011-07-06rustc: Make constraint args in the AST interior vectorsPatrick Walton-3/+4
2011-07-06rustc: Move AST constraints to interior vectorsPatrick Walton-16/+17
2011-07-06rustc: Migrate core AST types to interior vectorsPatrick Walton-12/+32
2011-07-06rustc: Make AST tuple types use interior vectorsPatrick Walton-9/+5
2011-07-06rustc: Make meta items into interior vectorsPatrick Walton-66/+90
2011-07-06rustc: Move crate directives over to interior vectorsPatrick Walton-13/+12
2011-07-06rustc: Convert attribute in the AST to interior vectorsPatrick Walton-75/+75
2011-07-06rustc: Make AST paths use interior vectorsPatrick Walton-43/+71
2011-07-06rustc: Move middle::tstate::collect_locals over to interior vectorsPatrick Walton-9/+9
2011-07-06rustc: Remove unused or seldom-used imports from ↵Patrick Walton-8/+1
middle::tstate::{bitvectors, ck}
2011-07-06rustc: Remove some unused references to std::vec from tstate::ann and ↵Patrick Walton-6/+1
tstate::auxiliary
2011-07-06rustc: Move middle::tstate::auxiliary and middle::tstate::bitvectors over to ↵Patrick Walton-123/+131
interior vectors
2011-07-06rustc: Move tstate::annotate over to interior vectorsPatrick Walton-12/+12
2011-07-06rustc: Convert bind_params_in_type() to use interior vectorsPatrick Walton-6/+9
2011-07-06rustc: Migrate tag variants to interior vectorsPatrick Walton-37/+35
2011-07-06rustc: Make object methods into interior vectorsPatrick Walton-45/+49
2011-07-06Begin adding unit testing infrastructure to the compilerBrian Anderson-4/+58
Add a --test flag and a pass for transforming the AST to generate a test harness. Issue #428
2011-07-06Swap the expected/actual for typechecking fields of updated recordsBrian Anderson-2/+2
In 'rec(a = b with c)', if a exists in c then the expected type for b is the type of c.
2011-07-06rustc: Use an interior vector for ty::count_ty_paramsPatrick Walton-6/+4
2011-07-06rustc: Move the interner over to interior vectorsPatrick Walton-7/+7
2011-07-06rustc: Make the various constraint-related types in middle::ty use interior ↵Patrick Walton-18/+56
vectors
2011-07-06rustc: Make type parameter substitutions interior vectorsPatrick Walton-35/+33
2011-07-06rustc: Change constraints in types to use interior vectorsPatrick Walton-42/+47
2011-07-06rustc: Switch tag type parameters to interior vectorsPatrick Walton-31/+19
2011-07-06rustc: Use interior vectors for tag type parametersPatrick Walton-123/+188
2011-07-06Make "cannot determine a type for this local variable" non-fatalBrian Anderson-3/+6
2011-07-06Make "cannot determine a type for this expression" non-fatal. Closes #621Brian Anderson-17/+37
2011-07-06Refactor the typeck::writeback AST walkBrian Anderson-44/+51
All visitors take a wb_ctxt now instead of some taking a fn_ctxt and some taking an ignore flag.
2011-07-06Remove unused method from typeck::writebackBrian Anderson-3/+0
2011-07-06Limit exports from typeckBrian Anderson-0/+2
2011-07-06Limit exports from typeck::writebackBrian Anderson-0/+3
2011-07-06Simplify AST for expr_anon_obj.Lindsey Kuper-15/+13
2011-07-06Simplify arguments to trans_anon_obj and friends.Lindsey Kuper-21/+13
2011-07-06rustc: Revert the conversion to interior vectors due to heap corruptionPatrick Walton-778/+633
2011-07-06Temp commit on the way to making meta_item into an interior vectorPatrick Walton-29/+53
2011-07-06rustc: Move crate directives over to interior vectorsPatrick Walton-13/+12
2011-07-06rustc: Convert attribute in the AST to interior vectorsPatrick Walton-75/+75
2011-07-06rustc: Make AST paths use interior vectorsPatrick Walton-43/+71
2011-07-06rustc: Move middle::tstate::collect_locals over to interior vectorsPatrick Walton-9/+9
2011-07-06rustc: Remove unused or seldom-used imports from ↵Patrick Walton-8/+1
middle::tstate::{bitvectors, ck}