about summary refs log tree commit diff stats
path: root/035lookup.cc
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-06-24 10:23:27 -0700
committerKartik Agaram <vc@akkartik.com>2018-06-24 10:23:27 -0700
commit3ecee22a8a440b5f299729cbe49aede7e270c67c (patch)
tree2a756da343d10cc5e533cea3aa64d7574fa036d8 /035lookup.cc
parentd82c16098e4f7454b79ee4cad6393949d6f32b18 (diff)
downloadmu-3ecee22a8a440b5f299729cbe49aede7e270c67c.tar.gz
4269 - start validating alloc-ids on lookup
Seems incredible that this is all it took. Needs more testing.

I also need to rethink how we organize our layers about addresses.
Alloc-id stuff is scattered everywhere. The space for alloc-ids is
perhaps unavoidably scattered. Just assume the layout from the start.
But it seems bad that the scenario testing the lookup-time validation is
in the 'abandon' layer when the code is in the 'lookup' layer.
Diffstat (limited to '035lookup.cc')
-rw-r--r--035lookup.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/035lookup.cc b/035lookup.cc
index 3b9ae6a2..02c2ab3f 100644
--- a/035lookup.cc
+++ b/035lookup.cc
@@ -102,6 +102,7 @@ void lookup_memory_core(reagent& x, bool check_for_null) {
   // validate alloc-id
   double alloc_id_in_address = get_or_insert(Memory, x.value);
   double alloc_id_in_payload = get_or_insert(Memory, new_value);
+//?   cerr << x.value << ": " << alloc_id_in_address << " vs " << new_value << ": " << alloc_id_in_payload << '\n';
   if (alloc_id_in_address != alloc_id_in_payload) {
       raise << maybe(current_recipe_name()) << "address is already abandoned in '" << to_original_string(current_instruction()) << "'\n" << end();
       dump_callstack();