about summary refs log tree commit diff
path: root/src/comp/middle/block_use.rs
AgeCommit message (Collapse)AuthorLines
2012-03-02Move src/comp to src/rustcGraydon Hoare-42/+0
2012-02-06Make ty::t type self-sufficientMarijn Haverbeke-2/+2
It is now no longer needed to have a ty::ctxt to get at the contents of a ty::t. The straight-forward approach of doing this, simply making ty::t a box type, unfortunately killed our compiler performance (~15% slower) through refcounting cost. Thus, this patch now represents ty::t as an unsafe pointer, assuming that the ty::ctxt, which holds these boxes alive, outlives any uses of the ty::t values. In the current compiler this trivially holds, but it is does of course add a new potential pitfall. ty::get takes a ty::t and returns a boxed representation of the type. I've changed calls to ty::struct(X) to do ty::get(X).struct. Type structs are full of vectors, and copying them every time we wanted to access them was a bit of a cost.
2012-02-05infer modes rather than overwriting with expected tyNiko Matsakis-1/+1
2012-01-13distinguish "any closure" and "stack closure" (block)Niko Matsakis-1/+1
2012-01-12Make driver::session::session no longer an objectMarijn Haverbeke-0/+1
Rather, it is now a struct where properties like opts are accessed directly, and the error-reporting methods are part of a static impl (with the same name as the type).
2011-12-23Use the same type of record in ty::ty_fn and ty::methodMarijn Haverbeke-1/+1
Removes some more code duplication.
2011-11-21Add a pass that checks that blocks are only used in safe waysMarijn Haverbeke-0/+41
Closes #1188