diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-03-07 16:56:45 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-03-07 16:56:45 -0800 |
| commit | c245d9e980946d4472e9c830a109db77e1bcb038 (patch) | |
| tree | 5a29ce4c40b546c81701b48fe8d1acd1f2003022 /src/rustc | |
| parent | f0250a23d3fa2f8b4a4a4113ca89e41945a4cfed (diff) | |
| download | rust-c245d9e980946d4472e9c830a109db77e1bcb038.tar.gz rust-c245d9e980946d4472e9c830a109db77e1bcb038.zip | |
Revert "stdlib: Stop incurring vtable dispatch costs when hashmaps are used"
This reverts commit f0250a23d3fa2f8b4a4a4113ca89e41945a4cfed.
Diffstat (limited to 'src/rustc')
33 files changed, 7 insertions, 38 deletions
diff --git a/src/rustc/back/link.rs b/src/rustc/back/link.rs index 1889497957c..63062986363 100644 --- a/src/rustc/back/link.rs +++ b/src/rustc/back/link.rs @@ -7,7 +7,6 @@ import middle::ty; import metadata::{encoder, cstore}; import middle::trans::common::crate_ctxt; import std::fs; -import std::map::hashmap; import std::run; import std::sha1::sha1; import syntax::ast; diff --git a/src/rustc/back/rpath.rs b/src/rustc/back/rpath.rs index 8ecb48f86ea..cc74efa82cf 100644 --- a/src/rustc/back/rpath.rs +++ b/src/rustc/back/rpath.rs @@ -1,5 +1,4 @@ import std::{os, fs, os_fs, map}; -import std::map::hashmap; import metadata::cstore; import driver::session; import util::filesearch; diff --git a/src/rustc/front/attr.rs b/src/rustc/front/attr.rs index 834d0957ca5..4f4fecbe409 100644 --- a/src/rustc/front/attr.rs +++ b/src/rustc/front/attr.rs @@ -1,7 +1,6 @@ // Functions dealing with attributes and meta_items import std::map; -import std::map::hashmap; import syntax::{ast, ast_util}; import driver::session::session; diff --git a/src/rustc/lib/llvm.rs b/src/rustc/lib/llvm.rs index 83b45583a61..2dc2945d8de 100644 --- a/src/rustc/lib/llvm.rs +++ b/src/rustc/lib/llvm.rs @@ -1,5 +1,4 @@ import str::sbuf; -import std::map::hashmap; import ctypes::{c_int, c_uint, unsigned, longlong, ulonglong}; diff --git a/src/rustc/metadata/astencode.rs b/src/rustc/metadata/astencode.rs index d3d8593b654..87e2138a247 100644 --- a/src/rustc/metadata/astencode.rs +++ b/src/rustc/metadata/astencode.rs @@ -4,15 +4,15 @@ import syntax::visit; import syntax::ast_util; import syntax::ast_util::inlined_item_methods; import syntax::codemap::span; +import std::map::map; +import std::smallintmap::map; import std::ebml; import std::ebml::writer; -import std::map::hashmap; import std::serialization; import std::serialization::serializer; import std::serialization::deserializer; import std::serialization::serializer_helpers; import std::serialization::deserializer_helpers; -import std::smallintmap::map; import middle::trans::common::maps; import middle::{ty, typeck, last_use, ast_map}; import middle::typeck::method_origin; @@ -922,4 +922,4 @@ fn test_more() { ret z; } }); -} +} \ No newline at end of file diff --git a/src/rustc/metadata/csearch.rs b/src/rustc/metadata/csearch.rs index 0da50704635..dc41753d782 100644 --- a/src/rustc/metadata/csearch.rs +++ b/src/rustc/metadata/csearch.rs @@ -6,7 +6,6 @@ import middle::{ty, ast_map}; import option::{some, none}; import driver::session; import middle::trans::common::maps; -import std::map::hashmap; export get_symbol; export get_type_param_count; diff --git a/src/rustc/metadata/cstore.rs b/src/rustc/metadata/cstore.rs index 24670e1394e..e9dd1a010c5 100644 --- a/src/rustc/metadata/cstore.rs +++ b/src/rustc/metadata/cstore.rs @@ -2,7 +2,6 @@ // crates and libraries import std::map; -import std::map::hashmap; import syntax::ast; import util::common::*; diff --git a/src/rustc/metadata/decoder.rs b/src/rustc/metadata/decoder.rs index c43ed20b2fc..196789ee58c 100644 --- a/src/rustc/metadata/decoder.rs +++ b/src/rustc/metadata/decoder.rs @@ -1,7 +1,6 @@ // Decoding metadata from a single crate's metadata import std::{ebml, map, io}; -import std::map::hashmap; import io::writer_util; import syntax::{ast, ast_util}; import driver::session::session; diff --git a/src/rustc/metadata/encoder.rs b/src/rustc/metadata/encoder.rs index c2c0cbc9150..ab6a8dea04c 100644 --- a/src/rustc/metadata/encoder.rs +++ b/src/rustc/metadata/encoder.rs @@ -1,7 +1,6 @@ // Metadata encoding import std::{io, ebml, map, list}; -import std::map::hashmap; import io::writer_util; import ebml::writer; import syntax::ast::*; diff --git a/src/rustc/metadata/reachable.rs b/src/rustc/metadata/reachable.rs index dad1f9b7039..e85d4098fde 100644 --- a/src/rustc/metadata/reachable.rs +++ b/src/rustc/metadata/reachable.rs @@ -10,11 +10,10 @@ import syntax::ast::*; import syntax::visit; import syntax::ast_util::def_id_of_def; import front::attr; -import std::map::hashmap; export map, find_reachable; -type map = std::map::hashmap<node_id, ()>; +type map = std::map::map<node_id, ()>; type ctx = {ccx: middle::trans::common::crate_ctxt, rmap: map}; diff --git a/src/rustc/metadata/tydecode.rs b/src/rustc/metadata/tydecode.rs index 284c38a6a3e..5d97777c0fb 100644 --- a/src/rustc/metadata/tydecode.rs +++ b/src/rustc/metadata/tydecode.rs @@ -5,7 +5,6 @@ import syntax::ast::*; import syntax::ast_util; import syntax::ast_util::respan; import middle::ty; -import std::map::hashmap; export parse_ty_data, parse_def_id; export parse_bounds_data; diff --git a/src/rustc/middle/alias.rs b/src/rustc/middle/alias.rs index cc5a68e7b11..cb0785b4df1 100644 --- a/src/rustc/middle/alias.rs +++ b/src/rustc/middle/alias.rs @@ -5,7 +5,6 @@ import syntax::codemap::span; import syntax::visit; import visit::vt; import std::list; -import std::map::hashmap; import std::util::unreachable; import option::is_none; import list::list; diff --git a/src/rustc/middle/ast_map.rs b/src/rustc/middle/ast_map.rs index c39686b0d30..3ff8a96f287 100644 --- a/src/rustc/middle/ast_map.rs +++ b/src/rustc/middle/ast_map.rs @@ -1,5 +1,4 @@ import std::map; -import std::map::hashmap; import syntax::ast::*; import syntax::ast_util; import syntax::ast_util::inlined_item_methods; @@ -36,7 +35,7 @@ enum ast_node { node_res_ctor(@item), } -type map = std::map::hashmap<node_id, ast_node>; +type map = std::map::map<node_id, ast_node>; type ctx = {map: map, mutable path: path, mutable local_id: uint}; type vt = visit::vt<ctx>; diff --git a/src/rustc/middle/capture.rs b/src/rustc/middle/capture.rs index 7da4edfc956..3ec56c62077 100644 --- a/src/rustc/middle/capture.rs +++ b/src/rustc/middle/capture.rs @@ -1,7 +1,6 @@ import syntax::{ast, ast_util}; import driver::session::session; import std::map; -import std::map::hashmap; export capture_mode; export capture_var; diff --git a/src/rustc/middle/check_alt.rs b/src/rustc/middle/check_alt.rs index a52669b65d7..6d55aed095e 100644 --- a/src/rustc/middle/check_alt.rs +++ b/src/rustc/middle/check_alt.rs @@ -8,7 +8,6 @@ import syntax::visit; import driver::session::session; import middle::ty; import middle::ty::*; -import std::map::hashmap; fn check_crate(tcx: ty::ctxt, crate: @crate) { visit::visit_crate(*crate, (), visit::mk_vt(@{ diff --git a/src/rustc/middle/check_const.rs b/src/rustc/middle/check_const.rs index c36aeaede76..d04abffb320 100644 --- a/src/rustc/middle/check_const.rs +++ b/src/rustc/middle/check_const.rs @@ -1,7 +1,6 @@ import syntax::ast::*; import syntax::{visit, ast_util}; import driver::session::session; -import std::map::hashmap; fn check_crate(sess: session, crate: @crate, method_map: typeck::method_map) { visit::visit_crate(*crate, false, visit::mk_vt(@{ diff --git a/src/rustc/middle/fn_usage.rs b/src/rustc/middle/fn_usage.rs index 332b316b986..c415f5deb05 100644 --- a/src/rustc/middle/fn_usage.rs +++ b/src/rustc/middle/fn_usage.rs @@ -1,4 +1,3 @@ -import std::map::hashmap; import syntax::ast; import syntax::visit; import syntax::print::pprust::expr_to_str; diff --git a/src/rustc/middle/kind.rs b/src/rustc/middle/kind.rs index 9672848f4c8..e7999f04cad 100644 --- a/src/rustc/middle/kind.rs +++ b/src/rustc/middle/kind.rs @@ -3,7 +3,6 @@ import syntax::ast::*; import syntax::codemap::span; import ty::{kind, kind_copyable, kind_sendable, kind_noncopyable}; import driver::session::session; -import std::map::hashmap; // Kind analysis pass. There are three kinds: // diff --git a/src/rustc/middle/last_use.rs b/src/rustc/middle/last_use.rs index 60954e25c91..12ffdfccb41 100644 --- a/src/rustc/middle/last_use.rs +++ b/src/rustc/middle/last_use.rs @@ -4,7 +4,6 @@ import syntax::codemap::span; import std::list::{is_not_empty, list, nil, cons, tail}; import std::util::unreachable; import std::list; -import std::map::hashmap; // Last use analysis pass. // diff --git a/src/rustc/middle/lint.rs b/src/rustc/middle/lint.rs index 65b570e35a2..f46a50ea4a1 100644 --- a/src/rustc/middle/lint.rs +++ b/src/rustc/middle/lint.rs @@ -3,7 +3,6 @@ import middle::ty::ctxt; import syntax::{ast, visit}; import front::attr; import std::io; -import std::map::hashmap; import io::writer_util; enum option { diff --git a/src/rustc/middle/mutbl.rs b/src/rustc/middle/mutbl.rs index dacf6e5ca98..bf51f7d3764 100644 --- a/src/rustc/middle/mutbl.rs +++ b/src/rustc/middle/mutbl.rs @@ -2,7 +2,6 @@ import syntax::ast::*; import syntax::visit; import syntax::ast_util; import driver::session::session; -import std::map::hashmap; enum deref_t { unbox(bool), field, index, } diff --git a/src/rustc/middle/pat_util.rs b/src/rustc/middle/pat_util.rs index 08aa720be68..1a6856e36bf 100644 --- a/src/rustc/middle/pat_util.rs +++ b/src/rustc/middle/pat_util.rs @@ -4,7 +4,6 @@ import syntax::ast_util::respan; import syntax::fold; import syntax::fold::*; import syntax::codemap::span; -import std::map::hashmap; export walk_pat; export pat_binding_ids, pat_bindings, pat_id_map; diff --git a/src/rustc/middle/trans/alt.rs b/src/rustc/middle/trans/alt.rs index 169b74b7a25..6ada125be07 100644 --- a/src/rustc/middle/trans/alt.rs +++ b/src/rustc/middle/trans/alt.rs @@ -12,7 +12,6 @@ import syntax::codemap::span; import syntax::print::pprust::pat_to_str; import back::abi; import resolve::def_map; -import std::map::hashmap; import common::*; diff --git a/src/rustc/middle/trans/closure.rs b/src/rustc/middle/trans/closure.rs index ceadecb5c83..f11dbae04b8 100644 --- a/src/rustc/middle/trans/closure.rs +++ b/src/rustc/middle/trans/closure.rs @@ -18,7 +18,6 @@ import util::ppaux::ty_to_str; import shape::{size_of}; import ast_map::{path, path_mod, path_name}; import driver::session::session; -import std::map::hashmap; // ___Good to know (tm)__________________________________________________ // diff --git a/src/rustc/middle/trans/impl.rs b/src/rustc/middle/trans/impl.rs index 86522ba9934..e4e1859e87d 100644 --- a/src/rustc/middle/trans/impl.rs +++ b/src/rustc/middle/trans/impl.rs @@ -11,7 +11,6 @@ import lib::llvm::llvm; import lib::llvm::{ValueRef, TypeRef}; import lib::llvm::llvm::LLVMGetParam; import ast_map::{path, path_mod, path_name}; -import std::map::hashmap; // Translation functionality related to impls and ifaces // diff --git a/src/rustc/middle/trans/native.rs b/src/rustc/middle/trans/native.rs index dff2a207cd0..26621158f77 100644 --- a/src/rustc/middle/trans/native.rs +++ b/src/rustc/middle/trans/native.rs @@ -9,7 +9,6 @@ import common::*; import build::*; import base::*; import type_of::*; -import std::map::hashmap; export link_name, trans_native_mod, register_crust_fn, trans_crust_fn; @@ -359,4 +358,4 @@ fn register_crust_fn(ccx: crate_ctxt, sp: span, let llfty = T_fn(llargtys, llretty); register_fn_fuller(ccx, sp, path, "crust fn", node_id, t, lib::llvm::CCallConv, llfty) -} +} \ No newline at end of file diff --git a/src/rustc/middle/trans/type_of.rs b/src/rustc/middle/trans/type_of.rs index 89de5e249a2..e613fdf3cd9 100644 --- a/src/rustc/middle/trans/type_of.rs +++ b/src/rustc/middle/trans/type_of.rs @@ -3,7 +3,6 @@ import lib::llvm::{TypeRef}; import syntax::ast; import lib::llvm::llvm; import driver::session::session; -import std::map::hashmap; import ty::*; diff --git a/src/rustc/middle/tstate/auxiliary.rs b/src/rustc/middle/tstate/auxiliary.rs index e49748f6b65..89fce0ddb70 100644 --- a/src/rustc/middle/tstate/auxiliary.rs +++ b/src/rustc/middle/tstate/auxiliary.rs @@ -4,7 +4,7 @@ import syntax::ast::*; import syntax::ast_util::*; import syntax::{visit, codemap}; import codemap::span; -import std::map::{hashmap, new_int_hash}; +import std::map::{new_int_hash}; import syntax::print::pprust::path_to_str; import tstate::ann::{pre_and_post, pre_and_post_state, empty_ann, prestate, poststate, precond, postcond, diff --git a/src/rustc/middle/tstate/bitvectors.rs b/src/rustc/middle/tstate/bitvectors.rs index 7433da333ac..6acb23d906a 100644 --- a/src/rustc/middle/tstate/bitvectors.rs +++ b/src/rustc/middle/tstate/bitvectors.rs @@ -12,7 +12,6 @@ import tstate::ann::{pre_and_post, precond, postcond, prestate, poststate, import tritv::*; import util::common::*; import driver::session::session; -import std::map::hashmap; fn bit_num(fcx: fn_ctxt, c: tsconstr) -> uint { let d = tsconstr_to_def_id(c); diff --git a/src/rustc/middle/tstate/ck.rs b/src/rustc/middle/tstate/ck.rs index 56001460f8b..357d43edc8e 100644 --- a/src/rustc/middle/tstate/ck.rs +++ b/src/rustc/middle/tstate/ck.rs @@ -14,7 +14,6 @@ import collect_locals::mk_f_to_fn_info; import pre_post_conditions::fn_pre_post; import states::find_pre_post_state_fn; import driver::session::session; -import std::map::hashmap; fn check_unused_vars(fcx: fn_ctxt) { diff --git a/src/rustc/middle/tstate/collect_locals.rs b/src/rustc/middle/tstate/collect_locals.rs index 79a085b892e..9b39814e141 100644 --- a/src/rustc/middle/tstate/collect_locals.rs +++ b/src/rustc/middle/tstate/collect_locals.rs @@ -8,7 +8,6 @@ import syntax::codemap::span; import syntax::ast_util::respan; import driver::session::session; import aux::*; -import std::map::hashmap; type ctxt = {cs: @mutable [sp_constr], tcx: ty::ctxt}; diff --git a/src/rustc/middle/tstate/pre_post_conditions.rs b/src/rustc/middle/tstate/pre_post_conditions.rs index 3fe6f82f42e..6c80234a54b 100644 --- a/src/rustc/middle/tstate/pre_post_conditions.rs +++ b/src/rustc/middle/tstate/pre_post_conditions.rs @@ -13,7 +13,6 @@ import util::common::{new_def_hash, log_expr, field_exprs, has_nonlocal_exits, log_stmt}; import syntax::codemap::span; import driver::session::session; -import std::map::hashmap; fn find_pre_post_mod(_m: _mod) -> _mod { #debug("implement find_pre_post_mod!"); diff --git a/src/rustc/middle/tstate/states.rs b/src/rustc/middle/tstate/states.rs index c7eebf317af..adb86248047 100644 --- a/src/rustc/middle/tstate/states.rs +++ b/src/rustc/middle/tstate/states.rs @@ -10,7 +10,6 @@ import syntax::codemap::span; import middle::ty::{expr_ty, type_is_bot}; import util::common::*; import driver::session::session; -import std::map::hashmap; fn forbid_upvar(fcx: fn_ctxt, rhs_id: node_id, sp: span, t: oper_type) { alt t { |
