librustc: De-@mut
CrateContext::tydescs
This commit is contained in:
parent
b5aa6eb69f
commit
519db34722
3 changed files with 12 additions and 9 deletions
|
@ -439,16 +439,19 @@ pub fn get_tydesc_simple(ccx: &mut CrateContext, t: ty::t) -> ValueRef {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_tydesc(ccx: &mut CrateContext, t: ty::t) -> @mut tydesc_info {
|
pub fn get_tydesc(ccx: &mut CrateContext, t: ty::t) -> @mut tydesc_info {
|
||||||
match ccx.tydescs.find(&t) {
|
{
|
||||||
Some(&inf) => {
|
let tydescs = ccx.tydescs.borrow();
|
||||||
return inf;
|
match tydescs.get().find(&t) {
|
||||||
|
Some(&inf) => return inf,
|
||||||
|
_ => { }
|
||||||
}
|
}
|
||||||
_ => { }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ccx.stats.n_static_tydescs += 1u;
|
ccx.stats.n_static_tydescs += 1u;
|
||||||
let inf = glue::declare_tydesc(ccx, t);
|
let inf = glue::declare_tydesc(ccx, t);
|
||||||
ccx.tydescs.insert(t, inf);
|
|
||||||
|
let mut tydescs = ccx.tydescs.borrow_mut();
|
||||||
|
tydescs.get().insert(t, inf);
|
||||||
return inf;
|
return inf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ pub struct CrateContext {
|
||||||
reachable: @mut HashSet<ast::NodeId>,
|
reachable: @mut HashSet<ast::NodeId>,
|
||||||
item_symbols: RefCell<HashMap<ast::NodeId, ~str>>,
|
item_symbols: RefCell<HashMap<ast::NodeId, ~str>>,
|
||||||
link_meta: LinkMeta,
|
link_meta: LinkMeta,
|
||||||
tydescs: HashMap<ty::t, @mut tydesc_info>,
|
tydescs: RefCell<HashMap<ty::t, @mut tydesc_info>>,
|
||||||
// Set when running emit_tydescs to enforce that no more tydescs are
|
// Set when running emit_tydescs to enforce that no more tydescs are
|
||||||
// created.
|
// created.
|
||||||
finished_tydescs: bool,
|
finished_tydescs: bool,
|
||||||
|
@ -188,7 +188,7 @@ impl CrateContext {
|
||||||
reachable: reachable,
|
reachable: reachable,
|
||||||
item_symbols: RefCell::new(HashMap::new()),
|
item_symbols: RefCell::new(HashMap::new()),
|
||||||
link_meta: link_meta,
|
link_meta: link_meta,
|
||||||
tydescs: HashMap::new(),
|
tydescs: RefCell::new(HashMap::new()),
|
||||||
finished_tydescs: false,
|
finished_tydescs: false,
|
||||||
external: HashMap::new(),
|
external: HashMap::new(),
|
||||||
external_srcs: HashMap::new(),
|
external_srcs: HashMap::new(),
|
||||||
|
|
|
@ -696,8 +696,8 @@ pub fn emit_tydescs(ccx: &mut CrateContext) {
|
||||||
// As of this point, allow no more tydescs to be created.
|
// As of this point, allow no more tydescs to be created.
|
||||||
ccx.finished_tydescs = true;
|
ccx.finished_tydescs = true;
|
||||||
let glue_fn_ty = Type::generic_glue_fn(ccx).ptr_to();
|
let glue_fn_ty = Type::generic_glue_fn(ccx).ptr_to();
|
||||||
let tyds = &mut ccx.tydescs;
|
let mut tyds = ccx.tydescs.borrow_mut();
|
||||||
for (_, &val) in tyds.iter() {
|
for (_, &val) in tyds.get().iter() {
|
||||||
let ti = val;
|
let ti = val;
|
||||||
|
|
||||||
// Each of the glue functions needs to be cast to a generic type
|
// Each of the glue functions needs to be cast to a generic type
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue