1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 20:12:21 +02:00

Start of compile-time function evaluation

This commit is contained in:
Brian Fiete 2020-12-13 08:04:42 -08:00
parent 350516fae3
commit 577e199dcd
17 changed files with 2437 additions and 29 deletions

View file

@ -6,6 +6,7 @@
#include "BfMangler.h"
#include "BfConstResolver.h"
#include "BfModule.h"
#include "CeMachine.h"
#include "BeefySysLib/util/BeefPerf.h"
#pragma warning(disable:4996)
@ -533,9 +534,9 @@ BfMethodInfoEx::~BfMethodInfoEx()
}
BfMethodInstance::~BfMethodInstance()
{
{
if (mHasMethodRefType)
{
{
auto module = GetOwner()->mModule;
if (!module->mContext->mDeleting)
{
@ -554,9 +555,15 @@ BfMethodInstance::~BfMethodInstance()
{
mHotMethod->mFlags = (BfHotDepDataFlags)(mHotMethod->mFlags & ~BfHotDepDataFlag_IsBound);
mHotMethod->Deref();
}
}
delete mMethodInfoEx;
if (mInCEMachine)
{
auto module = GetOwner()->mModule;
module->mCompiler->mCEMachine->RemoveMethod(this);
}
}
BfImportKind BfMethodInstance::GetImportKind()