about summary refs log tree commit diff
path: root/src/rustc/middle/astencode.rs
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-06-07 19:42:22 -0700
committerBrian Anderson <banderson@mozilla.com>2012-06-07 19:42:27 -0700
commit7ef825bb607c4e934c92bd0b73ecbc4c24f3286b (patch)
treec5800f031f1959f2d91c61b890547a3b37f3a0af /src/rustc/middle/astencode.rs
parentc058f1d9927874fd5bfe40d5e6698880a07c36bb (diff)
Revert "remove alias analysis and replace with borrowck"
18s perf regression compiling rustc with opts

This reverts commit 7f6ee0ce0df8af4c21b065cb49b95079ae643f77.
Diffstat (limited to 'src/rustc/middle/astencode.rs')
-rw-r--r--src/rustc/middle/astencode.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/rustc/middle/astencode.rs b/src/rustc/middle/astencode.rs
index d604505455c..bcf6c799739 100644
--- a/src/rustc/middle/astencode.rs
+++ b/src/rustc/middle/astencode.rs
@@ -52,6 +52,7 @@ export decode_inlined_item;
 type maps = {
     mutbl_map: middle::borrowck::mutbl_map,
     root_map: middle::borrowck::root_map,
+    copy_map: middle::alias::copy_map,
     last_use_map: middle::liveness::last_use_map,
     impl_map: middle::resolve::impl_map,
     method_map: middle::typeck::method_map,
@@ -830,6 +831,12 @@ fn encode_side_tables_for_id(ecx: @e::encode_ctxt,
         }
     }
 
+    option::iter(maps.copy_map.find(id)) {|_m|
+        ebml_w.tag(c::tag_table_copy) {||
+            ebml_w.id(id);
+        }
+    }
+
     option::iter(maps.last_use_map.find(id)) {|m|
         ebml_w.tag(c::tag_table_last_use) {||
             ebml_w.id(id);
@@ -936,6 +943,8 @@ fn decode_side_tables(xcx: extended_decode_ctxt,
 
         if tag == (c::tag_table_mutbl as uint) {
             dcx.maps.mutbl_map.insert(id, ());
+        } else if tag == (c::tag_table_copy as uint) {
+            dcx.maps.copy_map.insert(id, ());
         } else {
             let val_doc = entry_doc[c::tag_table_val];
             let val_dsr = ebml::ebml_deserializer(val_doc);