diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2012-06-04 08:05:29 -0700 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2012-06-06 18:37:46 -0700 |
| commit | 594e01d007bf83ab90380614653cf8e2a3a4cb99 (patch) | |
| tree | b49e1264ea14bc6fc70ab73770094bc241173e1c | |
| parent | 7d17c2d87ff738aa2f4895255f99e2e89112cbb6 (diff) | |
| download | rust-594e01d007bf83ab90380614653cf8e2a3a4cb99.tar.gz rust-594e01d007bf83ab90380614653cf8e2a3a4cb99.zip | |
add pure, copies to liveness
| -rw-r--r-- | src/rustc/middle/liveness.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/rustc/middle/liveness.rs b/src/rustc/middle/liveness.rs index 3f82e647ab6..729ffa0bb93 100644 --- a/src/rustc/middle/liveness.rs +++ b/src/rustc/middle/liveness.rs @@ -133,7 +133,7 @@ impl of to_str::to_str for variable { // assignment. And so forth. impl methods for live_node { - fn is_valid() -> bool { *self != uint::max_value } + pure fn is_valid() -> bool { *self != uint::max_value } } fn invalid_node() -> live_node { live_node(uint::max_value) } @@ -571,7 +571,7 @@ class liveness { fn live_on_exit(ln: live_node, var: variable) -> option<live_node_kind> { - self.live_on_entry(self.successors[*ln], var) + self.live_on_entry(copy self.successors[*ln], var) } fn used_on_entry(ln: live_node, var: variable) -> bool { @@ -590,7 +590,7 @@ class liveness { fn assigned_on_exit(ln: live_node, var: variable) -> option<live_node_kind> { - self.assigned_on_entry(self.successors[*ln], var) + self.assigned_on_entry(copy self.successors[*ln], var) } fn indices(ln: live_node, op: fn(uint)) { @@ -627,14 +627,14 @@ class liveness { wr.write_str("[ln("); wr.write_uint(*ln); wr.write_str(") of kind "); - wr.write_str(#fmt["%?", self.ir.lnks[*ln]]); + wr.write_str(#fmt["%?", copy self.ir.lnks[*ln]]); wr.write_str(" reads"); self.write_vars(wr, ln, {|idx| self.users[idx].reader}); wr.write_str(" writes"); self.write_vars(wr, ln, {|idx| self.users[idx].writer}); wr.write_str(" "); wr.write_str(" precedes "); - wr.write_str(self.successors[*ln].to_str()); + wr.write_str((copy self.successors[*ln]).to_str()); wr.write_str("]"); } } @@ -668,9 +668,9 @@ class liveness { let mut changed = false; self.indices2(ln, succ_ln) { |idx, succ_idx| - changed |= copy_if_invalid(self.users[succ_idx].reader, + changed |= copy_if_invalid(copy self.users[succ_idx].reader, self.users[idx].reader); - changed |= copy_if_invalid(self.users[succ_idx].writer, + changed |= copy_if_invalid(copy self.users[succ_idx].writer, self.users[idx].writer); if self.users[succ_idx].used && !self.users[idx].used { self.users[idx].used = true; |
