Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions src/coreclr/jit/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
8 changes: 4 additions & 4 deletions src/coreclr/jit/codegenarmarch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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());

Expand All @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/jit/codegenxarch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/jit/compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -9301,7 +9301,7 @@ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
return !!(compFlags & optFlag);
}

#ifdef FEATURE_READYTORUN_COMPILER
#ifdef FEATURE_READYTORUN
bool IsReadyToRun()
{
return jitFlags->IsSet(JitFlags::JIT_FLAG_READYTORUN);
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/jit/compiler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/jit/fgprofile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/jit/flowgraph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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))
Expand Down
22 changes: 11 additions & 11 deletions src/coreclr/jit/gentree.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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())
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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
}
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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;
Expand Down
24 changes: 12 additions & 12 deletions src/coreclr/jit/gentree.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
}
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand All @@ -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
{
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand All @@ -6834,7 +6834,7 @@ struct GenTreeAllocObj final : public GenTreeUnOp
, gtHelperHasSideEffects(helperHasSideEffects)
, gtAllocObjClsHnd(clsHnd)
{
#ifdef FEATURE_READYTORUN_COMPILER
#ifdef FEATURE_READYTORUN
gtEntryPoint.addr = nullptr;
#endif
}
Expand Down
Loading