diff options
Diffstat (limited to '037abandon.cc')
-rw-r--r-- | 037abandon.cc | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/037abandon.cc b/037abandon.cc index d863b819..74256687 100644 --- a/037abandon.cc +++ b/037abandon.cc @@ -2,11 +2,11 @@ :(scenario new_reclaim) def main [ - 1:address:num <- new number:type - 2:num <- deaddress 1:address:num # because 1 will get reset during abandon below - abandon 1:address:num - 3:address:num <- new number:type # must be same size as abandoned memory to reuse - 4:num <- deaddress 3:address:num + 1:&:num <- new number:type + 2:num <- deaddress 1:&:num # because 1 will get reset during abandon below + abandon 1:&:num + 3:&:num <- new number:type # must be same size as abandoned memory to reuse + 4:num <- deaddress 3:&:num 5:bool <- equal 2:num, 4:num ] # both allocations should have returned the same address @@ -79,11 +79,11 @@ if (get_or_insert(Current_routine->free_list, size)) { :(scenario new_differing_size_no_reclaim) def main [ - 1:address:num <- new number:type - 2:num <- deaddress 1:address:num - abandon 1:address:num - 3:address:array:num <- new number:type, 2 # different size - 4:num <- deaddress 3:address:array:num + 1:&:num <- new number:type + 2:num <- deaddress 1:&:num + abandon 1:&:num + 3:&:@:num <- new number:type, 2 # different size + 4:num <- deaddress 3:&:@:num 5:bool <- equal 2:num, 4:num ] # no reuse @@ -91,11 +91,11 @@ def main [ :(scenario new_reclaim_array) def main [ - 1:address:array:num <- new number:type, 2 - 2:num <- deaddress 1:address:array:num - abandon 1:address:array:num - 3:address:array:num <- new number:type, 2 # same size - 4:num <- deaddress 3:address:array:num + 1:&:@:num <- new number:type, 2 + 2:num <- deaddress 1:&:@:num + abandon 1:&:@:num + 3:&:@:num <- new number:type, 2 # same size + 4:num <- deaddress 3:&:@:num 5:bool <- equal 2:num, 4:num ] # both calls to new returned identical addresses |