summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorolpc user <olpc@xo-5d-f7-86.localdomain>2019-12-12 01:49:12 -0800
committerolpc user <olpc@xo-5d-f7-86.localdomain>2019-12-12 01:49:12 -0800
commit754cdf01b4874d627ca2a04e4052a33dabe6ca78 (patch)
tree04cfbb57bc3c0477852d888c11d7fcbc18afac74
parentf04b23092c201e13229ee90625d03e97286649f4 (diff)
downloadstandingwithresilience-754cdf01b4874d627ca2a04e4052a33dabe6ca78.tar.gz
standingwithresilience-754cdf01b4874d627ca2a04e4052a33dabe6ca78.zip
[wip] turns out gdb was just skipping the source lines i overlooked
-rw-r--r--starts/meaning-vm/level-0/memorystore.cpp1
-rw-r--r--starts/meaning-vm/level1.cpp4
2 files changed, 1 insertions, 4 deletions
diff --git a/starts/meaning-vm/level-0/memorystore.cpp b/starts/meaning-vm/level-0/memorystore.cpp
index edb75b1..04aadd5 100644
--- a/starts/meaning-vm/level-0/memorystore.cpp
+++ b/starts/meaning-vm/level-0/memorystore.cpp
@@ -163,6 +163,7 @@ void dealloc(ref r, ref source)
} catch(...) {
source.link(concepts::allocates(), r);
r.link(concepts::allocator(), source);
+ throw;
}
}
diff --git a/starts/meaning-vm/level1.cpp b/starts/meaning-vm/level1.cpp
index 51c7fdd..50c40a3 100644
--- a/starts/meaning-vm/level1.cpp
+++ b/starts/meaning-vm/level1.cpp
@@ -67,17 +67,13 @@ int main()
std::cout << intellect::level0::allocated() << " allocated" << std::endl;
while (true) {
try {
- std::cout << "calling dealloc" << std::endl;
intellect::level0::dealloc(intellect::level0::concepts::allocations(), intellect::level0::concepts::level0allocations());
} catch (intellect::level0::still_referenced_by &e) {
- std::cout << "expected exception" << std::endl;
if (e.topic->linked(intellect::level0::concepts::allocates(), e.referrer)) {
intellect::level0::dealloc(e.referrer, e.topic);
} else {
throw;
}
- } catch (...) {
- std::cout << "unexpected exception" << std::endl;
}
}
std::cout << intellect::level0::allocated() << " allocated" << std::endl;