diff options
| author | Graydon Hoare <graydon@mozilla.com> | 2013-05-27 19:47:40 -0700 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2013-05-27 19:50:49 -0700 |
| commit | 3c4ce7951868efb17ab02dcd452d969f8eb1bb12 (patch) | |
| tree | e8f38db76bdab63206903400d1267eccb0da6f5a | |
| parent | 2061ce9affd01d2dfb3d1e5836cfda4006ea8290 (diff) | |
| download | rust-3c4ce7951868efb17ab02dcd452d969f8eb1bb12.tar.gz rust-3c4ce7951868efb17ab02dcd452d969f8eb1bb12.zip | |
rustc: Switch ty::node_type_table to smallintmap, cut 400mb memory use off a librustc build.
Smallintmap was being populated with sparse keys during ast deserialization.
| -rw-r--r-- | src/librustc/middle/ty.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index 6d1ae8ff0e6..82401555472 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -907,7 +907,7 @@ type type_cache = @mut HashMap<ast::def_id, ty_param_bounds_and_ty>; type constness_cache = @mut HashMap<ast::def_id, const_eval::constness>; -pub type node_type_table = @mut SmallIntMap<t>; +pub type node_type_table = @mut HashMap<uint,t>; fn mk_rcache() -> creader_cache { return @mut HashMap::new(); @@ -934,7 +934,7 @@ pub fn mk_ctxt(s: session::Session, def_map: dm, region_maps: region_maps, region_paramd_items: region_paramd_items, - node_types: @mut SmallIntMap::new(), + node_types: @mut HashMap::new(), node_type_substs: @mut HashMap::new(), trait_refs: @mut HashMap::new(), trait_defs: @mut HashMap::new(), |
