diff --git a/xo-interpreter2/include/xo/interpreter2/VsmConfig.hpp b/xo-interpreter2/include/xo/interpreter2/VsmConfig.hpp index bfd6dbf6..166a63dd 100644 --- a/xo-interpreter2/include/xo/interpreter2/VsmConfig.hpp +++ b/xo-interpreter2/include/xo/interpreter2/VsmConfig.hpp @@ -31,6 +31,12 @@ namespace xo { return retval; } + VsmConfig with_x1_debug_flag(bool x) const { + VsmConfig retval = *this; + retval.x1_config_.debug_flag_ = x; + return retval; + } + /** true for interactive parser session; false for batch session **/ bool interactive_flag_ = true; diff --git a/xo-interpreter2/src/interpreter2/VirtualSchematikaMachine.cpp b/xo-interpreter2/src/interpreter2/VirtualSchematikaMachine.cpp index 5633c7d0..37f24390 100644 --- a/xo-interpreter2/src/interpreter2/VirtualSchematikaMachine.cpp +++ b/xo-interpreter2/src/interpreter2/VirtualSchematikaMachine.cpp @@ -86,6 +86,8 @@ namespace xo { } this->global_env_ = reader_.global_env(); + + //this->_add_gc_roots(); } obj diff --git a/xo-interpreter2/src/interpreter2/init_interpreter2.cpp b/xo-interpreter2/src/interpreter2/init_interpreter2.cpp index 77b997d2..56630794 100644 --- a/xo-interpreter2/src/interpreter2/init_interpreter2.cpp +++ b/xo-interpreter2/src/interpreter2/init_interpreter2.cpp @@ -7,6 +7,7 @@ #include "SetupInterpreter2.hpp" #include +#include #include namespace xo { @@ -31,6 +32,7 @@ namespace xo { /* direct subsystem deps for xo-interpreter2/ */ retval ^= InitSubsys::require(); + retval ^= InitSubsys::require(); /* xo-interpreter2/'s own initialization code */ retval ^= Subsystem::provide("interpreter2", &init); diff --git a/xo-object2/utest/X1Collector.test.cpp b/xo-object2/utest/X1Collector.test.cpp index 956c519d..517e04bf 100644 --- a/xo-object2/utest/X1Collector.test.cpp +++ b/xo-object2/utest/X1Collector.test.cpp @@ -172,7 +172,7 @@ namespace ut { REQUIRE(to_2 == nullptr); REQUIRE(gc.reserved_total() - == otypes->reserved() + roots->reserved() + 4 * from_0->reserved()); + == otypes->reserved() + roots->store()->reserved() + 4 * from_0->reserved()); log && log(xtag("from_0", from_0->lo_), xtag("to_0", to_0->lo_)); }