Skip to content

Commit faaaa82

Browse files
committed
---
yaml --- r: 150998 b: refs/heads/try2 c: 1350fbd h: refs/heads/master v: v3
1 parent 407c963 commit faaaa82

33 files changed

+332
-467
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: f3f8a736c94bb285c0dfdcd26dde654d00225f55
8+
refs/heads/try2: 1350fbdb24a06bd389cf1617ad5b78289a0c2354
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/librustc/driver/driver.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ pub fn phase_3_run_analysis_passes(sess: Session,
316316
sess.diagnostic(), krate)));
317317

318318
let freevars = time(time_passes, "freevar finding", (), |_|
319-
freevars::annotate_freevars(def_map, krate));
319+
freevars::annotate_freevars(&def_map, krate));
320320

321321
let region_map = time(time_passes, "region resolution", (), |_|
322322
middle::region::resolve_crate(&sess, krate));

branches/try2/src/librustc/metadata/creader.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ use metadata::loader;
2323
use metadata::loader::Os;
2424
use metadata::loader::CratePaths;
2525

26-
use std::cell::RefCell;
2726
use std::rc::Rc;
2827
use collections::HashMap;
2928
use syntax::ast;
@@ -317,7 +316,7 @@ fn resolve_crate<'a>(e: &mut Env,
317316
let cnum_map = if should_link {
318317
resolve_crate_deps(e, root, metadata.as_slice(), span)
319318
} else {
320-
@RefCell::new(HashMap::new())
319+
HashMap::new()
321320
};
322321

323322
// Claim this crate number and cache it if we're linking to the
@@ -365,20 +364,16 @@ fn resolve_crate_deps(e: &mut Env,
365364
debug!("resolving deps of external crate");
366365
// The map from crate numbers in the crate we're resolving to local crate
367366
// numbers
368-
let mut cnum_map = HashMap::new();
369-
let r = decoder::get_crate_deps(cdata);
370-
for dep in r.iter() {
371-
let extrn_cnum = dep.cnum;
367+
decoder::get_crate_deps(cdata).iter().map(|dep| {
372368
debug!("resolving dep crate {} hash: `{}`", dep.crate_id, dep.hash);
373369
let (local_cnum, _, _) = resolve_crate(e, root,
374370
dep.crate_id.name.as_slice(),
375371
&dep.crate_id,
376372
Some(&dep.hash),
377373
true,
378374
span);
379-
cnum_map.insert(extrn_cnum, local_cnum);
380-
}
381-
return @RefCell::new(cnum_map);
375+
(dep.cnum, local_cnum)
376+
}).collect()
382377
}
383378

384379
pub struct Loader<'a> {

branches/try2/src/librustc/metadata/cstore.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use syntax::parse::token::IdentInterner;
3030
// local crate numbers (as generated during this session). Each external
3131
// crate may refer to types in other external crates, and each has their
3232
// own crate numbers.
33-
pub type cnum_map = @RefCell<HashMap<ast::CrateNum, ast::CrateNum>>;
33+
pub type cnum_map = HashMap<ast::CrateNum, ast::CrateNum>;
3434

3535
pub enum MetadataBlob {
3636
MetadataVec(CVec<u8>),
@@ -155,7 +155,7 @@ impl CStore {
155155
ordering: &mut Vec<ast::CrateNum>) {
156156
if ordering.as_slice().contains(&cnum) { return }
157157
let meta = cstore.get_crate_data(cnum);
158-
for (_, &dep) in meta.cnum_map.borrow().iter() {
158+
for (_, &dep) in meta.cnum_map.iter() {
159159
visit(cstore, dep, ordering);
160160
}
161161
ordering.push(cnum);

branches/try2/src/librustc/metadata/decoder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1155,7 +1155,7 @@ pub fn translate_def_id(cdata: Cmd, did: ast::DefId) -> ast::DefId {
11551155
return ast::DefId { krate: cdata.cnum, node: did.node };
11561156
}
11571157

1158-
match cdata.cnum_map.borrow().find(&did.krate) {
1158+
match cdata.cnum_map.find(&did.krate) {
11591159
Some(&n) => {
11601160
ast::DefId {
11611161
krate: n,

0 commit comments

Comments
 (0)