about summary refs log tree commit diff
path: root/src/rustc
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-03-07 16:56:45 -0800
committerPatrick Walton <pcwalton@mimiga.net>2012-03-07 16:56:45 -0800
commitc245d9e980946d4472e9c830a109db77e1bcb038 (patch)
tree5a29ce4c40b546c81701b48fe8d1acd1f2003022 /src/rustc
parentf0250a23d3fa2f8b4a4a4113ca89e41945a4cfed (diff)
downloadrust-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')
-rw-r--r--src/rustc/back/link.rs1
-rw-r--r--src/rustc/back/rpath.rs1
-rw-r--r--src/rustc/front/attr.rs1
-rw-r--r--src/rustc/lib/llvm.rs1
-rw-r--r--src/rustc/metadata/astencode.rs6
-rw-r--r--src/rustc/metadata/csearch.rs1
-rw-r--r--src/rustc/metadata/cstore.rs1
-rw-r--r--src/rustc/metadata/decoder.rs1
-rw-r--r--src/rustc/metadata/encoder.rs1
-rw-r--r--src/rustc/metadata/reachable.rs3
-rw-r--r--src/rustc/metadata/tydecode.rs1
-rw-r--r--src/rustc/middle/alias.rs1
-rw-r--r--src/rustc/middle/ast_map.rs3
-rw-r--r--src/rustc/middle/capture.rs1
-rw-r--r--src/rustc/middle/check_alt.rs1
-rw-r--r--src/rustc/middle/check_const.rs1
-rw-r--r--src/rustc/middle/fn_usage.rs1
-rw-r--r--src/rustc/middle/kind.rs1
-rw-r--r--src/rustc/middle/last_use.rs1
-rw-r--r--src/rustc/middle/lint.rs1
-rw-r--r--src/rustc/middle/mutbl.rs1
-rw-r--r--src/rustc/middle/pat_util.rs1
-rw-r--r--src/rustc/middle/trans/alt.rs1
-rw-r--r--src/rustc/middle/trans/closure.rs1
-rw-r--r--src/rustc/middle/trans/impl.rs1
-rw-r--r--src/rustc/middle/trans/native.rs3
-rw-r--r--src/rustc/middle/trans/type_of.rs1
-rw-r--r--src/rustc/middle/tstate/auxiliary.rs2
-rw-r--r--src/rustc/middle/tstate/bitvectors.rs1
-rw-r--r--src/rustc/middle/tstate/ck.rs1
-rw-r--r--src/rustc/middle/tstate/collect_locals.rs1
-rw-r--r--src/rustc/middle/tstate/pre_post_conditions.rs1
-rw-r--r--src/rustc/middle/tstate/states.rs1
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 {