mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-09 03:52:19 +02:00
Fixed const eval leaks
This commit is contained in:
parent
86b5e65015
commit
a672b49dea
1 changed files with 15 additions and 14 deletions
|
@ -211,7 +211,8 @@ CeFunction::~CeFunction()
|
||||||
{
|
{
|
||||||
BF_ASSERT(mId == -1);
|
BF_ASSERT(mId == -1);
|
||||||
for (auto innerFunc : mInnerFunctions)
|
for (auto innerFunc : mInnerFunctions)
|
||||||
delete innerFunc;
|
delete innerFunc;
|
||||||
|
delete mCeInnerFunctionInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -1209,17 +1210,6 @@ void CeBuilder::Build()
|
||||||
mCeMachine->MapFunctionId(innerFunction);
|
mCeMachine->MapFunctionId(innerFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
// for (int globalVarIdx = startGlobalVariableCount; globalVarIdx < (int)beModule->mGlobalVariables.size(); globalVarIdx++)
|
|
||||||
// {
|
|
||||||
// auto beGlobalVariable = beModule->mGlobalVariables[globalVarIdx];
|
|
||||||
// if (beGlobalVariable->mInitializer == NULL)
|
|
||||||
// continue;
|
|
||||||
//
|
|
||||||
// CeStaticFieldInfo* staticFieldInfoPtr = NULL;
|
|
||||||
// mCeMachine->mStaticFieldMap.TryAdd(beGlobalVariable->mName, NULL, &staticFieldInfoPtr);
|
|
||||||
// staticFieldInfoPtr->mBeConstant = beGlobalVariable;
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (!mCeFunction->mCeFunctionInfo->mName.IsEmpty())
|
if (!mCeFunction->mCeFunctionInfo->mName.IsEmpty())
|
||||||
{
|
{
|
||||||
BF_ASSERT(mCeFunction->mCeFunctionInfo->mName == mBeFunction->mName);
|
BF_ASSERT(mCeFunction->mCeFunctionInfo->mName == mBeFunction->mName);
|
||||||
|
@ -2645,9 +2635,8 @@ CeMachine::~CeMachine()
|
||||||
delete mCeModule;
|
delete mCeModule;
|
||||||
delete mHeap;
|
delete mHeap;
|
||||||
|
|
||||||
for (auto kv : mFunctions)
|
auto _RemoveFunctionInfo = [&](CeFunctionInfo* functionInfo)
|
||||||
{
|
{
|
||||||
auto functionInfo = kv.mValue;
|
|
||||||
if (functionInfo->mCeFunction != NULL)
|
if (functionInfo->mCeFunction != NULL)
|
||||||
{
|
{
|
||||||
// We don't need to actually unmap it at this point
|
// We don't need to actually unmap it at this point
|
||||||
|
@ -2657,6 +2646,18 @@ CeMachine::~CeMachine()
|
||||||
}
|
}
|
||||||
|
|
||||||
delete functionInfo;
|
delete functionInfo;
|
||||||
|
};
|
||||||
|
|
||||||
|
for (auto kv : mNamedFunctionMap)
|
||||||
|
{
|
||||||
|
if (kv.mValue->mMethodInstance == NULL)
|
||||||
|
_RemoveFunctionInfo(kv.mValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto kv : mFunctions)
|
||||||
|
{
|
||||||
|
BF_ASSERT(kv.mValue != NULL);
|
||||||
|
_RemoveFunctionInfo(kv.mValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue