about summary refs log tree commit diff stats
path: root/037abandon.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2016-05-05 16:58:46 -0700
committerKartik K. Agaram <vc@akkartik.com>2016-05-05 16:58:46 -0700
commita2f5a5d3fd13fba97571c39951304a44e7f84e5d (patch)
treeebeb84a736b6d8c591e879bd5dd0c6bb9b8cd8ad /037abandon.cc
parentd05078df9da8efbdebf57c91cedd5aac793d7732 (diff)
downloadmu-a2f5a5d3fd13fba97571c39951304a44e7f84e5d.tar.gz
2927
Diffstat (limited to '037abandon.cc')
-rw-r--r--037abandon.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/037abandon.cc b/037abandon.cc
index fe125757..9d869f20 100644
--- a/037abandon.cc
+++ b/037abandon.cc
@@ -7,10 +7,11 @@ def main [
   2:number <- copy 1:address:number  # because 1 will get reset during abandon below
   1:address:number <- copy 0  # abandon
   3:address:number <- new number:type  # must be same size as abandoned memory to reuse
-  4:boolean <- equal 2:number, 3:address:number
+  4:number <- copy 3:address:number
+  5:boolean <- equal 2:number, 4:number
 ]
 # both allocations should have returned the same address
-+mem: storing 1 in location 4
++mem: storing 1 in location 5
 
 :(before "End Decrement Reference Count(old_address, size)")
 if (old_refcount == 0) {
@@ -64,10 +65,11 @@ def main [
   2:number <- copy 1:address:number
   1:address:number <- copy 0  # abandon
   3:address:array:number <- new number:type, 2  # different size
-  4:boolean <- equal 2:number, 3:address:array:number
+  4:number <- copy 3:address:array:number
+  5:boolean <- equal 2:number, 4:number
 ]
 # no reuse
-+mem: storing 0 in location 4
++mem: storing 0 in location 5
 
 :(scenario new_reclaim_array)
 def main [
@@ -75,10 +77,11 @@ def main [
   2:number <- copy 1:address:array:number
   1:address:array:number <- copy 0  # abandon
   3:address:array:number <- new number:type, 2  # same size
-  4:boolean <- equal 2:number, 3:address:array:number
+  4:number <- copy 3:address:array:number
+  5:boolean <- equal 2:number, 4:number
 ]
 # reuse
-+mem: storing 1 in location 4
++mem: storing 1 in location 5
 
 :(scenario refcounts_overwrite)
 def main [