Skip to content

Commit fc86fd4

Browse files
committed
---
yaml --- r: 96978 b: refs/heads/dist-snap c: a1747a6 h: refs/heads/master v: v3
1 parent c89a6d3 commit fc86fd4

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
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: db83a957b60d7b6e7045909b8ce3c1ddf78e8fde
9+
refs/heads/dist-snap: a1747a609122f6bc82f396897752d182fd583d4a
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/src/librustc/middle/trans/adt.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,18 @@ pub fn represent_node(bcx: @Block, node: ast::NodeId) -> @Repr {
118118
/// Decides how to represent a given type.
119119
pub fn represent_type(cx: &mut CrateContext, t: ty::t) -> @Repr {
120120
debug!("Representing: {}", ty_to_str(cx.tcx, t));
121-
match cx.adt_reprs.find(&t) {
122-
Some(repr) => return *repr,
123-
None => { }
121+
{
122+
let adt_reprs = cx.adt_reprs.borrow();
123+
match adt_reprs.get().find(&t) {
124+
Some(repr) => return *repr,
125+
None => {}
126+
}
124127
}
128+
125129
let repr = @represent_type_uncached(cx, t);
126130
debug!("Represented as: {:?}", repr)
127-
cx.adt_reprs.insert(t, repr);
131+
let mut adt_reprs = cx.adt_reprs.borrow_mut();
132+
adt_reprs.get().insert(t, repr);
128133
return repr;
129134
}
130135

branches/dist-snap/src/librustc/middle/trans/context.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ pub struct CrateContext {
9494
module_data: RefCell<HashMap<~str, ValueRef>>,
9595
lltypes: RefCell<HashMap<ty::t, Type>>,
9696
llsizingtypes: RefCell<HashMap<ty::t, Type>>,
97-
adt_reprs: HashMap<ty::t, @adt::Repr>,
97+
adt_reprs: RefCell<HashMap<ty::t, @adt::Repr>>,
9898
symbol_hasher: Sha256,
9999
type_hashcodes: HashMap<ty::t, @str>,
100100
type_short_names: HashMap<ty::t, ~str>,
@@ -205,7 +205,7 @@ impl CrateContext {
205205
module_data: RefCell::new(HashMap::new()),
206206
lltypes: RefCell::new(HashMap::new()),
207207
llsizingtypes: RefCell::new(HashMap::new()),
208-
adt_reprs: HashMap::new(),
208+
adt_reprs: RefCell::new(HashMap::new()),
209209
symbol_hasher: symbol_hasher,
210210
type_hashcodes: HashMap::new(),
211211
type_short_names: HashMap::new(),

0 commit comments

Comments
 (0)