Commit Graph

528 Commits

Author SHA1 Message Date
Patrick Walton
75c95e0960 librustc: De-@mut the region maps 2013-12-26 15:54:34 -08:00
Patrick Walton
ccb18f47e2 librustc: De-@mut the used_mut_nodes table in the type context 2013-12-26 15:54:33 -08:00
Patrick Walton
f7393d8658 librustc: De-@mut the method map 2013-12-26 15:54:32 -08:00
Patrick Walton
c909c34b5d librustc: De-@mut the freevar_map 2013-12-26 15:54:29 -08:00
Patrick Walton
43aee50798 librustc: De-@mut cstore::CStore 2013-12-26 15:54:29 -08:00
Patrick Walton
2de1e3649a librustc: De-@mut the named region map in the type context 2013-12-26 15:54:28 -08:00
Patrick Walton
01e31683d8 librustc: De-@mut used_unsafe in the type context 2013-12-26 15:54:28 -08:00
Patrick Walton
c4661fd258 librustc: De-@mut node_types in the type context 2013-12-26 13:01:28 -08:00
Patrick Walton
727fa3aa01 librustc: De-@mut impl_vtables in the type context 2013-12-26 13:01:28 -08:00
Patrick Walton
ea5368ce6e librustc: De-@mut ty::ctxt_::rcache 2013-12-26 13:01:28 -08:00
Patrick Walton
2c3f92699e librustc: De-@mut the type cache in the type context 2013-12-26 13:01:28 -08:00
Patrick Walton
b976226d52 librustc: De-@mut extern_const_variants in the type context 2013-12-26 13:01:28 -08:00
Patrick Walton
a5db84ce12 librustc: De-@mut the extern_const_statics table in the type context 2013-12-26 13:01:28 -08:00
Patrick Walton
55a7b2fedd librustc: De-@mut the impls table in the type context 2013-12-26 13:01:28 -08:00
Patrick Walton
42f7f7f437 librustc: De-@mut inherent_impls in the type context 2013-12-26 13:01:28 -08:00
Patrick Walton
c554d23a9a librustc: De-@mut trait_impls in the type context 2013-12-26 13:01:27 -08:00
Patrick Walton
a66fcca9c9 librustc: De-@mut destructors in the type context 2013-12-26 13:01:27 -08:00
Patrick Walton
752283889c librustc: De-@mut destructor_for_type in the type context 2013-12-26 13:01:27 -08:00
Patrick Walton
4dc923fbda librustc: De-@mut the normalized_cache in the type context 2013-12-26 13:01:27 -08:00
Patrick Walton
5b98c66593 librustc: De-@mut the item variance map in the type context 2013-12-26 13:01:27 -08:00
Patrick Walton
7f5e57a5a9 librustc: De-@mut supertraits in the type context 2013-12-26 13:01:26 -08:00
Patrick Walton
84e450347b librustc: De-@mut provided_method_sources in the type context 2013-12-26 13:01:26 -08:00
Patrick Walton
7cf6abc84a librustc: De-@mut the adjustments table in the type context 2013-12-26 13:01:26 -08:00
Patrick Walton
3e9bcea018 librustc: Remove ty_param_defs from the type context 2013-12-26 13:01:26 -08:00
Patrick Walton
d803a0f733 librustc: De-@mut the enum_var_cache 2013-12-26 13:01:26 -08:00
Patrick Walton
ab0d7b2312 librustc: De-@mut the ast_ty_to_ty_cache. 2013-12-26 13:01:26 -08:00
Patrick Walton
6a0450c67d librustc: De-@mut the tc_cache 2013-12-26 13:01:23 -08:00
Patrick Walton
ba2e6c1e95 librustc: De-@mut the needs_unwind_cleanup_cache 2013-12-26 13:01:23 -08:00
Patrick Walton
2e46ac6449 librustc: De-@mut the short names cache 2013-12-26 13:01:22 -08:00
Patrick Walton
2612d76d22 librustc: De-@mut intrinsic_defs 2013-12-26 13:01:22 -08:00
Patrick Walton
2ead970b21 librustc: De-@mut trait_defs 2013-12-26 13:01:22 -08:00
Patrick Walton
3f444dca5b librustc: De-@mut trait_refs 2013-12-26 13:01:22 -08:00
Patrick Walton
efdbd60a87 librustc: De-@mut the impl_trait_cache 2013-12-26 13:01:22 -08:00
Patrick Walton
02f13adaa3 librustc: De-@mut the trait_methods_cache 2013-12-26 13:01:22 -08:00
Patrick Walton
214d6bc34a librustc: De-@mut the trait_method_def_ids table. 2013-12-26 13:01:22 -08:00
Patrick Walton
f15f9388dc librustc: De-@mut the type context's methods table 2013-12-26 13:01:22 -08:00
Patrick Walton
386300d4b0 librustc: De-@mut the node_type_substs table 2013-12-26 13:01:22 -08:00
Patrick Walton
fffbe7a8cd librustc: De-@mut the type interner 2013-12-26 13:01:22 -08:00
Steven Fackler
c7cf5dc270 Method-ify CStore 2013-12-25 21:50:36 -07:00
bors
dc65762d79 auto merge of #10990 : ktt3ja/rust/method-stability, r=huonw
If it's a trait method, this checks the stability attribute of the
method inside the trait definition. Otherwise, it checks the method
implementation itself.

Close #8961.
2013-12-17 02:31:55 -08:00
Patrick Walton
caf34b41c3 librustc: Implement a Pod kind for types that can be memcpy'd.
This will be used for the new `Cell`.
2013-12-16 22:38:02 -08:00
Kiet Tran
4f95dceb59 Detect stability attributes on methods.
If it's a trait method, this checks the stability attribute of the
method inside the trait definition. Otherwise, it checks the method
implementation itself.
2013-12-16 16:25:45 -05:00
Erik Price
5731ca3078 Make 'self lifetime illegal.
Also remove all instances of 'self within the codebase.

This fixes #10889.
2013-12-11 10:54:06 -08:00
Kiet Tran
1755408d1a Remove dead codes 2013-12-08 02:55:28 -05:00
bors
df41115213 auto merge of #10750 : Blei/rust/no-at-struct-field, r=alexcrichton 2013-12-01 05:42:06 -08:00
Philipp Brüschweiler
47ce981903 ast: Remove one @ and fix the fallout 2013-12-01 11:24:58 +01:00
Eduard Burtescu
a9c4b18b18 Box Block, fn_decl, variant and Ty in the AST, as they were inflating critical enum sizes. 2013-12-01 00:00:39 +02:00
Alex Crichton
ab387a6838 Register new snapshots 2013-11-28 20:27:56 -08:00
bors
faf4c939fb auto merge of #10670 : eddyb/rust/node-u32, r=alexcrichton
### Rationale
There is no reason to support more than 2³² nodes or names at this moment, as compiling something that big (even without considering the quadratic space usage of some analysis passes) would take at least **64GB**.
Meanwhile, some can't (or barely can) compile rustc because it requires almost **1.5GB**.

### Potential problems
Can someone confirm this doesn't affect metadata (de)serialization? I can't tell myself, I know nothing about it.

### Results
Some structures have a size reduction of 25% to 50%: [before](https://gist.github.com/luqmana/3a82a51fa9c86d9191fa) - [after](https://gist.github.com/eddyb/5a75f8973d3d8018afd3).
Sadly, there isn't a massive change in the memory used for compiling stage2 librustc (it doesn't go over **1.4GB** as [before](http://huonw.github.io/isrustfastyet/mem/), but I can barely see the difference).
However, my own testcase (previously peaking at **1.6GB** in typeck) shows a reduction of **200**-**400MB**.
2013-11-26 22:07:44 -08:00
Eduard Burtescu
7ed27b5531 Shink NodeId, CrateNum, Name and Mrk down to 32 bits on x64. 2013-11-27 07:02:25 +02:00