diff options
author | olpc user <olpc@xo-5d-f7-86.localdomain> | 2019-12-12 01:35:42 -0800 |
---|---|---|
committer | olpc user <olpc@xo-5d-f7-86.localdomain> | 2019-12-12 01:35:42 -0800 |
commit | f04b23092c201e13229ee90625d03e97286649f4 (patch) | |
tree | 8b8651b3ac2c9dfb2e06d94ef6ae6abb2f91d033 /starts/meaning-vm/level-0/memorystore.cpp | |
parent | c87af57ce54cac3ae7f49758f3fc3fb6e0abb451 (diff) | |
download | standingwithresilience-f04b23092c201e13229ee90625d03e97286649f4.tar.gz standingwithresilience-f04b23092c201e13229ee90625d03e97286649f4.zip |
this code appears to make a try{} block loop in a weird compiler exception edgecase, narroing
Diffstat (limited to 'starts/meaning-vm/level-0/memorystore.cpp')
-rw-r--r-- | starts/meaning-vm/level-0/memorystore.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/starts/meaning-vm/level-0/memorystore.cpp b/starts/meaning-vm/level-0/memorystore.cpp index 220d0c3..edb75b1 100644 --- a/starts/meaning-vm/level-0/memorystore.cpp +++ b/starts/meaning-vm/level-0/memorystore.cpp @@ -17,10 +17,10 @@ static auto & index() namespace concepts { - ref allocator() { static ref ret = basic_alloc(); return ret; }; - ref allocates() { static ref ret = basic_alloc(); return ret; }; - ref allocations() { static ref ret = basic_alloc(); return ret; }; - ref level0allocations() { static ref ret = basic_alloc(); return ret; }; + ref allocator() { static ref ret = basic_alloc(); return ret; } + ref allocates() { static ref ret = basic_alloc(); return ret; } + ref allocations() { static ref ret = basic_alloc(); return ret; } + ref level0allocations() { static ref ret = basic_alloc(); return ret; } } struct init { init() @@ -117,8 +117,9 @@ void dealloc_from(ref source) } try { for (auto allocation : ours ) { - if (allocation.linked(concepts::allocates())) { - dealloc_from(allocation); + for (auto suballocation : allocation.getAll(concepts::allocates())) { + // check for this link to find subgroups + throw still_referenced_by(allocation, suballocation); } } for (auto ghost : ours) { |