Skip to content

Commit 22e4b9b

Browse files
committed
---
yaml --- r: 94667 b: refs/heads/try c: 810177c h: refs/heads/master i: 94665: f0cbeab 94663: dc48d60 v: v3
1 parent fd4744c commit 22e4b9b

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 0da105a8b7b6b1e0568e8ff20f6ff4b13cc7ecc2
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d3e57dca68fde4effdda3e4ae2887aa535fcd6
5-
refs/heads/try: bef2353e1bea928a7f99d09ed264da412686c5d1
5+
refs/heads/try: 810177c78709e114f31ad16540f51b17fb6f3b98
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/src/librustc/middle/liveness.rs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ struct IrMaps {
251251
variable_map: RefCell<HashMap<NodeId, Variable>>,
252252
capture_info_map: RefCell<HashMap<NodeId, @~[CaptureInfo]>>,
253253
var_kinds: RefCell<~[VarKind]>,
254-
lnks: ~[LiveNodeKind],
254+
lnks: RefCell<~[LiveNodeKind]>,
255255
}
256256

257257
fn IrMaps(tcx: ty::ctxt,
@@ -268,15 +268,16 @@ fn IrMaps(tcx: ty::ctxt,
268268
variable_map: RefCell::new(HashMap::new()),
269269
capture_info_map: RefCell::new(HashMap::new()),
270270
var_kinds: RefCell::new(~[]),
271-
lnks: ~[],
271+
lnks: RefCell::new(~[]),
272272
}
273273
}
274274

275275
impl IrMaps {
276276
pub fn add_live_node(&mut self, lnk: LiveNodeKind) -> LiveNode {
277277
let num_live_nodes = self.num_live_nodes.get();
278278
let ln = LiveNode(num_live_nodes);
279-
self.lnks.push(lnk);
279+
let mut lnks = self.lnks.borrow_mut();
280+
lnks.get().push(lnk);
280281
self.num_live_nodes.set(num_live_nodes + 1);
281282

282283
debug!("{} is of kind {}", ln.to_str(),
@@ -353,7 +354,8 @@ impl IrMaps {
353354
}
354355

355356
pub fn lnk(&mut self, ln: LiveNode) -> LiveNodeKind {
356-
self.lnks[*ln]
357+
let lnks = self.lnks.borrow();
358+
lnks.get()[*ln]
357359
}
358360
}
359361

@@ -776,10 +778,16 @@ impl Liveness {
776778
pub fn ln_str(&self, ln: LiveNode) -> ~str {
777779
str::from_utf8_owned(io::mem::with_mem_writer(|wr| {
778780
let wr = wr as &mut io::Writer;
779-
write!(wr, "[ln({}) of kind {:?} reads", *ln, self.ir.lnks[*ln]);
780-
self.write_vars(wr, ln, |idx| self.users[idx].reader );
781+
{
782+
let lnks = self.ir.lnks.borrow();
783+
write!(wr,
784+
"[ln({}) of kind {:?} reads",
785+
*ln,
786+
lnks.get()[*ln]);
787+
}
788+
self.write_vars(wr, ln, |idx| self.users[idx].reader);
781789
write!(wr, " writes");
782-
self.write_vars(wr, ln, |idx| self.users[idx].writer );
790+
self.write_vars(wr, ln, |idx| self.users[idx].writer);
783791
write!(wr, " precedes {}]", self.successors[*ln].to_str());
784792
}))
785793
}

0 commit comments

Comments
 (0)