diff --git a/xo-arena/include/xo/arena/AllocHeader.hpp b/xo-arena/include/xo/arena/AllocHeader.hpp index ec99f599..db8b6785 100644 --- a/xo-arena/include/xo/arena/AllocHeader.hpp +++ b/xo-arena/include/xo/arena/AllocHeader.hpp @@ -11,6 +11,13 @@ namespace xo { namespace mm { + /** @brief per-alloc header + * + * Appears immediately before each allocation when + * ArenaConfig.store_header_flag_ is set. + * + * See AllocInfo.hpp for encoding of @ref repr_ + **/ struct AllocHeader { using repr_type = std::uintptr_t; using size_type = std::size_t; diff --git a/xo-reader2/include/xo/reader2/ParserConfig.hpp b/xo-reader2/include/xo/reader2/ParserConfig.hpp index ce781b16..080238c7 100644 --- a/xo-reader2/include/xo/reader2/ParserConfig.hpp +++ b/xo-reader2/include/xo/reader2/ParserConfig.hpp @@ -20,7 +20,7 @@ namespace xo { ArenaConfig parser_arena_config_ { .name_ = "parser-arena", .size_ = 2*1024*1024, .hugepage_z_ = 2*1024*1024, - .store_header_flag_ = false, + .store_header_flag_ = true, .header_{}, .debug_flag_ = false }; diff --git a/xo-reader2/src/reader2/reader2_register_facets.cpp b/xo-reader2/src/reader2/reader2_register_facets.cpp index 7a653954..845b8d8e 100644 --- a/xo-reader2/src/reader2/reader2_register_facets.cpp +++ b/xo-reader2/src/reader2/reader2_register_facets.cpp @@ -77,6 +77,8 @@ namespace xo { // misc types showing up in aux arena TypeRegistry::register_type(); + // misc types showing up in parser stack arena + TypeRegistry::register_type(); log && log(xtag("DExprSeqState.tseq", typeseq::id())); log && log(xtag("DDefineSsm.tseq", typeseq::id())); diff --git a/xo-reader2/utest/SchematikaParser.test.cpp b/xo-reader2/utest/SchematikaParser.test.cpp index 5d831b13..a0557fa6 100644 --- a/xo-reader2/utest/SchematikaParser.test.cpp +++ b/xo-reader2/utest/SchematikaParser.test.cpp @@ -194,7 +194,7 @@ namespace xo { { const auto & testname = Catch::getResultCapture().getCurrentTestName(); - constexpr bool c_debug_flag = true; + constexpr bool c_debug_flag = false; scope log(XO_DEBUG(c_debug_flag), xtag("test", testname)); ParserFixture fixture(testname, c_debug_flag); @@ -740,7 +740,7 @@ namespace xo { const auto & testname = Catch::getResultCapture().getCurrentTestName(); - constexpr bool c_debug_flag = false; + constexpr bool c_debug_flag = true; scope log(XO_DEBUG(c_debug_flag), xtag("test", testname)); ParserFixture fixture(testname, c_debug_flag);