1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 03:52:19 +02:00

IsThreadLocal fixes

This commit is contained in:
Brian Fiete 2024-03-02 06:04:44 -05:00
parent 5387313269
commit 43e718b24e
3 changed files with 4 additions and 8 deletions

View file

@ -3967,9 +3967,9 @@ void BfIRBuilder::CreateTypeDefinition(BfType* type, bool forceDbgDefine)
{ {
if (isDefiningModule) if (isDefiningModule)
{ {
fieldInstance->mIsThreadLocal = mModule->IsThreadLocal(fieldInstance); bool isThreadLocal = mModule->IsThreadLocal(fieldInstance);
if (!resolvedFieldType->IsVoid()) if (!resolvedFieldType->IsVoid())
mModule->CreateStaticField(fieldInstance, fieldInstance->mIsThreadLocal); mModule->CreateStaticField(fieldInstance, isThreadLocal);
} }
} }
} }

View file

@ -19959,7 +19959,7 @@ void BfModule::EmitGCMarkMembers()
auto fieldDef = fieldInst.GetFieldDef(); auto fieldDef = fieldInst.GetFieldDef();
if (fieldDef == NULL) if (fieldDef == NULL)
continue; continue;
if (fieldInst.mIsThreadLocal) if (IsThreadLocal(&fieldInst))
continue; continue;
if (fieldDef->mIsStatic == methodDef->mIsStatic) if (fieldDef->mIsStatic == methodDef->mIsStatic)
@ -20038,7 +20038,7 @@ void BfModule::EmitGCFindTLSMembers()
auto fieldDef = fieldInst.GetFieldDef(); auto fieldDef = fieldInst.GetFieldDef();
if (fieldDef == NULL) if (fieldDef == NULL)
continue; continue;
if (!fieldInst.mIsThreadLocal) if (!IsThreadLocal(&fieldInst))
continue; continue;
// For extensions, only handle these fields in the appropriate extension // For extensions, only handle these fields in the appropriate extension

View file

@ -1393,7 +1393,6 @@ public:
int mDataSize; int mDataSize;
bool mFieldIncluded; bool mFieldIncluded;
bool mIsEnumPayloadCase; bool mIsEnumPayloadCase;
bool mIsThreadLocal;
bool mIsInferredType; bool mIsInferredType;
bool mHadConstEval; bool mHadConstEval;
int mLastRevisionReferenced; int mLastRevisionReferenced;
@ -1418,7 +1417,6 @@ public:
mDataSize = copyFrom.mDataSize; mDataSize = copyFrom.mDataSize;
mFieldIncluded = copyFrom.mFieldIncluded; mFieldIncluded = copyFrom.mFieldIncluded;
mIsEnumPayloadCase = copyFrom.mIsEnumPayloadCase; mIsEnumPayloadCase = copyFrom.mIsEnumPayloadCase;
mIsThreadLocal = copyFrom.mIsThreadLocal;
mIsInferredType = copyFrom.mIsInferredType; mIsInferredType = copyFrom.mIsInferredType;
mHadConstEval = copyFrom.mHadConstEval; mHadConstEval = copyFrom.mHadConstEval;
mLastRevisionReferenced = copyFrom.mLastRevisionReferenced; mLastRevisionReferenced = copyFrom.mLastRevisionReferenced;
@ -1440,7 +1438,6 @@ public:
mDataSize = copyFrom.mDataSize; mDataSize = copyFrom.mDataSize;
mFieldIncluded = copyFrom.mFieldIncluded; mFieldIncluded = copyFrom.mFieldIncluded;
mIsEnumPayloadCase = copyFrom.mIsEnumPayloadCase; mIsEnumPayloadCase = copyFrom.mIsEnumPayloadCase;
mIsThreadLocal = copyFrom.mIsThreadLocal;
mIsInferredType = copyFrom.mIsInferredType; mIsInferredType = copyFrom.mIsInferredType;
mHadConstEval = copyFrom.mHadConstEval; mHadConstEval = copyFrom.mHadConstEval;
mLastRevisionReferenced = copyFrom.mLastRevisionReferenced; mLastRevisionReferenced = copyFrom.mLastRevisionReferenced;
@ -1459,7 +1456,6 @@ public:
mDataOffset = -1; mDataOffset = -1;
mDataSize = 0; mDataSize = 0;
mFieldIncluded = true; mFieldIncluded = true;
mIsThreadLocal = false;
mIsInferredType = false; mIsInferredType = false;
mHadConstEval = false; mHadConstEval = false;
mLastRevisionReferenced = -1; mLastRevisionReferenced = -1;