rustc for squiid.
https://github.com/rust-lang/rust
8673c4f195
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. |
||
---|---|---|
doc | ||
man | ||
mk | ||
src | ||
.gitignore | ||
.gitmodules | ||
AUTHORS.txt | ||
configure | ||
INSTALL.txt | ||
LICENSE.txt | ||
Makefile.in | ||
README.txt | ||
RELEASES.txt |
This is a compiler and suite of associated libraries and documentation for the Rust programming language. See LICENSE.txt for terms of copyright and redistribution. See http://www.rust-lang.org for more information.