1 write to _compilation
ILCompiler.RyuJit (1)
JitInterface\CorInfoImpl.RyuJit.cs (1)
46
_compilation
= compilation;
187 references to _compilation
ILCompiler.RyuJit (187)
JitInterface\CorInfoImpl.RyuJit.cs (114)
59
MethodDesc asyncResumptionStub =
_compilation
.TypeSystemContext.GetAsyncResumptionStub(MethodBeingCompiled,
_compilation
.TypeSystemContext.GeneratedAssembly.GetGlobalModuleType());
61
entryPoint = (void*)ObjectToHandle(
_compilation
.NodeFactory.MethodEntrypoint(asyncResumptionStub));
70
methodIL ??=
_compilation
.GetMethodIL(MethodBeingCompiled);
89
IEETypeNode expectedeetype =
_compilation
.NecessaryTypeSymbolIfPossible(eetype.Type);
263
if (
_compilation
.NeedsRuntimeLookup(helperId, entity))
265
GenericDictionaryLookup genericLookup =
_compilation
.ComputeGenericLookup(callerHandle, helperId, entity);
319
ISymbolNode constLookup =
_compilation
.ComputeConstantLookup(helperId, entity);
342
pLookup = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ReadyToRunHelper(helperId, type));
412
targetOfLookup =
_compilation
.TypeSystemContext.GetMethodForRuntimeDeterminedType(directMethod.GetTypicalMethodDefinition(), (RuntimeDeterminedType)constrainedType);
414
targetOfLookup =
_compilation
.TypeSystemContext.GetMethodForInstantiatedType(directMethod.GetTypicalMethodDefinition(), (InstantiatedType)constrainedType);
438
DelegateCreationInfo delegateInfo =
_compilation
.GetDelegateCtor(delegateTypeDesc, targetMethod, constrainedType, isLdvirtftn);
461
pLookup.constLookup = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelperId.DelegateCtor, delegateInfo));
612
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpNewFast"u8));
614
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpNewFinalizable"u8));
616
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpNewFastAlign8"u8));
618
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpNewFinalizableAlign8"u8));
620
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpNewFastMisalign"u8));
625
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpNewPtrArrayFast"u8));
627
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpNewArrayFastAlign8"u8));
629
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpNewArrayFast"u8));
632
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpStackProbe"u8));
635
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpGcPoll"u8));
770
return
_compilation
.NodeFactory.MethodEntrypoint(
_compilation
.NodeFactory.TypeSystemContext.GetCoreLibEntryPoint("System"u8, "Type"u8, "GetTypeFromMethodTable"u8, null));
772
return
_compilation
.NodeFactory.MethodEntrypoint(
_compilation
.NodeFactory.TypeSystemContext.GetCoreLibEntryPoint("Internal.Runtime.CompilerHelpers"u8, "SharedCodeHelpers"u8, "GetClassHandleFromMethodParam"u8, null));
778
if ((
_compilation
._compilationOptions & RyuJitCompilationOptions.ControlFlowGuardAnnotations) != 0
780
&&
_compilation
.NodeFactory.TypeSystemContext.Target.Architecture != TargetArchitecture.X86)
781
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpInterfaceDispatchGuarded"u8));
782
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpInterfaceDispatch"u8));
784
return
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("RhpResolveInterfaceMethodFast"u8));
801
return
_compilation
.NodeFactory.ExternIndirectFunctionSymbol(new Utf8String("__guard_check_icall_fptr"u8));
803
return
_compilation
.NodeFactory.ExternIndirectFunctionSymbol(new Utf8String("__guard_dispatch_icall_fptr"u8));
811
JitHelper.GetEntryPoint(
_compilation
.TypeSystemContext, id, out mangledName, out methodDesc);
816
entryPoint =
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String(mangledName));
818
entryPoint =
_compilation
.NodeFactory.MethodEntrypoint(methodDesc);
835
pResult = CreateConstLookupToSymbol(
_compilation
.NodeFactory.MethodEntrypoint(method));
876
stringObject =
_compilation
.NodeFactory.SerializedStringObject("");
881
stringObject =
_compilation
.NodeFactory.SerializedStringObject((string)literal);
971
var typeSymbol =
_compilation
.NecessaryTypeSymbolIfPossible(type);
973
RelocType rel = (
_compilation
.NodeFactory.Target.IsWindows) ?
1076
_debugInfo =
_compilation
.GetDebugInfo(methodIL);
1084
return
_compilation
.NodeFactory.ReadyToRunHelperFromTypeLookup(helperId, helperArgument, callerHandle.OwningType);
1088
return
_compilation
.NodeFactory.ReadyToRunHelperFromDictionaryLookup(helperId, helperArgument, callerHandle);
1108
||
_compilation
.TypeSystemContext.IsGenericArrayInterfaceType(type))
1182
if (elementType.GetElementSize().AsInt ==
_compilation
.TypeSystemContext.Target.PointerSize)
1202
_compilation
.DetectGenericCycles(methodIL.OwningMethod, method);
1205
return
_compilation
.NodeFactory.MethodEntrypointOrTentativeMethod(method, isUnboxingThunk);
1292
_compilation
.NodeFactory.MetadataManager.NoteOverridingMethod(method, directMethod);
1380
canDevirt =
_compilation
.IsEffectivelySealed(targetMethod);
1427
lookupMethod =
_compilation
.TypeSystemContext.GetMethodForRuntimeDeterminedType(targetMethod.GetTypicalMethodDefinition(), (RuntimeDeterminedType)runtimeDeterminedConstrainedType);
1429
lookupMethod =
_compilation
.TypeSystemContext.GetMethodForInstantiatedType(targetMethod.GetTypicalMethodDefinition(), (InstantiatedType)runtimeDeterminedConstrainedType);
1478
CreateConstLookupToSymbol(
_compilation
.NodeFactory.FatFunctionPointer(targetMethod));
1491
targetMethod =
_compilation
.ExpandIntrinsicForCallsite(targetMethod, methodIL.OwningMethod);
1506
_compilation
.NodeFactory.StringAllocator(targetMethod)
1542
instParam =
_compilation
.NodeFactory.MethodGenericDictionary(concreteMethod);
1547
instParam =
_compilation
.NodeFactory.ConstructedTypeSymbol(concreteMethod.OwningType);
1584
if (!
_compilation
.NeedsRuntimeLookup(constrainedHelperId, constrainedCallInfo))
1604
MethodDesc targetOfLookup =
_compilation
.GetTargetOfGenericVirtualMethodCall((MethodDesc)GetRuntimeDeterminedObjectForToken(ref pResolvedToken));
1606
_compilation
.DetectGenericCycles(
1641
_compilation
.NodeFactory.InterfaceDispatchCell(targetMethod
1670
pResult->codePointerOrStubLookup.constLookup = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("NYI_LDVIRTFTN"u8)));
1684
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelperId.ResolveVirtualFunction, slotDefiningMethod));
1714
ISymbolNode typeHandleSymbol =
_compilation
.NecessaryTypeSymbolIfPossible(type);
1820
DictionaryLayoutNode contextLayout =
_compilation
.NodeFactory.GenericDictionaryLayout(
1829
helperId =
_compilation
.GetLdTokenHelperForType(td);
1846
RuntimeMethodHandleNode methodHandleSymbol =
_compilation
.NodeFactory.RuntimeMethodHandle(method);
1864
int pointerSize =
_compilation
.TypeSystemContext.Target.PointerSize;
1870
Debug.Assert(!methodDesc.CanMethodBeInSealedVTable(
_compilation
.NodeFactory));
1877
int slot = VirtualMethodSlotHelper.GetVirtualMethodSlot(
_compilation
.NodeFactory, methodDesc, owningType);
1883
if (
_compilation
.NeedsSlotUseTracking(owningType))
1884
(_additionalDependencies ??= new ILCompiler.DependencyAnalysisFramework.DependencyNodeCore<NodeFactory>.DependencyList()).Add(
_compilation
.NodeFactory.VirtualMethodUse(methodDesc), "Virtual method call");
1937
Utf8String externName = new Utf8String(
_compilation
.PInvokeILProvider.GetDirectCallExternName(md));
1938
externName =
_compilation
.NodeFactory.NameMangler.NodeMangler.ExternMethod(externName, md);
1940
pLookup = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ExternFunctionSymbol(externName));
1947
*ppCookieVal = (IntPtr*)ObjectToHandle(
_compilation
.NodeFactory.ExternVariable(new Utf8String("__security_cookie"u8)));
1964
MethodDesc stub =
_compilation
.PInvokeILProvider.GetCalliStub(
1980
if (
_compilation
.HasLazyStaticConstructor(owningType) && !((MetadataType)owningType).IsBeforeFieldInit)
2000
MethodDesc stub =
_compilation
.PInvokeILProvider.GetCalliStub(
2013
if (
_compilation
.GetMethodIL(method) is Internal.IL.Stubs.PInvokeILStubMethodIL stub)
2037
if (
_compilation
.TypeSystemContext.Target.Architecture == TargetArchitecture.ARM)
2083
return (int*)ObjectToHandle(
_compilation
.NodeFactory.ExternVariable(new Utf8String("RhpTrapThreads"u8)));
2107
fieldOffset +=
_compilation
.NodeFactory.ThreadStaticBaseOffset(mt);
2121
ISymbolNode node =
_compilation
.GetFieldRvaData(field);
2126
if (
_compilation
.HasLazyStaticConstructor(field.OwningType))
2161
helper =
_compilation
.NodeFactory.ReadyToRunHelperFromTypeLookup(
2167
helper =
_compilation
.NodeFactory.ReadyToRunHelperFromDictionaryLookup(
2193
ISortableSymbolNode index =
_compilation
.NodeFactory.TypeThreadStaticIndex(field.OwningType);
2199
if (
_compilation
.HasLazyStaticConstructor(field.OwningType))
2210
else if (!
_compilation
.HasLazyStaticConstructor(field.OwningType))
2217
baseAddr =
_compilation
.NodeFactory.TypeGCStaticsSymbol(field.OwningType);
2222
baseAddr =
_compilation
.NodeFactory.TypeNonGCStaticsSymbol(field.OwningType);
2243
_compilation
.NodeFactory.ReadyToRunHelper(helperId, field.OwningType));
2252
if (
_compilation
.IsInitOnly(field))
2276
if (
_compilation
.TypeSystemContext.IsArrayVariantCastable(type))
2283
return !
_compilation
.CanReferenceConstructedTypeOrCanonicalFormOfType(type)
2284
&& (type == canonType || !
_compilation
.CanReferenceConstructedMethodTable(canonType));
2306
if (
_compilation
.IsEffectivelySealed(type))
2312
TypeDesc[] implClasses =
_compilation
.GetImplementingClasses(type);
2340
if (!field.IsThreadStatic &&
_compilation
.IsInitOnly(field) && field.OwningType is MetadataType owningType)
2347
PreinitializationManager preinitManager =
_compilation
.NodeFactory.PreinitializationManager;
2353
int targetPtrSize =
_compilation
.TypeSystemContext.Target.PointerSize;
2369
if (value.GetRawData(
_compilation
.NodeFactory, out object data))
2418
int strDataOffset =
_compilation
.TypeSystemContext.Target.PointerSize + sizeof(int); // 12 on 64bit
2445
return ObjectToHandle(
_compilation
.NecessaryRuntimeTypeIfPossible(type));
2471
addr.addr = (void*)ObjectToHandle(
_compilation
.NodeFactory.TypeNonGCStaticsSymbol(type));
2473
offset = -NonGCStaticsNode.GetClassConstructorContextSize(
_compilation
.NodeFactory.Target);
2483
addr.addr = (void*)ObjectToHandle(
_compilation
.NodeFactory.TypeGCStaticsSymbol(type));
2488
addr.addr = (void*)ObjectToHandle(
_compilation
.NodeFactory.TypeNonGCStaticsSymbol(type));
2496
pInfo->tlsIndexObject = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ExternDataSymbol(new Utf8String("_tls_index"u8)));
2497
pInfo->tlsRootObject = CreateConstLookupToSymbol(
_compilation
.NodeFactory.TlsRoot);
2498
pInfo->threadStaticBaseSlow = CreateConstLookupToSymbol(
_compilation
.NodeFactory.HelperEntrypoint(HelperEntrypoint.GetInlinedThreadStaticBaseSlow));
2499
pInfo->tlsGetAddrFtnPtr = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ExternFunctionSymbol(new Utf8String("__tls_get_addr"u8)));
src\runtime\src\coreclr\tools\Common\JitInterface\CorInfoImpl.cs (73)
189
return
_compilation
.Logger;
412
if (
_compilation
.TypeSystemContext.Target.Architecture != TargetArchitecture.ARM64
413
&&
_compilation
.TypeSystemContext.Target.Architecture != TargetArchitecture.LoongArch64
414
&&
_compilation
.TypeSystemContext.Target.Architecture != TargetArchitecture.RiscV64)
451
_compilation
.NodeFactory.Target.MinimumFunctionAlignment :
452
_compilation
.NodeFactory.Target.OptimumFunctionAlignment;
580
CodeBasedDependencyAlgorithm.AddDependenciesDueToMethodCodePresence(ref _additionalDependencies,
_compilation
.NodeFactory, MethodBeingCompiled, methodIL);
640
return
_compilation
.TypeSystemContext.Target.PointerSize;
998
if (
_compilation
.TypeSystemContext.Target.Architecture == TargetArchitecture.X86)
1108
if (
_compilation
.IsEffectivelySealed(method.GetUnboxedMethod()))
1113
if (
_compilation
.IsEffectivelySealed(method))
1227
method =
_compilation
.TypeSystemContext.GetMethodForInstantiatedType(method.GetTypicalMethodDefinition(), (InstantiatedType)type);
1253
MethodDesc instantiatedMethod =
_compilation
.TypeSystemContext.GetMethodForInstantiatedType(method.GetTypicalMethodDefinition(), instantiatedCtxType);
1256
instantiatedMethod =
_compilation
.TypeSystemContext.GetInstantiatedMethod(instantiatedMethod, method.Instantiation);
1265
if (!
_compilation
.CanInline(MethodBeingCompiled, method))
1269
MethodIL methodIL = method.IsUnboxingThunk() ? null :
_compilation
.GetMethodIL(method);
1298
var calleeIL =
_compilation
.GetMethodIL(calleeMethod);
1307
if (
_compilation
.CanInline(callerMethod, calleeMethod))
1331
var methodIL =
_compilation
.GetMethodIL(HandleToObject(ftn));
1377
decl =
_compilation
.TypeSystemContext.GetMethodForInstantiatedType(decl.GetTypicalMethodDefinition(), (InstantiatedType)ownerTypeDesc);
1381
MethodDesc originalImpl =
_compilation
.ResolveVirtualMethod(decl, objType, out info->detail);
1520
MethodILScope scope = jitInterface.
_compilation
.GetMethodIL(methodWithToken.Method);
1580
MetadataType placeholderType =
_compilation
.TypeSystemContext.SystemModule.GetType("System"u8, "SZGenericArrayEnumerator`1"u8, throwIfNotFound: false);
1784
result =
_compilation
.TypeSystemContext.GetAsyncVariantMethod((MethodDesc)result);
1859
_compilation
.TypeSystemContext.EnsureLoadableMethod(method);
1872
_compilation
.NodeFactory.MetadataManager.GetDependenciesDueToAccess(ref _additionalDependencies,
_compilation
.NodeFactory, (MethodIL)methodIL, method);
1878
?
_compilation
.TypeSystemContext.GetAsyncVariantMethod(method)
1909
_compilation
.TypeSystemContext.EnsureLoadableType(owningClass);
1913
_compilation
.NodeFactory.MetadataManager.GetDependenciesDueToAccess(ref _additionalDependencies,
_compilation
.NodeFactory, (MethodIL)methodIL, field);
1940
_compilation
.TypeSystemContext.EnsureLoadableType(type);
1986
if (
_compilation
.IsFatPointerCandidate(methodIL.OwningMethod, methodSig))
2015
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(result));
2183
if (
_compilation
.IsEffectivelySealed(type))
2762
!
_compilation
.HasLazyStaticConstructor(type)
2862
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.Object));
2865
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.TypedReference));
2868
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.RuntimeTypeHandle));
2871
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.RuntimeFieldHandle));
2874
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.RuntimeMethodHandle));
2877
ThrowHelper.ThrowTypeLoadException("System", "RuntimeArgumentHandle",
_compilation
.TypeSystemContext.SystemModule);
2881
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.String));
2884
return ObjectToHandle(
_compilation
.TypeSystemContext.SystemModule.GetKnownType("System"u8, "RuntimeType"u8));
3079
return
_compilation
.IsEffectivelySealed(type);
3193
return (void*)ObjectToHandle(
_compilation
.GetFieldRvaData(fd));
3459
if (
_compilation
.NodeFactory.Target.IsWasm)
3464
else if (
_compilation
.NodeFactory.Target.IsWindows)
3474
pEEInfoOut.osType = TargetToOs(
_compilation
.NodeFactory.Target);
3479
DefType continuation =
_compilation
.TypeSystemContext.ContinuationType;
3485
DefType asyncHelpers =
_compilation
.TypeSystemContext.SystemModule.GetKnownType("System.Runtime.CompilerServices"u8, "AsyncHelpers"u8);
3511
CompilerTypeSystemContext context =
_compilation
.TypeSystemContext;
3559
return ObjectToHandle(
_compilation
.TypeSystemContext.GetContinuationType(gcMapBuilder.ToGCMap()));
3709
HandleToObject(structHnd),
_compilation
.TypeSystemContext.Target.Architecture);
3990
=> (chunk.flags & CorJitAllocMemFlag.CORJIT_ALLOCMEM_HAS_POINTERS_TO_CODE) != 0 && !
_compilation
.TypeSystemContext.Target.IsWindows;
4129
var target =
_compilation
.TypeSystemContext.Target;
4397
switch (
_compilation
.TypeSystemContext.Target.Architecture)
4414
TargetArchitecture arch =
_compilation
.TypeSystemContext.Target.Architecture;
4481
return owningMetadataType.Module ==
_compilation
.TypeSystemContext.SystemModule;
4490
flags.InstructionSetFlags.Add(
_compilation
.InstructionSetSupport.OptimisticFlags);
4500
TargetArchitecture targetArchitecture =
_compilation
.TypeSystemContext.Target.Architecture;
4507
Debug.Assert(
_compilation
.InstructionSetSupport.IsInstructionSetSupported(InstructionSet.X86_X86Base));
4511
Debug.Assert(
_compilation
.InstructionSetSupport.IsInstructionSetSupported(InstructionSet.ARM64_AdvSimd));
4515
if (targetArchitecture == TargetArchitecture.ARM && !
_compilation
.TypeSystemContext.Target.IsWindows)
4567
|| (
_compilation
.TypeSystemContext.IsSpecialUnboxingThunk(this.MethodBeingCompiled) &&
_compilation
.TypeSystemContext.GetTargetOfSpecialUnboxingThunk(this.MethodBeingCompiled).IsAsyncCall())
4568
|| (
_compilation
.TypeSystemContext.IsDefaultInterfaceMethodImplementationInstantiationThunk(this.MethodBeingCompiled) &&
_compilation
.TypeSystemContext.GetTargetOfDefaultInterfaceMethodImplementationInstantiationThunk(this.MethodBeingCompiled).IsAsyncCall())
4676
PgoSchemaElem[] pgoResultsSchemas =
_compilation
.ProfileData[methodDesc]?.SchemaData;
4687
,
_compilation
.CanReferenceConstructedMethodTable
4782
instructionSet = InstructionSetFlags.ConvertToImpliedInstructionSetForVectorInstructionSets(
_compilation
.TypeSystemContext.Target.Architecture, instructionSet);
4784
Debug.Assert(!
_compilation
.InstructionSetSupport.NonSpecifiableFlags.HasInstructionSet(instructionSet));
4786
return supportEnabled ?
_compilation
.InstructionSetSupport.IsInstructionSetSupported(instructionSet) : false;