Skip to content

Commit

Permalink
Removing cctor trigger helper from aot,vm and jit
Browse files Browse the repository at this point in the history
  • Loading branch information
Brian Bohe committed Nov 23, 2022
1 parent a206b9f commit abb0e3d
Show file tree
Hide file tree
Showing 11 changed files with 6 additions and 19 deletions.
1 change: 0 additions & 1 deletion src/coreclr/inc/corinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -590,7 +590,6 @@ enum CorInfoHelpFunc
CORINFO_HELP_READYTORUN_NEWARR_1,
CORINFO_HELP_READYTORUN_ISINSTANCEOF,
CORINFO_HELP_READYTORUN_CHKCAST,
CORINFO_HELP_READYTORUN_CCTOR_TRIGGER,
CORINFO_HELP_READYTORUN_GCSTATIC_BASE, // static gc field access
CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE, // static non gc field access
CORINFO_HELP_READYTORUN_THREADSTATIC_BASE,
Expand Down
1 change: 0 additions & 1 deletion src/coreclr/inc/jithelpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,6 @@
JITHELPER(CORINFO_HELP_READYTORUN_NEWARR_1, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB)
JITHELPER(CORINFO_HELP_READYTORUN_ISINSTANCEOF, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB)
JITHELPER(CORINFO_HELP_READYTORUN_CHKCAST, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB)
JITHELPER(CORINFO_HELP_READYTORUN_CCTOR_TRIGGER, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB)
JITHELPER(CORINFO_HELP_READYTORUN_GCSTATIC_BASE, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB)
JITHELPER(CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB)
JITHELPER(CORINFO_HELP_READYTORUN_THREADSTATIC_BASE, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB)
Expand Down
3 changes: 1 addition & 2 deletions src/coreclr/jit/compiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5555,8 +5555,7 @@ int Compiler::compCompile(CORINFO_MODULE_HANDLE classPtr,

bool isNativeAot = IsTargetAbi(CORINFO_NATIVEAOT_ABI);
virtualStubParamInfo = new (this, CMK_Unknown) VirtualStubParamInfo(isNativeAot);
m_preferredInitCctor =
isNativeAot ? CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE : CORINFO_HELP_READYTORUN_CCTOR_TRIGGER;
m_preferredInitCctor = CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE;

// compMatchedVM is set to true if both CPU/ABI and OS are matching the execution engine requirements
//
Expand Down
5 changes: 2 additions & 3 deletions src/coreclr/jit/compiler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3597,9 +3597,8 @@ inline bool Compiler::IsSharedStaticHelper(GenTree* tree)
helper == CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_DYNAMICCLASS ||
helper == CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_DYNAMICCLASS ||
#ifdef FEATURE_READYTORUN
helper == CORINFO_HELP_READYTORUN_CCTOR_TRIGGER || helper == CORINFO_HELP_READYTORUN_GENERIC_STATIC_BASE ||
helper == CORINFO_HELP_READYTORUN_GCSTATIC_BASE || helper == CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE ||
helper == CORINFO_HELP_READYTORUN_THREADSTATIC_BASE ||
helper == CORINFO_HELP_READYTORUN_GENERIC_STATIC_BASE || helper == CORINFO_HELP_READYTORUN_GCSTATIC_BASE ||
helper == CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE || helper == CORINFO_HELP_READYTORUN_THREADSTATIC_BASE ||
helper == CORINFO_HELP_READYTORUN_NONGCTHREADSTATIC_BASE ||
#endif
helper == CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS;
Expand Down
5 changes: 2 additions & 3 deletions src/coreclr/jit/flowgraph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -915,9 +915,8 @@ GenTreeCall* Compiler::fgGetSharedCCtor(CORINFO_CLASS_HANDLE cls)
{
CORINFO_RESOLVED_TOKEN resolvedToken;
memset(&resolvedToken, 0, sizeof(resolvedToken));
resolvedToken.hClass = cls;
var_types return_type = m_preferredInitCctor == CORINFO_HELP_READYTORUN_CCTOR_TRIGGER ? TYP_VOID : TYP_BYREF;
return impReadyToRunHelperToTree(&resolvedToken, m_preferredInitCctor, return_type);
resolvedToken.hClass = cls;
return impReadyToRunHelperToTree(&resolvedToken, m_preferredInitCctor, TYP_BYREF);
}
#endif

Expand Down
3 changes: 1 addition & 2 deletions src/coreclr/jit/importer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4452,8 +4452,7 @@ GenTree* Compiler::impImportStaticFieldAccess(CORINFO_RESOLVED_TOKEN* pResolvedT
op1 = gtNewHelperCallNode(pFieldInfo->helper, TYP_BYREF);
if (pResolvedToken->hClass == info.compClassHnd)
{
if (pFieldInfo->helper == CORINFO_HELP_READYTORUN_CCTOR_TRIGGER ||
pFieldInfo->helper == CORINFO_HELP_READYTORUN_GCSTATIC_BASE ||
if (pFieldInfo->helper == CORINFO_HELP_READYTORUN_GCSTATIC_BASE ||
pFieldInfo->helper == CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE)
{
m_preferredInitCctor = pFieldInfo->helper;
Expand Down
1 change: 0 additions & 1 deletion src/coreclr/jit/utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1399,7 +1399,6 @@ void HelperCallProperties::init()
case CORINFO_HELP_GETSTATICFIELDADDR_TLS:
case CORINFO_HELP_GETGENERICS_GCSTATIC_BASE:
case CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE:
case CORINFO_HELP_READYTORUN_CCTOR_TRIGGER:
case CORINFO_HELP_READYTORUN_GCSTATIC_BASE:
case CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE:
case CORINFO_HELP_READYTORUN_THREADSTATIC_BASE:
Expand Down
1 change: 0 additions & 1 deletion src/coreclr/tools/Common/JitInterface/CorInfoHelpFunc.cs
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,6 @@ which is the right helper to use to allocate an object of a given type. */
CORINFO_HELP_READYTORUN_NEWARR_1,
CORINFO_HELP_READYTORUN_ISINSTANCEOF,
CORINFO_HELP_READYTORUN_CHKCAST,
CORINFO_HELP_READYTORUN_CCTOR_TRIGGER,
CORINFO_HELP_READYTORUN_GCSTATIC_BASE,
CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE,
CORINFO_HELP_READYTORUN_THREADSTATIC_BASE,
Expand Down
3 changes: 0 additions & 3 deletions src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3242,9 +3242,6 @@ public static ReadyToRunHelperId GetReadyToRunHelperFromStaticBaseHelper(CorInfo
ReadyToRunHelperId res;
switch (helper)
{
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_CCTOR_TRIGGER:
res = ReadyToRunHelperId.CctorTrigger;
break;
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_GCSTATIC_BASE:
res = ReadyToRunHelperId.GetGCStaticBase;
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -726,7 +726,6 @@ private bool getReadyToRunHelper(ref CORINFO_RESOLVED_TOKEN pResolvedToken, ref
pLookup = CreateConstLookupToSymbol(_compilation.SymbolNodeFactory.CreateReadyToRunHelper(ReadyToRunHelperId.CastClass, type));
}
break;
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_CCTOR_TRIGGER:
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_GCSTATIC_BASE:
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE:
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_THREADSTATIC_BASE:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,6 @@ private bool getReadyToRunHelper(ref CORINFO_RESOLVED_TOKEN pResolvedToken, ref
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_ISINSTANCEOF:
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_CHKCAST:
return false;
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_CCTOR_TRIGGER:
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_GCSTATIC_BASE:
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE:
case CorInfoHelpFunc.CORINFO_HELP_READYTORUN_THREADSTATIC_BASE:
Expand Down

0 comments on commit abb0e3d

Please sign in to comment.