diff options
Diffstat (limited to 'starts/meaning-vm')
-rw-r--r-- | starts/meaning-vm/level-0/memorystore.cpp | 1 | ||||
-rw-r--r-- | starts/meaning-vm/level1.cpp | 4 |
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; |