Skip to content

Commit 01ee2fb

Browse files
committed
librustc: De-@mut IrMaps::num_vars
1 parent 4e9b8a7 commit 01ee2fb

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/librustc/middle/liveness.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ struct IrMaps {
246246
capture_map: moves::CaptureMap,
247247

248248
num_live_nodes: Cell<uint>,
249-
num_vars: uint,
249+
num_vars: Cell<uint>,
250250
live_node_map: HashMap<NodeId, LiveNode>,
251251
variable_map: HashMap<NodeId, Variable>,
252252
capture_info_map: HashMap<NodeId, @~[CaptureInfo]>,
@@ -263,7 +263,7 @@ fn IrMaps(tcx: ty::ctxt,
263263
method_map: method_map,
264264
capture_map: capture_map,
265265
num_live_nodes: Cell::new(0),
266-
num_vars: 0,
266+
num_vars: Cell::new(0),
267267
live_node_map: HashMap::new(),
268268
variable_map: HashMap::new(),
269269
capture_info_map: HashMap::new(),
@@ -295,9 +295,9 @@ impl IrMaps {
295295
}
296296

297297
pub fn add_variable(&mut self, vk: VarKind) -> Variable {
298-
let v = Variable(self.num_vars);
298+
let v = Variable(self.num_vars.get());
299299
self.var_kinds.push(vk);
300-
self.num_vars += 1;
300+
self.num_vars.set(self.num_vars.get() + 1);
301301

302302
match vk {
303303
Local(LocalInfo { id: node_id, .. }) | Arg(node_id, _) => {
@@ -604,7 +604,8 @@ fn Liveness(ir: @mut IrMaps, specials: Specials) -> Liveness {
604604
s: specials,
605605
successors: @mut vec::from_elem(ir.num_live_nodes.get(),
606606
invalid_node()),
607-
users: @mut vec::from_elem(ir.num_live_nodes.get() * ir.num_vars,
607+
users: @mut vec::from_elem(ir.num_live_nodes.get() *
608+
ir.num_vars.get(),
608609
invalid_users()),
609610
loop_scope: @mut ~[],
610611
break_ln: @RefCell::new(HashMap::new()),
@@ -672,7 +673,7 @@ impl Liveness {
672673
}
673674

674675
pub fn idx(&self, ln: LiveNode, var: Variable) -> uint {
675-
*ln * self.ir.num_vars + *var
676+
*ln * self.ir.num_vars.get() + *var
676677
}
677678

678679
pub fn live_on_entry(&self, ln: LiveNode, var: Variable)
@@ -713,7 +714,7 @@ impl Liveness {
713714
op: |uint, uint|) {
714715
let node_base_idx = self.idx(ln, Variable(0u));
715716
let succ_base_idx = self.idx(succ_ln, Variable(0u));
716-
for var_idx in range(0u, self.ir.num_vars) {
717+
for var_idx in range(0u, self.ir.num_vars.get()) {
717718
op(node_base_idx + var_idx, succ_base_idx + var_idx);
718719
}
719720
}
@@ -723,7 +724,7 @@ impl Liveness {
723724
ln: LiveNode,
724725
test: |uint| -> LiveNode) {
725726
let node_base_idx = self.idx(ln, Variable(0));
726-
for var_idx in range(0u, self.ir.num_vars) {
727+
for var_idx in range(0u, self.ir.num_vars.get()) {
727728
let idx = node_base_idx + var_idx;
728729
if test(idx).is_valid() {
729730
write!(wr, " {}", Variable(var_idx).to_str());

0 commit comments

Comments
 (0)