xo-interpreter2: scaffold repl + alloc measurement frameowkr
This commit is contained in:
parent
7028fa49f8
commit
f6aae4190e
42 changed files with 1398 additions and 198 deletions
43
xo-arena/src/arena/ErrorArena.cpp
Normal file
43
xo-arena/src/arena/ErrorArena.cpp
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/** @file ErrorArena.cpp
|
||||
*
|
||||
* @author Roland Conybeare, Feb 2026
|
||||
**/
|
||||
|
||||
#include "ErrorArena.hpp"
|
||||
|
||||
namespace xo {
|
||||
namespace mm {
|
||||
DArena
|
||||
ErrorArena::s_instance;
|
||||
|
||||
ArenaConfig
|
||||
ErrorArena::default_config()
|
||||
{
|
||||
return ArenaConfig().with_name("error-arena").with_size(16 * 1024);
|
||||
}
|
||||
|
||||
namespace {
|
||||
bool s_init_done = false;
|
||||
}
|
||||
|
||||
void
|
||||
ErrorArena::init_once(const ArenaConfig & cfg)
|
||||
{
|
||||
if (!s_init_done) {
|
||||
s_init_done = true;
|
||||
s_instance = DArena::map(cfg);
|
||||
}
|
||||
}
|
||||
|
||||
DArena *
|
||||
ErrorArena::instance()
|
||||
{
|
||||
init_once(default_config());
|
||||
|
||||
return &s_instance;
|
||||
}
|
||||
|
||||
} /*namespace mm*/
|
||||
} /*namespace xo*/
|
||||
|
||||
/* end ErrorArena.cpp */
|
||||
Loading…
Add table
Add a link
Reference in a new issue