From 754cdf01b4874d627ca2a04e4052a33dabe6ca78 Mon Sep 17 00:00:00 2001 From: olpc user Date: Thu, 12 Dec 2019 01:49:12 -0800 Subject: [wip] turns out gdb was just skipping the source lines i overlooked --- starts/meaning-vm/level-0/memorystore.cpp | 1 + starts/meaning-vm/level1.cpp | 4 ---- 2 files changed, 1 insertion(+), 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; -- cgit v1.2.3