From 45a0f774c70360695cbd3c6193b81d90d09d1f7e Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Wed, 29 Jun 2022 05:56:07 -0700 Subject: [PATCH] Fixed AddToWorkList issue with MethodInstanceOnly on AlwaysInclude --- IDEHelper/Compiler/BfModule.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index b76bfe91..e3ab7409 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -14566,7 +14566,7 @@ BfModuleMethodInstance BfModule::GetMethodInstance(BfTypeInstance* typeInst, BfM addToWorkList = false; } - if ((flags & BfGetMethodInstanceFlag_MethodInstanceOnly) != 0) + if (((flags & BfGetMethodInstanceFlag_MethodInstanceOnly) != 0) && (methodInstGroup->mOnDemandKind != BfMethodOnDemandKind_AlwaysInclude)) { addToWorkList = false; } @@ -23068,6 +23068,11 @@ void BfModule::SetupIRFunction(BfMethodInstance* methodInstance, StringImpl& man } else { + if (mangledName == "?GCMarkStaticMembers@Glfw@GLFW@bf@@SAXXZ") + { + NOP; + } + func = mBfIRBuilder->CreateFunction(funcType, BfIRLinkageType_External, mangledName); BfLogSysM("Creating FuncId:%d %s in module %p\n", func.mId, mangledName.c_str(), this); if (methodInstance->mAlwaysInline)