Skip to content

Commit 28d6dcd

Browse files
committed
---
yaml --- r: 97391 b: refs/heads/dist-snap c: 4d6dde7 h: refs/heads/master i: 97389: 896de74 97387: 09e43ce 97383: d1ee029 97375: ac361ad v: v3
1 parent b626f63 commit 28d6dcd

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: c274a6888410ce3e357e014568b43310ed787d36
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: be17a1b08c17b3381e86e3bea828a63ab69e67a9
9+
refs/heads/dist-snap: 4d6dde7f49eea0031a7faa651edef0a231dcb081
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/src/libsyntax/ast.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ pub type SyntaxContext = u32;
8989
// it should cut down on memory use *a lot*; applying a mark
9090
// to a tree containing 50 identifiers would otherwise generate
9191
pub struct SCTable {
92-
table : RefCell<~[SyntaxContext_]>,
93-
mark_memo : HashMap<(SyntaxContext,Mrk),SyntaxContext>,
94-
rename_memo : HashMap<(SyntaxContext,Ident,Name),SyntaxContext>
92+
table: RefCell<~[SyntaxContext_]>,
93+
mark_memo: RefCell<HashMap<(SyntaxContext,Mrk),SyntaxContext>>,
94+
rename_memo: HashMap<(SyntaxContext,Ident,Name),SyntaxContext>
9595
}
9696

9797
// NB: these must be placed in any SCTable...

branches/dist-snap/src/libsyntax/ast_util.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -717,17 +717,18 @@ pub fn new_mark_internal(m:Mrk, tail:SyntaxContext,table:&mut SCTable)
717717
// flow-sensitivity. Results in two lookups on a hash table hit.
718718
// also applies to new_rename_internal, below.
719719
// let try_lookup = table.mark_memo.find(&key);
720-
match table.mark_memo.contains_key(&key) {
720+
let mut mark_memo = table.mark_memo.borrow_mut();
721+
match mark_memo.get().contains_key(&key) {
721722
false => {
722723
let new_idx = {
723724
let mut table = table.table.borrow_mut();
724725
idx_push(table.get(), Mark(m,tail))
725726
};
726-
table.mark_memo.insert(key,new_idx);
727+
mark_memo.get().insert(key,new_idx);
727728
new_idx
728729
}
729730
true => {
730-
match table.mark_memo.find(&key) {
731+
match mark_memo.get().find(&key) {
731732
None => fail!("internal error: key disappeared 2013042901"),
732733
Some(idxptr) => {*idxptr}
733734
}
@@ -771,7 +772,7 @@ pub fn new_rename_internal(id:Ident, to:Name, tail:SyntaxContext, table: &mut SC
771772
pub fn new_sctable_internal() -> SCTable {
772773
SCTable {
773774
table: RefCell::new(~[EmptyCtxt,IllegalCtxt]),
774-
mark_memo: HashMap::new(),
775+
mark_memo: RefCell::new(HashMap::new()),
775776
rename_memo: HashMap::new()
776777
}
777778
}

0 commit comments

Comments
 (0)