Skip to content

Commit a1747a6

Browse files
committed
librustc: De-@mut CrateContext::adt_reprs
1 parent db83a95 commit a1747a6

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

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

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)