EvalCommand::getEvalState: use gc tracable allocator for EvalState

This commit is contained in:
Yorick 2021-12-11 16:02:08 +01:00
parent 20b1290103
commit 33e96820d5
No known key found for this signature in database
GPG key ID: D8D3CC6D951384DE

View file

@ -73,8 +73,13 @@ ref<Store> EvalCommand::getEvalStore()
ref<EvalState> EvalCommand::getEvalState()
{
if (!evalState)
evalState = std::make_shared<EvalState>(searchPath, getEvalStore(), getStore());
if (!evalState) evalState =
#if HAVE_BOEHMGC
std::allocate_shared<EvalState>(traceable_allocator<EvalState>(),
#else
std::make_shared<EvalState>(
#endif
searchPath, getEvalStore(), getStore());
return ref<EvalState>(evalState);
}