From 664e1f2d454d7ac8e6bf566ab17652b220ca37a9 Mon Sep 17 00:00:00 2001 From: Adeel <3840695+am11@users.noreply.github.com> Date: Thu, 19 Aug 2021 04:07:59 +0300 Subject: [PATCH] Rename FEATURE_READYTORUN{_COMPILER,} in JIT --- src/coreclr/jit/CMakeLists.txt | 3 -- src/coreclr/jit/codegenarmarch.cpp | 8 ++--- src/coreclr/jit/codegenxarch.cpp | 2 +- src/coreclr/jit/compiler.h | 2 +- src/coreclr/jit/compiler.hpp | 2 +- src/coreclr/jit/fgprofile.cpp | 2 +- src/coreclr/jit/flowgraph.cpp | 4 +-- src/coreclr/jit/gentree.cpp | 22 ++++++------- src/coreclr/jit/gentree.h | 24 +++++++------- src/coreclr/jit/importer.cpp | 50 +++++++++++++++--------------- src/coreclr/jit/lower.cpp | 12 +++---- src/coreclr/jit/morph.cpp | 16 +++++----- src/coreclr/jit/objectalloc.cpp | 4 +-- src/coreclr/jit/rationalize.cpp | 6 ++-- src/coreclr/jit/rationalize.h | 2 +- src/coreclr/jit/valuenum.cpp | 8 ++--- 16 files changed, 82 insertions(+), 85 deletions(-) diff --git a/src/coreclr/jit/CMakeLists.txt b/src/coreclr/jit/CMakeLists.txt index ae033295cee5fa..9ec0dcd0d18037 100644 --- a/src/coreclr/jit/CMakeLists.txt +++ b/src/coreclr/jit/CMakeLists.txt @@ -48,9 +48,6 @@ function(create_standalone_jit) target_compile_definitions(${TARGETDETAILS_TARGET} PRIVATE FEATURE_NO_HOST) target_compile_definitions(${TARGETDETAILS_TARGET} PRIVATE SELF_NO_HOST) - if(FEATURE_READYTORUN) - target_compile_definitions(${TARGETDETAILS_TARGET} PRIVATE FEATURE_READYTORUN_COMPILER) - endif(FEATURE_READYTORUN) if ((TARGETDETAILS_ARCH STREQUAL "x64") OR (TARGETDETAILS_ARCH STREQUAL "arm64") OR ((TARGETDETAILS_ARCH STREQUAL "x86") AND NOT (TARGETDETAILS_OS STREQUAL "unix"))) target_compile_definitions(${TARGETDETAILS_TARGET} PRIVATE FEATURE_SIMD) diff --git a/src/coreclr/jit/codegenarmarch.cpp b/src/coreclr/jit/codegenarmarch.cpp index 1989d1d2036a43..09c988a42a639c 100644 --- a/src/coreclr/jit/codegenarmarch.cpp +++ b/src/coreclr/jit/codegenarmarch.cpp @@ -2450,10 +2450,10 @@ void CodeGen::genCallInstruction(GenTreeCall* call) { // Generate a direct call to a non-virtual user defined or helper method assert(callType == CT_HELPER || callType == CT_USER_FUNC); -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN assert(((call->IsR2RRelativeIndir()) && (call->gtEntryPoint.accessType == IAT_PVALUE)) || ((call->IsVirtualStubRelativeIndir()) && (call->gtEntryPoint.accessType == IAT_VALUE))); -#endif // FEATURE_READYTORUN_COMPILER +#endif // FEATURE_READYTORUN assert(call->gtControlExpr == nullptr); assert(!call->IsTailCall()); @@ -2475,14 +2475,14 @@ void CodeGen::genCallInstruction(GenTreeCall* call) assert(callType == CT_HELPER || callType == CT_USER_FUNC); void* addr = nullptr; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (call->gtEntryPoint.addr != NULL) { assert(call->gtEntryPoint.accessType == IAT_VALUE); addr = call->gtEntryPoint.addr; } else -#endif // FEATURE_READYTORUN_COMPILER +#endif // FEATURE_READYTORUN if (callType == CT_HELPER) { CorInfoHelpFunc helperNum = compiler->eeGetHelperNum(methHnd); diff --git a/src/coreclr/jit/codegenxarch.cpp b/src/coreclr/jit/codegenxarch.cpp index f268c6a066a86a..84fc3486e3a43d 100644 --- a/src/coreclr/jit/codegenxarch.cpp +++ b/src/coreclr/jit/codegenxarch.cpp @@ -5383,7 +5383,7 @@ void CodeGen::genCallInstruction(GenTreeCall* call) // clang-format on } } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN else if (call->gtEntryPoint.addr != nullptr) { // clang-format off diff --git a/src/coreclr/jit/compiler.h b/src/coreclr/jit/compiler.h index f843a6233e907b..43770d33d1fbd5 100644 --- a/src/coreclr/jit/compiler.h +++ b/src/coreclr/jit/compiler.h @@ -9301,7 +9301,7 @@ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX return !!(compFlags & optFlag); } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN bool IsReadyToRun() { return jitFlags->IsSet(JitFlags::JIT_FLAG_READYTORUN); diff --git a/src/coreclr/jit/compiler.hpp b/src/coreclr/jit/compiler.hpp index ed0b0940fee66b..76de247381e936 100644 --- a/src/coreclr/jit/compiler.hpp +++ b/src/coreclr/jit/compiler.hpp @@ -3588,7 +3588,7 @@ inline bool Compiler::IsSharedStaticHelper(GenTree* tree) helper == CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR || helper == CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_DYNAMICCLASS || helper == CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_DYNAMICCLASS || -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN helper == CORINFO_HELP_READYTORUN_STATIC_BASE || helper == CORINFO_HELP_READYTORUN_GENERIC_STATIC_BASE || #endif helper == CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS; diff --git a/src/coreclr/jit/fgprofile.cpp b/src/coreclr/jit/fgprofile.cpp index 47019dced25b28..0100fde2377c96 100644 --- a/src/coreclr/jit/fgprofile.cpp +++ b/src/coreclr/jit/fgprofile.cpp @@ -490,7 +490,7 @@ void BlockCountInstrumentor::InstrumentMethodEntry(Schema& schema, BYTE* profile GenTree* arg; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { mdMethodDef currentMethodToken = info.compCompHnd->getMethodDefFromMethod(info.compMethodHnd); diff --git a/src/coreclr/jit/flowgraph.cpp b/src/coreclr/jit/flowgraph.cpp index b6336adddaa3a5..0f5d4ee9327313 100644 --- a/src/coreclr/jit/flowgraph.cpp +++ b/src/coreclr/jit/flowgraph.cpp @@ -930,7 +930,7 @@ GenTreeCall* Compiler::fgGetStaticsCCtorHelper(CORINFO_CLASS_HANDLE cls, CorInfo GenTreeCall* Compiler::fgGetSharedCCtor(CORINFO_CLASS_HANDLE cls) { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { CORINFO_RESOLVED_TOKEN resolvedToken; @@ -1144,7 +1144,7 @@ GenTree* Compiler::fgOptimizeDelegateConstructor(GenTreeCall* call, assert(targetMethodHnd == nullptr); } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { if (IsTargetAbi(CORINFO_CORERT_ABI)) diff --git a/src/coreclr/jit/gentree.cpp b/src/coreclr/jit/gentree.cpp index 22e46b6a819eb2..18391199a1563e 100644 --- a/src/coreclr/jit/gentree.cpp +++ b/src/coreclr/jit/gentree.cpp @@ -1141,7 +1141,7 @@ bool GenTreeCall::Equals(GenTreeCall* c1, GenTreeCall* c2) return false; } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (c1->gtEntryPoint.addr != c2->gtEntryPoint.addr) { return false; @@ -6441,7 +6441,7 @@ GenTreeCall* Compiler::gtNewCallNode( node->gtCallLateArgs = nullptr; node->gtReturnType = type; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN node->gtEntryPoint.addr = nullptr; node->gtEntryPoint.accessType = IAT_VALUE; #endif @@ -7431,7 +7431,7 @@ GenTreeAllocObj* Compiler::gtNewAllocObjNode(CORINFO_RESOLVED_TOKEN* pResolvedTo CorInfoHelpFunc helper = CORINFO_HELP_UNDEF; GenTree* opHandle = impTokenToHandle(pResolvedToken, pRuntimeLookup, mustRestoreHandle, useParent); -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN CORINFO_CONST_LOOKUP lookup = {}; if (opts.IsReadyToRun()) @@ -7472,7 +7472,7 @@ GenTreeAllocObj* Compiler::gtNewAllocObjNode(CORINFO_RESOLVED_TOKEN* pResolvedTo GenTreeAllocObj* allocObj = gtNewAllocObjNode(helper, helperHasSideEffects, pResolvedToken->hClass, TYP_REF, opHandle); -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (usingReadyToRunHelper) { allocObj->gtEntryPoint = lookup; @@ -7570,7 +7570,7 @@ GenTree* Compiler::gtClone(GenTree* tree, bool complexOK) copy = gtNewFieldRef(tree->TypeGet(), tree->AsField()->gtFldHnd, objp, tree->AsField()->gtFldOffset); copy->AsField()->gtFldMayOverlap = tree->AsField()->gtFldMayOverlap; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN copy->AsField()->gtFieldLookup = tree->AsField()->gtFieldLookup; #endif } @@ -7764,7 +7764,7 @@ GenTree* Compiler::gtCloneExpr( case GT_FTN_ADDR: copy = new (this, oper) GenTreeFptrVal(tree->gtType, tree->AsFptrVal()->gtFptrMethod); -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN copy->AsFptrVal()->gtEntryPoint = tree->AsFptrVal()->gtEntryPoint; #endif goto DONE; @@ -7934,7 +7934,7 @@ GenTree* Compiler::gtCloneExpr( GenTreeIntrinsic(tree->TypeGet(), tree->AsOp()->gtOp1, tree->AsOp()->gtOp2, tree->AsIntrinsic()->gtIntrinsicId, tree->AsIntrinsic()->gtIntrinsicName, tree->AsIntrinsic()->gtMethodHandle); -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN copy->AsIntrinsic()->gtEntryPoint = tree->AsIntrinsic()->gtEntryPoint; #endif break; @@ -8082,7 +8082,7 @@ GenTree* Compiler::gtCloneExpr( ? gtCloneExpr(tree->AsField()->gtFldObj, addFlags, deepVarNum, deepVarVal) : nullptr; copy->AsField()->gtFldMayOverlap = tree->AsField()->gtFldMayOverlap; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN copy->AsField()->gtFieldLookup = tree->AsField()->gtFieldLookup; #endif @@ -8337,7 +8337,7 @@ GenTreeCall* Compiler::gtCloneExprCallHelper(GenTreeCall* tree, copy->gtReturnTypeDesc = tree->gtReturnTypeDesc; #endif -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN copy->setEntryPoint(tree->gtEntryPoint); #endif @@ -10067,12 +10067,12 @@ void Compiler::gtDispNodeName(GenTree* tree) { gtfType = " stub"; } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN else if (tree->AsCall()->IsR2RRelativeIndir()) { gtfType = " r2r_ind"; } -#endif // FEATURE_READYTORUN_COMPILER +#endif // FEATURE_READYTORUN else if (tree->gtFlags & GTF_CALL_UNMANAGED) { char* gtfTypeBufWalk = gtfTypeBuf; diff --git a/src/coreclr/jit/gentree.h b/src/coreclr/jit/gentree.h index 2c8ad35b8cdb0f..b5d45fff36d884 100644 --- a/src/coreclr/jit/gentree.h +++ b/src/coreclr/jit/gentree.h @@ -3648,7 +3648,7 @@ struct GenTreeField : public GenTree CORINFO_FIELD_HANDLE gtFldHnd; DWORD gtFldOffset; bool gtFldMayOverlap; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN CORINFO_CONST_LOOKUP gtFieldLookup; #endif @@ -3660,7 +3660,7 @@ struct GenTreeField : public GenTree gtFlags |= (obj->gtFlags & GTF_ALL_EFFECT); } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN gtFieldLookup.addr = nullptr; #endif } @@ -4425,12 +4425,12 @@ struct GenTreeCall final : public GenTree bool IsR2ROrVirtualStubRelativeIndir() { -#if defined(FEATURE_READYTORUN_COMPILER) && defined(TARGET_ARMARCH) +#if defined(FEATURE_READYTORUN) && defined(TARGET_ARMARCH) bool isVirtualStub = (gtFlags & GTF_CALL_VIRT_KIND_MASK) == GTF_CALL_VIRT_STUB; return ((IsR2RRelativeIndir()) || (isVirtualStub && (IsVirtualStubRelativeIndir()))); #else return false; -#endif // FEATURE_READYTORUN_COMPILER && TARGET_ARMARCH +#endif // FEATURE_READYTORUN && TARGET_ARMARCH } bool HasNonStandardAddedArgs(Compiler* compiler) const; @@ -4598,7 +4598,7 @@ struct GenTreeCall final : public GenTree return (gtCallMoreFlags & GTF_CALL_M_VIRTSTUB_REL_INDIRECT) != 0; } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN bool IsR2RRelativeIndir() const { return (gtCallMoreFlags & GTF_CALL_M_R2R_REL_INDIRECT) != 0; @@ -4611,7 +4611,7 @@ struct GenTreeCall final : public GenTree gtCallMoreFlags |= GTF_CALL_M_R2R_REL_INDIRECT; } } -#endif // FEATURE_READYTORUN_COMPILER +#endif // FEATURE_READYTORUN bool IsVarargs() const { @@ -4741,7 +4741,7 @@ struct GenTreeCall final : public GenTree GenTree* gtCallAddr; // CT_INDIRECT }; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN // Call target lookup info for method call from a Ready To Run module CORINFO_CONST_LOOKUP gtEntryPoint; #endif @@ -4921,13 +4921,13 @@ struct GenTreeFptrVal : public GenTree { CORINFO_METHOD_HANDLE gtFptrMethod; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN CORINFO_CONST_LOOKUP gtEntryPoint; #endif GenTreeFptrVal(var_types type, CORINFO_METHOD_HANDLE meth) : GenTree(GT_FTN_ADDR, type), gtFptrMethod(meth) { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN gtEntryPoint.addr = nullptr; gtEntryPoint.accessType = IAT_VALUE; #endif @@ -4961,7 +4961,7 @@ struct GenTreeIntrinsic : public GenTreeOp NamedIntrinsic gtIntrinsicName; CORINFO_METHOD_HANDLE gtMethodHandle; // Method handle of the method which is treated as an intrinsic. -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN // Call target lookup info for method call from a Ready To Run module CORINFO_CONST_LOOKUP gtEntryPoint; #endif @@ -6822,7 +6822,7 @@ struct GenTreeAllocObj final : public GenTreeUnOp unsigned int gtNewHelper; // Value returned by ICorJitInfo::getNewHelper bool gtHelperHasSideEffects; CORINFO_CLASS_HANDLE gtAllocObjClsHnd; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN CORINFO_CONST_LOOKUP gtEntryPoint; #endif @@ -6834,7 +6834,7 @@ struct GenTreeAllocObj final : public GenTreeUnOp , gtHelperHasSideEffects(helperHasSideEffects) , gtAllocObjClsHnd(clsHnd) { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN gtEntryPoint.addr = nullptr; #endif } diff --git a/src/coreclr/jit/importer.cpp b/src/coreclr/jit/importer.cpp index da396f145bfe05..30ab278d5b2d44 100644 --- a/src/coreclr/jit/importer.cpp +++ b/src/coreclr/jit/importer.cpp @@ -2084,7 +2084,7 @@ GenTree* Compiler::impLookupToTree(CORINFO_RESOLVED_TOKEN* pResolvedToken, return impRuntimeLookupToTree(pResolvedToken, pLookup, compileTimeHandle); } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN GenTree* Compiler::impReadyToRunLookupToTree(CORINFO_CONST_LOOKUP* pLookup, GenTreeFlags handleFlags, void* compileTimeHandle) @@ -2146,7 +2146,7 @@ GenTree* Compiler::impMethodPointer(CORINFO_RESOLVED_TOKEN* pResolvedToken, CORI case CORINFO_CALL: op1 = new (this, GT_FTN_ADDR) GenTreeFptrVal(TYP_I_IMPL, pCallInfo->hMethod); -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { op1->AsFptrVal()->gtEntryPoint = pCallInfo->codePointerLookup.constLookup; @@ -2239,7 +2239,7 @@ GenTree* Compiler::impRuntimeLookupToTree(CORINFO_RESOLVED_TOKEN* pResolvedToken // It's available only via the run-time helper function if (pRuntimeLookup->indirections == CORINFO_USEHELPER) { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { return impReadyToRunHelperToTree(pResolvedToken, CORINFO_HELP_READYTORUN_GENERIC_HANDLE, TYP_I_IMPL, @@ -3334,7 +3334,7 @@ GenTree* Compiler::impInitializeArrayIntrinsic(CORINFO_SIG_INFO* sig) newArrayCall->AsCall()->gtCallMethHnd != eeFindHelper(CORINFO_HELP_NEWARR_1_OBJ) && newArrayCall->AsCall()->gtCallMethHnd != eeFindHelper(CORINFO_HELP_NEWARR_1_VC) && newArrayCall->AsCall()->gtCallMethHnd != eeFindHelper(CORINFO_HELP_NEWARR_1_ALIGN8) -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN && newArrayCall->AsCall()->gtCallMethHnd != eeFindHelper(CORINFO_HELP_READYTORUN_NEWARR_1) #endif ) @@ -3510,7 +3510,7 @@ GenTree* Compiler::impInitializeArrayIntrinsic(CORINFO_SIG_INFO* sig) GenTree* arrayLengthNode; GenTreeCall::Use* args = newArrayCall->AsCall()->gtCallArgs; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (newArrayCall->AsCall()->gtCallMethHnd == eeFindHelper(CORINFO_HELP_READYTORUN_NEWARR_1)) { // Array length is 1st argument for readytorun helper @@ -6379,7 +6379,7 @@ GenTree* Compiler::impImportLdvirtftn(GenTree* thisPtr, gtNewCallArgs(thisPtr, runtimeMethodHandle)); } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { if (!pCallInfo->exactContextNeedsRuntimeLookup) @@ -7733,7 +7733,7 @@ GenTree* Compiler::impImportStaticFieldAccess(CORINFO_RESOLVED_TOKEN* pResolvedT case CORINFO_FIELD_STATIC_SHARED_STATIC_HELPER: { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { GenTreeFlags callFlags = GTF_EMPTY; @@ -7764,7 +7764,7 @@ GenTree* Compiler::impImportStaticFieldAccess(CORINFO_RESOLVED_TOKEN* pResolvedT case CORINFO_FIELD_STATIC_READYTORUN_HELPER: { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN assert(opts.IsReadyToRun()); assert(!compIsForInlining()); CORINFO_LOOKUP_KIND kind; @@ -7790,7 +7790,7 @@ GenTree* Compiler::impImportStaticFieldAccess(CORINFO_RESOLVED_TOKEN* pResolvedT new (this, GT_CNS_INT) GenTreeIntCon(TYP_I_IMPL, pFieldInfo->offset, fs)); #else unreached(); -#endif // FEATURE_READYTORUN_COMPILER +#endif // FEATURE_READYTORUN } break; @@ -8378,7 +8378,7 @@ var_types Compiler::impImportCall(OPCODE opcode, if (call != nullptr) { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (call->OperGet() == GT_INTRINSIC) { if (opts.IsReadyToRun()) @@ -8494,7 +8494,7 @@ var_types Compiler::impImportCall(OPCODE opcode, } } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { // Null check is sometimes needed for ready to run to handle @@ -8572,7 +8572,7 @@ var_types Compiler::impImportCall(OPCODE opcode, // CoreRT generic virtual method: need to handle potential fat function pointers addFatPointerCandidate(call->AsCall()); } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { // Null check is needed for ready to run to handle @@ -8601,7 +8601,7 @@ var_types Compiler::impImportCall(OPCODE opcode, call->gtFlags |= GTF_CALL_NULLCHECK; } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { call->AsCall()->setEntryPoint(callInfo->codePointerLookup.constLookup); @@ -8931,7 +8931,7 @@ var_types Compiler::impImportCall(OPCODE opcode, if (!exactContextNeedsRuntimeLookup) { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { instParam = @@ -8981,7 +8981,7 @@ var_types Compiler::impImportCall(OPCODE opcode, } else if (!exactContextNeedsRuntimeLookup) { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { instParam = @@ -11351,7 +11351,7 @@ void Compiler::impImportBlockCode(BasicBlock* block) while (codeAddr < codeEndp) { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN bool usingReadyToRunHelper = false; #endif CORINFO_RESOLVED_TOKEN resolvedToken; @@ -14903,7 +14903,7 @@ void Compiler::impImportBlockCode(BasicBlock* block) switch (fieldInfo.fieldAccessor) { case CORINFO_FIELD_INSTANCE: -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN case CORINFO_FIELD_INSTANCE_WITH_BASE: #endif { @@ -14921,7 +14921,7 @@ void Compiler::impImportBlockCode(BasicBlock* block) /* Create the data member node */ op1 = gtNewFieldRef(lclTyp, resolvedToken.hField, obj, fieldInfo.offset); -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (fieldInfo.fieldAccessor == CORINFO_FIELD_INSTANCE_WITH_BASE) { op1->AsField()->gtFieldLookup = fieldInfo.fieldLookup; @@ -15233,7 +15233,7 @@ void Compiler::impImportBlockCode(BasicBlock* block) switch (fieldInfo.fieldAccessor) { case CORINFO_FIELD_INSTANCE: -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN case CORINFO_FIELD_INSTANCE_WITH_BASE: #endif { @@ -15247,7 +15247,7 @@ void Compiler::impImportBlockCode(BasicBlock* block) op1->AsField()->gtFldMayOverlap = true; } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (fieldInfo.fieldAccessor == CORINFO_FIELD_INSTANCE_WITH_BASE) { op1->AsField()->gtFieldLookup = fieldInfo.fieldLookup; @@ -15516,7 +15516,7 @@ void Compiler::impImportBlockCode(BasicBlock* block) } #endif // TARGET_64BIT -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { op1 = impReadyToRunHelperToTree(&resolvedToken, CORINFO_HELP_READYTORUN_NEWARR_1, TYP_REF, @@ -15720,7 +15720,7 @@ void Compiler::impImportBlockCode(BasicBlock* block) else { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { GenTreeCall* opLookup = @@ -16315,7 +16315,7 @@ void Compiler::impImportBlockCode(BasicBlock* block) else { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { GenTreeCall* opLookup = @@ -21651,7 +21651,7 @@ void Compiler::impDevirtualizeCall(GenTreeCall* call, *pExactContextHandle = MAKE_CLASSCONTEXT(derivedClass); } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (opts.IsReadyToRun()) { // For R2R, getCallInfo triggers bookkeeping on the zap @@ -21666,7 +21666,7 @@ void Compiler::impDevirtualizeCall(GenTreeCall* call, call->gtCallMoreFlags &= ~GTF_CALL_M_R2R_REL_INDIRECT; call->setEntryPoint(derivedCallInfo.codePointerLookup.constLookup); } -#endif // FEATURE_READYTORUN_COMPILER +#endif // FEATURE_READYTORUN } //------------------------------------------------------------------------ diff --git a/src/coreclr/jit/lower.cpp b/src/coreclr/jit/lower.cpp index 08cbc8b0ad0d37..ef0578b2cbff50 100644 --- a/src/coreclr/jit/lower.cpp +++ b/src/coreclr/jit/lower.cpp @@ -3631,7 +3631,7 @@ GenTree* Lowering::LowerDirectCall(GenTreeCall* call) InfoAccessType accessType; CorInfoHelpFunc helperNum = comp->eeGetHelperNum(call->gtCallMethHnd); -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (call->gtEntryPoint.addr != nullptr) { accessType = call->gtEntryPoint.accessType; @@ -3706,12 +3706,12 @@ GenTree* Lowering::LowerDirectCall(GenTreeCall* call) case IAT_PVALUE: { bool isR2RRelativeIndir = false; -#if defined(FEATURE_READYTORUN_COMPILER) && defined(TARGET_ARMARCH) +#if defined(FEATURE_READYTORUN) && defined(TARGET_ARMARCH) // Skip inserting the indirection node to load the address that is already // computed in REG_R2R_INDIRECT_PARAM as a hidden parameter. Instead during the // codegen, just load the call target from REG_R2R_INDIRECT_PARAM. isR2RRelativeIndir = call->IsR2RRelativeIndir(); -#endif // FEATURE_READYTORUN_COMPILER && TARGET_ARMARCH +#endif // FEATURE_READYTORUN && TARGET_ARMARCH if (!isR2RRelativeIndir) { @@ -4526,7 +4526,7 @@ GenTree* Lowering::LowerNonvirtPinvokeCall(GenTreeCall* call) // a direct call within range of hardware relative call instruction // stash the address for codegen call->gtDirectCallAddress = addr; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN call->gtEntryPoint.addr = nullptr; call->gtEntryPoint.accessType = IAT_VALUE; #endif @@ -4774,14 +4774,14 @@ GenTree* Lowering::LowerVirtualStubCall(GenTreeCall* call) { bool shouldOptimizeVirtualStubCall = false; -#if defined(FEATURE_READYTORUN_COMPILER) && defined(TARGET_ARMARCH) +#if defined(FEATURE_READYTORUN) && defined(TARGET_ARMARCH) // Skip inserting the indirection node to load the address that is already // computed in REG_R2R_INDIRECT_PARAM as a hidden parameter. Instead during the // codegen, just load the call target from REG_R2R_INDIRECT_PARAM. // However, for tail calls, the call target is always computed in RBM_FASTTAILCALL_TARGET // and so do not optimize virtual stub calls for such cases. shouldOptimizeVirtualStubCall = !call->IsTailCall(); -#endif // FEATURE_READYTORUN_COMPILER && TARGET_ARMARCH +#endif // FEATURE_READYTORUN && TARGET_ARMARCH if (!shouldOptimizeVirtualStubCall) { diff --git a/src/coreclr/jit/morph.cpp b/src/coreclr/jit/morph.cpp index 2b50b7286f25bd..77acb41429c437 100644 --- a/src/coreclr/jit/morph.cpp +++ b/src/coreclr/jit/morph.cpp @@ -86,7 +86,7 @@ GenTree* Compiler::fgMorphIntoHelperCall(GenTree* tree, int helper, GenTreeCall: #endif // DEBUG -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN call->gtEntryPoint.addr = nullptr; call->gtEntryPoint.accessType = IAT_VALUE; #endif @@ -2831,7 +2831,7 @@ void Compiler::fgInitArgInfo(GenTreeCall* call) call->gtCallType = CT_HELPER; call->gtCallMethHnd = eeFindHelper(CORINFO_HELP_PINVOKE_CALLI); } -#if defined(FEATURE_READYTORUN_COMPILER) && defined(TARGET_ARMARCH) +#if defined(FEATURE_READYTORUN) && defined(TARGET_ARMARCH) // For arm, we dispatch code same as VSD using virtualStubParamInfo->GetReg() // for indirection cell address, which ZapIndirectHelperThunk expects. if (call->IsR2RRelativeIndir()) @@ -2859,7 +2859,7 @@ void Compiler::fgInitArgInfo(GenTreeCall* call) nonStandardArgs.Add(indirectCellAddress, indirectCellAddress->GetRegNum()); } -#endif // FEATURE_READYTORUN_COMPILER && TARGET_ARMARCH +#endif // FEATURE_READYTORUN && TARGET_ARMARCH // Allocate the fgArgInfo for the call node; // @@ -6236,7 +6236,7 @@ GenTree* Compiler::fgMorphField(GenTree* tree, MorphAddrContext* mac) // See GitHub issue #16454. bool fieldHasChangeableOffset = false; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN fieldHasChangeableOffset = (tree->AsField()->gtFieldLookup.addr != nullptr); #endif @@ -6307,7 +6307,7 @@ GenTree* Compiler::fgMorphField(GenTree* tree, MorphAddrContext* mac) addr = objRef; } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (tree->AsField()->gtFieldLookup.addr != nullptr) { GenTree* offsetNode = nullptr; @@ -9213,7 +9213,7 @@ GenTree* Compiler::fgMorphCall(GenTreeCall* call) if ((call->gtCallMoreFlags & GTF_CALL_M_SPECIAL_INTRINSIC) == 0 && (call->gtCallMethHnd == eeFindHelper(CORINFO_HELP_VIRTUAL_FUNC_PTR) -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN || call->gtCallMethHnd == eeFindHelper(CORINFO_HELP_READYTORUN_VIRTUAL_FUNC_PTR) #endif ) && @@ -9767,7 +9767,7 @@ GenTree* Compiler::fgMorphLeaf(GenTree* tree) { CORINFO_CONST_LOOKUP addrInfo; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (tree->AsFptrVal()->gtEntryPoint.addr != nullptr) { addrInfo = tree->AsFptrVal()->gtEntryPoint; @@ -16395,7 +16395,7 @@ GenTree* Compiler::fgInitThisClass() } else { -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN // Only CoreRT understands CORINFO_HELP_READYTORUN_GENERIC_STATIC_BASE. Don't do this on CoreCLR. if (opts.IsReadyToRun() && IsTargetAbi(CORINFO_CORERT_ABI)) { diff --git a/src/coreclr/jit/objectalloc.cpp b/src/coreclr/jit/objectalloc.cpp index 720ec2585c4d61..21ed4646e37b25 100644 --- a/src/coreclr/jit/objectalloc.cpp +++ b/src/coreclr/jit/objectalloc.cpp @@ -456,7 +456,7 @@ GenTree* ObjectAllocator::MorphAllocObjNodeIntoHelperCall(GenTreeAllocObj* alloc bool helperHasSideEffects = allocObj->gtHelperHasSideEffects; GenTreeCall::Use* args; -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN CORINFO_CONST_LOOKUP entryPoint = allocObj->gtEntryPoint; if (helper == CORINFO_HELP_READYTORUN_NEW) { @@ -475,7 +475,7 @@ GenTree* ObjectAllocator::MorphAllocObjNodeIntoHelperCall(GenTreeAllocObj* alloc helperCall->AsCall()->gtCallMoreFlags |= GTF_CALL_M_ALLOC_SIDE_EFFECTS; } -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (entryPoint.addr != nullptr) { assert(comp->opts.IsReadyToRun()); diff --git a/src/coreclr/jit/rationalize.cpp b/src/coreclr/jit/rationalize.cpp index ede632657f8cc5..c77a484df4250f 100644 --- a/src/coreclr/jit/rationalize.cpp +++ b/src/coreclr/jit/rationalize.cpp @@ -201,7 +201,7 @@ void Rationalizer::RewriteSIMDIndir(LIR::Use& use) void Rationalizer::RewriteNodeAsCall(GenTree** use, ArrayStack& parents, CORINFO_METHOD_HANDLE callHnd, -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN CORINFO_CONST_LOOKUP entryPoint, #endif GenTreeCall::Use* args) @@ -221,7 +221,7 @@ void Rationalizer::RewriteNodeAsCall(GenTree** use, assert(JITtype2varType(sig.retType) == tree->gtType); #endif // DEBUG -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN call->AsCall()->setEntryPoint(entryPoint); #endif @@ -285,7 +285,7 @@ void Rationalizer::RewriteIntrinsicAsUserCall(GenTree** use, ArrayStackgtMethodHandle, -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN intrinsic->gtEntryPoint, #endif args); diff --git a/src/coreclr/jit/rationalize.h b/src/coreclr/jit/rationalize.h index 6fe51c8cee436a..cbcbbfef070368 100644 --- a/src/coreclr/jit/rationalize.h +++ b/src/coreclr/jit/rationalize.h @@ -46,7 +46,7 @@ class Rationalizer final : public Phase void RewriteNodeAsCall(GenTree** use, ArrayStack& parents, CORINFO_METHOD_HANDLE callHnd, -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN CORINFO_CONST_LOOKUP entryPoint, #endif GenTreeCall::Use* args); diff --git a/src/coreclr/jit/valuenum.cpp b/src/coreclr/jit/valuenum.cpp index 0e924073112cda..b76ed0389cba34 100644 --- a/src/coreclr/jit/valuenum.cpp +++ b/src/coreclr/jit/valuenum.cpp @@ -9521,7 +9521,7 @@ void Compiler::fgValueNumberHelperCallFunc(GenTreeCall* call, VNFunc vnf, ValueN vnpUniq.SetBoth(vnStore->VNForExpr(compCurBB, call->TypeGet())); } -#if defined(FEATURE_READYTORUN_COMPILER) && defined(TARGET_ARMARCH) +#if defined(FEATURE_READYTORUN) && defined(TARGET_ARMARCH) if (call->IsR2RRelativeIndir()) { #ifdef DEBUG @@ -9536,7 +9536,7 @@ void Compiler::fgValueNumberHelperCallFunc(GenTreeCall* call, VNFunc vnf, ValueN // in morph. So we do not need to use EntryPointAddrAsArg0, because arg0 is already an entry point addr. useEntryPointAddrAsArg0 = false; } -#endif // FEATURE_READYTORUN_COMPILER && TARGET_ARMARCH +#endif // FEATURE_READYTORUN && TARGET_ARMARCH if (nArgs == 0) { @@ -9572,7 +9572,7 @@ void Compiler::fgValueNumberHelperCallFunc(GenTreeCall* call, VNFunc vnf, ValueN // Has at least one argument. ValueNumPair vnp0; ValueNumPair vnp0x = ValueNumStore::VNPForEmptyExcSet(); -#ifdef FEATURE_READYTORUN_COMPILER +#ifdef FEATURE_READYTORUN if (useEntryPointAddrAsArg0) { ssize_t addrValue = (ssize_t)call->gtEntryPoint.addr; @@ -9580,7 +9580,7 @@ void Compiler::fgValueNumberHelperCallFunc(GenTreeCall* call, VNFunc vnf, ValueN vnp0 = ValueNumPair(callAddrVN, callAddrVN); } else -#endif // FEATURE_READYTORUN_COMPILER +#endif // FEATURE_READYTORUN { assert(!useEntryPointAddrAsArg0); ValueNumPair vnp0wx = getCurrentArg(0)->gtVNPair;