Skip to content

Commit

Permalink
Delete ENCODE_FIELD_SIG_IndexInsteadOfToken (dotnet#100214)
Browse files Browse the repository at this point in the history
  • Loading branch information
jkotas authored Mar 25, 2024
1 parent 305a52d commit 903bc01
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 33 deletions.
1 change: 0 additions & 1 deletion src/coreclr/inc/corcompile.h
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,6 @@ enum EncodeMethodSigFlags

enum EncodeFieldSigFlags
{
ENCODE_FIELD_SIG_IndexInsteadOfToken = 0x08,
ENCODE_FIELD_SIG_MemberRefToken = 0x10,
ENCODE_FIELD_SIG_OwnerType = 0x40,
};
Expand Down
1 change: 0 additions & 1 deletion src/coreclr/inc/readytorun.h
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,6 @@ enum ReadyToRunMethodSigFlags

enum ReadyToRunFieldSigFlags
{
READYTORUN_FIELD_SIG_IndexInsteadOfToken = 0x08,
READYTORUN_FIELD_SIG_MemberRefToken = 0x10,
READYTORUN_FIELD_SIG_OwnerType = 0x40,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ public enum ReadyToRunMethodSigFlags : byte
[Flags]
public enum ReadyToRunFieldSigFlags : byte
{
READYTORUN_FIELD_SIG_IndexInsteadOfToken = 0x08,
READYTORUN_FIELD_SIG_MemberRefToken = 0x10,
READYTORUN_FIELD_SIG_OwnerType = 0x40,
}
Expand Down
46 changes: 16 additions & 30 deletions src/coreclr/vm/zapsig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1024,46 +1024,32 @@ FieldDesc * ZapSig::DecodeField(Module *pReferencingModule,
IfFailThrow(sig.SkipExactlyOne());
}

if (fieldFlags & ENCODE_FIELD_SIG_IndexInsteadOfToken)
{
// get the field desc using index
uint32_t fieldIndex;
IfFailThrow(sig.GetData(&fieldIndex));

_ASSERTE(pOwnerMT != NULL);
RID rid;
IfFailThrow(sig.GetData(&rid));

pField = pOwnerMT->GetFieldDescByIndex(fieldIndex);
_ASSERTE(pOwnerMT == pField->GetApproxEnclosingMethodTable());
}
else
if (fieldFlags & ENCODE_FIELD_SIG_MemberRefToken)
{
RID rid;
IfFailThrow(sig.GetData(&rid));

if (fieldFlags & ENCODE_FIELD_SIG_MemberRefToken)
if (pOwnerMT == NULL)
{
if (pOwnerMT == NULL)
{
TypeHandle th;
MethodDesc * pMD = NULL;
FieldDesc * pFD = NULL;
TypeHandle th;
MethodDesc * pMD = NULL;
FieldDesc * pFD = NULL;

MemberLoader::GetDescFromMemberRef(pInfoModule, TokenFromRid(rid, mdtMemberRef), &pMD, &pFD, NULL, FALSE, &th);
_ASSERTE(pFD != NULL);
MemberLoader::GetDescFromMemberRef(pInfoModule, TokenFromRid(rid, mdtMemberRef), &pMD, &pFD, NULL, FALSE, &th);
_ASSERTE(pFD != NULL);

pField = pFD;
}
else
{
pField = MemberLoader::GetFieldDescFromMemberRefAndType(pInfoModule, TokenFromRid(rid, mdtMemberRef), pOwnerMT);
}
pField = pFD;
}
else
{
_ASSERTE(pInfoModule->IsFullModule());
pField = MemberLoader::GetFieldDescFromFieldDef(static_cast<Module*>(pInfoModule), TokenFromRid(rid, mdtFieldDef), FALSE);
pField = MemberLoader::GetFieldDescFromMemberRefAndType(pInfoModule, TokenFromRid(rid, mdtMemberRef), pOwnerMT);
}
}
else
{
_ASSERTE(pInfoModule->IsFullModule());
pField = MemberLoader::GetFieldDescFromFieldDef(static_cast<Module*>(pInfoModule), TokenFromRid(rid, mdtFieldDef), FALSE);
}

if (ppTH != NULL)
*ppTH = (pOwnerMT != NULL) ? pOwnerMT : pField->GetApproxEnclosingMethodTable();
Expand Down

0 comments on commit 903bc01

Please sign in to comment.