1 write to _compilation
ILCompiler.RyuJit (1)
JitInterface\CorInfoImpl.RyuJit.cs (1)
46
_compilation
= compilation;
195 references to _compilation
ILCompiler.RyuJit (195)
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);
281
if (
_compilation
.NeedsRuntimeLookup(helperId, entity))
283
GenericDictionaryLookup genericLookup =
_compilation
.ComputeGenericLookup(callerHandle, helperId, entity);
337
ISymbolNode constLookup =
_compilation
.ComputeConstantLookup(helperId, entity);
360
pLookup = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ReadyToRunHelper(helperId, type));
435
targetOfLookup =
_compilation
.TypeSystemContext.GetMethodForRuntimeDeterminedType(directMethod.GetTypicalMethodDefinition(), (RuntimeDeterminedType)constrainedType);
437
targetOfLookup =
_compilation
.TypeSystemContext.GetMethodForInstantiatedType(directMethod.GetTypicalMethodDefinition(), (InstantiatedType)constrainedType);
461
DelegateCreationInfo delegateInfo =
_compilation
.GetDelegateCtor(delegateTypeDesc, targetMethod, constrainedType, isLdvirtftn);
484
pLookup.constLookup = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelperId.DelegateCtor, delegateInfo));
640
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewFast);
642
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewFinalizable);
644
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewFastAlign8);
646
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewFinalizableAlign8);
648
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewFastMisalign);
653
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewPtrArrayFast);
655
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewArrayFastAlign8);
657
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewArrayFast);
660
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.StackProbe);
663
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.GCPoll);
798
return
_compilation
.NodeFactory.MethodEntrypoint(
_compilation
.NodeFactory.TypeSystemContext.GetCoreLibEntryPoint("System"u8, "Type"u8, "GetTypeFromMethodTable"u8, null));
800
return
_compilation
.NodeFactory.MethodEntrypoint(
_compilation
.NodeFactory.TypeSystemContext.GetCoreLibEntryPoint("Internal.Runtime.CompilerHelpers"u8, "SharedCodeHelpers"u8, "GetClassHandleFromMethodParam"u8, null));
806
if ((
_compilation
._compilationOptions & RyuJitCompilationOptions.ControlFlowGuardAnnotations) != 0
808
&&
_compilation
.NodeFactory.TypeSystemContext.Target.Architecture != TargetArchitecture.X86)
809
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.InterfaceDispatchGuarded);
810
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.InterfaceDispatch);
812
if (
_compilation
.TypeSystemContext.Target.Architecture == TargetArchitecture.Wasm32)
813
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.ResolveInterfaceMethod);
814
return
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.ResolveInterfaceMethodFast);
825
return
_compilation
.NodeFactory.ExternIndirectFunctionSymbol(new Utf8String("__guard_check_icall_fptr"u8));
827
return
_compilation
.NodeFactory.ExternIndirectFunctionSymbol(new Utf8String("__guard_dispatch_icall_fptr"u8));
833
MethodDesc methodDesc = JitHelper.GetEntryPoint(
_compilation
.TypeSystemContext, id);
836
?
_compilation
.NodeFactory.ReadyToRunHelper(id)
837
:
_compilation
.NodeFactory.MethodEntrypoint(methodDesc);
852
pResult = CreateConstLookupToSymbol(
_compilation
.NodeFactory.MethodEntrypoint(method));
862
stringObject =
_compilation
.NodeFactory.SerializedStringObject("");
867
stringObject =
_compilation
.NodeFactory.SerializedStringObject((string)literal);
957
var typeSymbol =
_compilation
.NecessaryTypeSymbolIfPossible(type);
959
RelocType rel = (
_compilation
.NodeFactory.Target.IsWindows) ?
1062
_debugInfo =
_compilation
.GetDebugInfo(methodIL);
1070
return
_compilation
.NodeFactory.ReadyToRunHelperFromTypeLookup(helperId, helperArgument, callerHandle.OwningType);
1074
return
_compilation
.NodeFactory.ReadyToRunHelperFromDictionaryLookup(helperId, helperArgument, callerHandle);
1094
||
_compilation
.TypeSystemContext.IsGenericArrayInterfaceType(type))
1168
if (elementType.GetElementSize().AsInt ==
_compilation
.TypeSystemContext.Target.PointerSize)
1188
_compilation
.DetectGenericCycles(methodIL.OwningMethod, method);
1191
return
_compilation
.NodeFactory.MethodEntrypointOrTentativeMethod(method, isUnboxingThunk);
1278
_compilation
.NodeFactory.MetadataManager.NoteOverridingMethod(method, directMethod);
1366
canDevirt =
_compilation
.IsEffectivelySealed(targetMethod);
1413
lookupMethod =
_compilation
.TypeSystemContext.GetMethodForRuntimeDeterminedType(targetMethod.GetTypicalMethodDefinition(), (RuntimeDeterminedType)runtimeDeterminedConstrainedType);
1415
lookupMethod =
_compilation
.TypeSystemContext.GetMethodForInstantiatedType(targetMethod.GetTypicalMethodDefinition(), (InstantiatedType)runtimeDeterminedConstrainedType);
1475
CreateConstLookupToSymbol(
_compilation
.NodeFactory.FatFunctionPointer(targetMethod));
1488
targetMethod =
_compilation
.ExpandIntrinsicForCallsite(targetMethod, methodIL.OwningMethod);
1503
_compilation
.NodeFactory.StringAllocator(targetMethod)
1539
instParam =
_compilation
.NodeFactory.MethodGenericDictionary(concreteMethod);
1544
instParam =
_compilation
.NodeFactory.ConstructedTypeSymbol(concreteMethod.OwningType);
1581
if (!
_compilation
.NeedsRuntimeLookup(constrainedHelperId, constrainedCallInfo))
1601
MethodDesc targetOfLookup =
_compilation
.GetTargetOfGenericVirtualMethodCall((MethodDesc)GetRuntimeDeterminedObjectForToken(ref pResolvedToken));
1603
_compilation
.DetectGenericCycles(
1623
_compilation
.NodeFactory.DispatchCell(targetOfLookup
1638
||
_compilation
.TypeSystemContext.Target.Architecture == TargetArchitecture.Wasm32))
1640
bool isWasm =
_compilation
.TypeSystemContext.Target.Architecture == TargetArchitecture.Wasm32;
1661
_compilation
.NodeFactory.DispatchCell(targetMethod
1705
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelperId.ResolveVirtualFunction, slotDefiningMethod));
1735
ISymbolNode typeHandleSymbol =
_compilation
.NecessaryTypeSymbolIfPossible(type);
1841
DictionaryLayoutNode contextLayout =
_compilation
.NodeFactory.GenericDictionaryLayout(
1850
helperId =
_compilation
.GetLdTokenHelperForType(td);
1867
RuntimeMethodHandleNode methodHandleSymbol =
_compilation
.NodeFactory.RuntimeMethodHandle(method);
1885
int pointerSize =
_compilation
.TypeSystemContext.Target.PointerSize;
1891
Debug.Assert(!methodDesc.CanMethodBeInSealedVTable(
_compilation
.NodeFactory));
1898
int slot = VirtualMethodSlotHelper.GetVirtualMethodSlot(
_compilation
.NodeFactory, methodDesc, owningType);
1904
if (
_compilation
.NeedsSlotUseTracking(owningType))
1905
_additionalDependencies.Add(
_compilation
.NodeFactory.VirtualMethodUse(methodDesc), "Virtual method call");
1957
pLookup = CreateConstLookupToSymbol(
_compilation
.NodeFactory.DirectPInvokeTarget(md));
1964
*ppCookieVal = (IntPtr*)ObjectToHandle(
_compilation
.NodeFactory.ExternVariable(new Utf8String("__security_cookie"u8)));
1997
if (
_compilation
.HasLazyStaticConstructor(owningType) && !((MetadataType)owningType).IsBeforeFieldInit)
2017
MethodDesc stub =
_compilation
.PInvokeILProvider.GetCalliStub(
2030
if (
_compilation
.GetMethodIL(method) is Internal.IL.Stubs.PInvokeILStubMethodIL stub)
2054
if (
_compilation
.TypeSystemContext.Target.Architecture == TargetArchitecture.ARM)
2094
return (int*)ObjectToHandle(
_compilation
.NodeFactory.ExternVariable(new Utf8String("RhpTrapThreads"u8)));
2118
fieldOffset +=
_compilation
.NodeFactory.ThreadStaticBaseOffset(mt);
2132
ISymbolNode node =
_compilation
.GetFieldRvaData(field);
2137
if (
_compilation
.HasLazyStaticConstructor(field.OwningType))
2172
helper =
_compilation
.NodeFactory.ReadyToRunHelperFromTypeLookup(
2178
helper =
_compilation
.NodeFactory.ReadyToRunHelperFromDictionaryLookup(
2204
ISortableSymbolNode index =
_compilation
.NodeFactory.TypeThreadStaticIndex(field.OwningType);
2210
if (
_compilation
.HasLazyStaticConstructor(field.OwningType))
2228
baseAddr =
_compilation
.NodeFactory.TypeGCStaticsSymbol(field.OwningType);
2233
baseAddr =
_compilation
.NodeFactory.TypeNonGCStaticsSymbol(field.OwningType);
2237
if (
_compilation
.HasLazyStaticConstructor(field.OwningType))
2246
_compilation
.NodeFactory.ReadyToRunHelper(helperId, field.OwningType));
2255
if (
_compilation
.IsInitOnly(field))
2279
if (
_compilation
.TypeSystemContext.IsArrayVariantCastable(type))
2286
return !
_compilation
.CanReferenceConstructedTypeOrCanonicalFormOfType(type)
2287
&& (type == canonType || !
_compilation
.CanReferenceConstructedMethodTable(canonType));
2309
if (
_compilation
.IsEffectivelySealed(type))
2315
TypeDesc[] implClasses =
_compilation
.GetImplementingClasses(type);
2343
if (!field.IsThreadStatic &&
_compilation
.IsInitOnly(field) && field.OwningType is MetadataType owningType)
2350
PreinitializationManager preinitManager =
_compilation
.NodeFactory.PreinitializationManager;
2356
int targetPtrSize =
_compilation
.TypeSystemContext.Target.PointerSize;
2372
if (value.GetRawData(
_compilation
.NodeFactory, out object data))
2421
int strDataOffset =
_compilation
.TypeSystemContext.Target.PointerSize + sizeof(int); // 12 on 64bit
2448
return ObjectToHandle(
_compilation
.NecessaryRuntimeTypeIfPossible(type));
2474
addr.addr = (void*)ObjectToHandle(
_compilation
.NodeFactory.TypeNonGCStaticsSymbol(type));
2476
offset = -NonGCStaticsNode.GetClassConstructorContextSize(
_compilation
.NodeFactory.Target);
2486
addr.addr = (void*)ObjectToHandle(
_compilation
.NodeFactory.TypeGCStaticsSymbol(type));
2491
addr.addr = (void*)ObjectToHandle(
_compilation
.NodeFactory.TypeNonGCStaticsSymbol(type));
2499
pInfo->tlsIndexObject = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ExternDataSymbol(new Utf8String("_tls_index"u8)));
2500
pInfo->tlsRootObject = CreateConstLookupToSymbol(
_compilation
.NodeFactory.TlsRoot);
2501
pInfo->threadStaticBaseSlow = CreateConstLookupToSymbol(
_compilation
.NodeFactory.HelperEntrypoint(HelperEntrypoint.GetInlinedThreadStaticBaseSlow));
2502
pInfo->tlsGetAddrFtnPtr = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.TlsGetAddr));
parent\parent\Common\JitInterface\CorInfoImpl.cs (81)
191
get => field ??=
_compilation
.TypeSystemContext.SystemModule.GetType(
211
return
_compilation
.Logger;
434
if (
_compilation
.TypeSystemContext.Target.Architecture != TargetArchitecture.ARM64
435
&&
_compilation
.TypeSystemContext.Target.Architecture != TargetArchitecture.LoongArch64
436
&&
_compilation
.TypeSystemContext.Target.Architecture != TargetArchitecture.RiscV64)
508
_compilation
.NodeFactory.Target.MinimumFunctionAlignment :
509
_compilation
.NodeFactory.Target.OptimumFunctionAlignment;
559
if (
_compilation
.NodeFactory.Target.IsWasm && _ehClauses is not null)
613
CodeBasedDependencyAlgorithm.AddDependenciesDueToMethodCodePresence(_additionalDependencies,
_compilation
.NodeFactory, MethodBeingCompiled, methodIL);
697
return
_compilation
.TypeSystemContext.Target.PointerSize;
1059
if (
_compilation
.TypeSystemContext.Target.Architecture == TargetArchitecture.X86)
1199
if (
_compilation
.IsEffectivelySealed(method.GetUnboxedMethod()))
1204
if (
_compilation
.IsEffectivelySealed(method))
1352
method =
_compilation
.TypeSystemContext.GetMethodForInstantiatedType(method.GetTypicalMethodDefinition(), (InstantiatedType)type);
1378
MethodDesc instantiatedMethod =
_compilation
.TypeSystemContext.GetMethodForInstantiatedType(method.GetTypicalMethodDefinition(), instantiatedCtxType);
1381
instantiatedMethod =
_compilation
.TypeSystemContext.GetInstantiatedMethod(instantiatedMethod, method.Instantiation);
1390
if (!
_compilation
.CanInline(MethodBeingCompiled, method))
1394
MethodIL methodIL = method.IsUnboxingThunk() ? null :
_compilation
.GetMethodIL(method);
1433
var calleeIL =
_compilation
.GetMethodIL(calleeMethod);
1442
if (
_compilation
.CanInline(callerMethod, calleeMethod))
1474
var methodIL =
_compilation
.GetMethodIL(HandleToObject(ftn));
1520
decl =
_compilation
.TypeSystemContext.GetMethodForInstantiatedType(decl.GetTypicalMethodDefinition(), (InstantiatedType)ownerTypeDesc);
1524
MethodDesc originalImpl =
_compilation
.ResolveVirtualMethod(decl, objType, out info->detail);
1694
info->instParamLookup.constLookup = CreateConstLookupToSymbol(
_compilation
.NodeFactory.ConstructedTypeSymbol(originalImpl.OwningType));
1733
MethodILScope scope = jitInterface.
_compilation
.GetMethodIL(methodWithToken.Method);
1793
MetadataType placeholderType =
_compilation
.TypeSystemContext.SystemModule.GetType("System"u8, "SZGenericArrayEnumerator`1"u8, throwIfNotFound: false);
1991
result =
_compilation
.TypeSystemContext.GetAsyncVariantMethod((MethodDesc)result);
2066
_compilation
.TypeSystemContext.EnsureLoadableMethod(method);
2079
_compilation
.NodeFactory.MetadataManager.GetDependenciesDueToAccess(_additionalDependencies,
_compilation
.NodeFactory, (MethodIL)methodIL, method);
2085
?
_compilation
.TypeSystemContext.GetAsyncVariantMethod(method)
2116
_compilation
.TypeSystemContext.EnsureLoadableType(owningClass);
2120
_compilation
.NodeFactory.MetadataManager.GetDependenciesDueToAccess(_additionalDependencies,
_compilation
.NodeFactory, (MethodIL)methodIL, field);
2147
_compilation
.TypeSystemContext.EnsureLoadableType(type);
2186
if (
_compilation
.IsFatPointerCandidate(methodIL.OwningMethod, methodSig))
2215
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(result));
2393
if (
_compilation
.IsEffectivelySealed(type))
2970
!
_compilation
.HasLazyStaticConstructor(type)
3070
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.Object));
3073
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.TypedReference));
3076
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.RuntimeTypeHandle));
3079
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.RuntimeFieldHandle));
3082
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.RuntimeMethodHandle));
3085
ThrowHelper.ThrowTypeLoadException("System", "RuntimeArgumentHandle",
_compilation
.TypeSystemContext.SystemModule);
3089
return ObjectToHandle(
_compilation
.TypeSystemContext.GetWellKnownType(WellKnownType.String));
3092
return ObjectToHandle(
_compilation
.TypeSystemContext.SystemModule.GetKnownType("System"u8, "RuntimeType"u8));
3095
return ObjectToHandle(
_compilation
.TypeSystemContext.SystemModule.GetKnownType("System.Numerics"u8, "Vector`1"u8));
3290
return
_compilation
.IsEffectivelySealed(type);
3404
return (void*)ObjectToHandle(
_compilation
.GetFieldRvaData(fd));
3686
if (
_compilation
.NodeFactory.Target.IsWasm)
3691
else if (
_compilation
.NodeFactory.Target.IsWindows)
3701
pEEInfoOut.osType = TargetToOs(
_compilation
.NodeFactory.Target);
3706
DefType continuation =
_compilation
.TypeSystemContext.ContinuationType;
3712
DefType asyncHelpers =
_compilation
.TypeSystemContext.SystemModule.GetKnownType("System.Runtime.CompilerServices"u8, "AsyncHelpers"u8);
3728
NodeFactory factory =
_compilation
.NodeFactory;
3739
WasmTypeNode typeNode =
_compilation
.NodeFactory.WasmTypeNode(typeArray);
3756
CompilerTypeSystemContext context =
_compilation
.TypeSystemContext;
3837
CompilerTypeSystemContext context =
_compilation
.TypeSystemContext;
3906
return ObjectToHandle(
_compilation
.TypeSystemContext.GetContinuationType(gcMapBuilder.ToGCMap()));
4056
HandleToObject(structHnd),
_compilation
.TypeSystemContext.Target.Architecture);
4392
=> (chunk.flags & CorJitAllocMemFlag.CORJIT_ALLOCMEM_HAS_POINTERS_TO_CODE) != 0 && !
_compilation
.TypeSystemContext.Target.IsWindows;
4531
var target =
_compilation
.TypeSystemContext.Target;
4838
switch (
_compilation
.TypeSystemContext.Target.Architecture)
4857
return (uint)node.GetAlignment(
_compilation
.NodeFactory);
4866
TargetArchitecture arch =
_compilation
.TypeSystemContext.Target.Architecture;
4933
return owningMetadataType.Module ==
_compilation
.TypeSystemContext.SystemModule;
4942
flags.InstructionSetFlags.Add(
_compilation
.InstructionSetSupport.OptimisticFlags);
4952
TargetArchitecture targetArchitecture =
_compilation
.TypeSystemContext.Target.Architecture;
4959
Debug.Assert(
_compilation
.InstructionSetSupport.IsInstructionSetSupported(InstructionSet.X86_X86Base));
4963
Debug.Assert(
_compilation
.InstructionSetSupport.IsInstructionSetSupported(InstructionSet.ARM64_AdvSimd));
4967
if (targetArchitecture == TargetArchitecture.ARM && !
_compilation
.TypeSystemContext.Target.IsWindows)
5022
|| (
_compilation
.TypeSystemContext.IsSpecialUnboxingThunk(this.MethodBeingCompiled) &&
_compilation
.TypeSystemContext.GetTargetOfSpecialUnboxingThunk(this.MethodBeingCompiled).IsAsyncCall())
5023
|| (
_compilation
.TypeSystemContext.IsDefaultInterfaceMethodImplementationInstantiationThunk(this.MethodBeingCompiled) &&
_compilation
.TypeSystemContext.GetTargetOfDefaultInterfaceMethodImplementationInstantiationThunk(this.MethodBeingCompiled).IsAsyncCall())
5135
PgoSchemaElem[] pgoResultsSchemas =
_compilation
.ProfileData[methodDesc]?.SchemaData;
5146
,
_compilation
.CanReferenceConstructedMethodTable
5241
instructionSet = InstructionSetFlags.ConvertToImpliedInstructionSetForVectorInstructionSets(
_compilation
.TypeSystemContext.Target.Architecture, instructionSet);
5243
Debug.Assert(!
_compilation
.InstructionSetSupport.NonSpecifiableFlags.HasInstructionSet(instructionSet));
5245
return supportEnabled ?
_compilation
.InstructionSetSupport.IsInstructionSetSupported(instructionSet) : false;