Skip to content

Commit 594e01d

Browse files
committed
add pure, copies to liveness
1 parent 7d17c2d commit 594e01d

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/rustc/middle/liveness.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ impl of to_str::to_str for variable {
133133
// assignment. And so forth.
134134

135135
impl methods for live_node {
136-
fn is_valid() -> bool { *self != uint::max_value }
136+
pure fn is_valid() -> bool { *self != uint::max_value }
137137
}
138138

139139
fn invalid_node() -> live_node { live_node(uint::max_value) }
@@ -571,7 +571,7 @@ class liveness {
571571
fn live_on_exit(ln: live_node, var: variable)
572572
-> option<live_node_kind> {
573573

574-
self.live_on_entry(self.successors[*ln], var)
574+
self.live_on_entry(copy self.successors[*ln], var)
575575
}
576576

577577
fn used_on_entry(ln: live_node, var: variable) -> bool {
@@ -590,7 +590,7 @@ class liveness {
590590
fn assigned_on_exit(ln: live_node, var: variable)
591591
-> option<live_node_kind> {
592592

593-
self.assigned_on_entry(self.successors[*ln], var)
593+
self.assigned_on_entry(copy self.successors[*ln], var)
594594
}
595595

596596
fn indices(ln: live_node, op: fn(uint)) {
@@ -627,14 +627,14 @@ class liveness {
627627
wr.write_str("[ln(");
628628
wr.write_uint(*ln);
629629
wr.write_str(") of kind ");
630-
wr.write_str(#fmt["%?", self.ir.lnks[*ln]]);
630+
wr.write_str(#fmt["%?", copy self.ir.lnks[*ln]]);
631631
wr.write_str(" reads");
632632
self.write_vars(wr, ln, {|idx| self.users[idx].reader});
633633
wr.write_str(" writes");
634634
self.write_vars(wr, ln, {|idx| self.users[idx].writer});
635635
wr.write_str(" ");
636636
wr.write_str(" precedes ");
637-
wr.write_str(self.successors[*ln].to_str());
637+
wr.write_str((copy self.successors[*ln]).to_str());
638638
wr.write_str("]");
639639
}
640640
}
@@ -668,9 +668,9 @@ class liveness {
668668

669669
let mut changed = false;
670670
self.indices2(ln, succ_ln) { |idx, succ_idx|
671-
changed |= copy_if_invalid(self.users[succ_idx].reader,
671+
changed |= copy_if_invalid(copy self.users[succ_idx].reader,
672672
self.users[idx].reader);
673-
changed |= copy_if_invalid(self.users[succ_idx].writer,
673+
changed |= copy_if_invalid(copy self.users[succ_idx].writer,
674674
self.users[idx].writer);
675675
if self.users[succ_idx].used && !self.users[idx].used {
676676
self.users[idx].used = true;

0 commit comments

Comments
 (0)