1 write to _compilation
ILCompiler.RyuJit (1)
JitInterface\CorInfoImpl.RyuJit.cs (1)
46_compilation = compilation;
190 references to _compilation
ILCompiler.RyuJit (190)
JitInterface\CorInfoImpl.RyuJit.cs (110)
59MethodDesc asyncResumptionStub = _compilation.TypeSystemContext.GetAsyncResumptionStub(MethodBeingCompiled, _compilation.TypeSystemContext.GeneratedAssembly.GetGlobalModuleType()); 61entryPoint = (void*)ObjectToHandle(_compilation.NodeFactory.MethodEntrypoint(asyncResumptionStub)); 70methodIL ??= _compilation.GetMethodIL(MethodBeingCompiled); 281if (_compilation.NeedsRuntimeLookup(helperId, entity)) 283GenericDictionaryLookup genericLookup = _compilation.ComputeGenericLookup(callerHandle, helperId, entity); 337ISymbolNode constLookup = _compilation.ComputeConstantLookup(helperId, entity); 360pLookup = CreateConstLookupToSymbol(_compilation.NodeFactory.ReadyToRunHelper(helperId, type)); 435targetOfLookup = _compilation.TypeSystemContext.GetMethodForRuntimeDeterminedType(directMethod.GetTypicalMethodDefinition(), (RuntimeDeterminedType)constrainedType); 437targetOfLookup = _compilation.TypeSystemContext.GetMethodForInstantiatedType(directMethod.GetTypicalMethodDefinition(), (InstantiatedType)constrainedType); 461DelegateCreationInfo delegateInfo = _compilation.GetDelegateCtor(delegateTypeDesc, targetMethod, constrainedType, isLdvirtftn); 484pLookup.constLookup = CreateConstLookupToSymbol(_compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelperId.DelegateCtor, delegateInfo)); 640return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewFast); 642return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewFinalizable); 644return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewFastAlign8); 646return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewFinalizableAlign8); 648return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewFastMisalign); 653return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewPtrArrayFast); 655return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewArrayFastAlign8); 657return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.NewArrayFast); 660return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.StackProbe); 663return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.GCPoll); 798return _compilation.NodeFactory.MethodEntrypoint(_compilation.NodeFactory.TypeSystemContext.GetCoreLibEntryPoint("System"u8, "Type"u8, "GetTypeFromMethodTable"u8, null)); 800return _compilation.NodeFactory.MethodEntrypoint(_compilation.NodeFactory.TypeSystemContext.GetCoreLibEntryPoint("Internal.Runtime.CompilerHelpers"u8, "SharedCodeHelpers"u8, "GetClassHandleFromMethodParam"u8, null)); 806if ((_compilation._compilationOptions & RyuJitCompilationOptions.ControlFlowGuardAnnotations) != 0 808&& _compilation.NodeFactory.TypeSystemContext.Target.Architecture != TargetArchitecture.X86) 809return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.InterfaceDispatchGuarded); 810return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.InterfaceDispatch); 812return _compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.ResolveInterfaceMethodFast); 823return _compilation.NodeFactory.ExternIndirectFunctionSymbol(new Utf8String("__guard_check_icall_fptr"u8)); 825return _compilation.NodeFactory.ExternIndirectFunctionSymbol(new Utf8String("__guard_dispatch_icall_fptr"u8)); 831MethodDesc methodDesc = JitHelper.GetEntryPoint(_compilation.TypeSystemContext, id); 834? _compilation.NodeFactory.ReadyToRunHelper(id) 835: _compilation.NodeFactory.MethodEntrypoint(methodDesc); 850pResult = CreateConstLookupToSymbol(_compilation.NodeFactory.MethodEntrypoint(method)); 860stringObject = _compilation.NodeFactory.SerializedStringObject(""); 865stringObject = _compilation.NodeFactory.SerializedStringObject((string)literal); 955var typeSymbol = _compilation.NecessaryTypeSymbolIfPossible(type); 957RelocType rel = (_compilation.NodeFactory.Target.IsWindows) ? 1060_debugInfo = _compilation.GetDebugInfo(methodIL); 1068return _compilation.NodeFactory.ReadyToRunHelperFromTypeLookup(helperId, helperArgument, callerHandle.OwningType); 1072return _compilation.NodeFactory.ReadyToRunHelperFromDictionaryLookup(helperId, helperArgument, callerHandle); 1092|| _compilation.TypeSystemContext.IsGenericArrayInterfaceType(type)) 1166if (elementType.GetElementSize().AsInt == _compilation.TypeSystemContext.Target.PointerSize) 1186_compilation.DetectGenericCycles(methodIL.OwningMethod, method); 1189return _compilation.NodeFactory.MethodEntrypointOrTentativeMethod(method, isUnboxingThunk); 1276_compilation.NodeFactory.MetadataManager.NoteOverridingMethod(method, directMethod); 1364canDevirt = _compilation.IsEffectivelySealed(targetMethod); 1411lookupMethod = _compilation.TypeSystemContext.GetMethodForRuntimeDeterminedType(targetMethod.GetTypicalMethodDefinition(), (RuntimeDeterminedType)runtimeDeterminedConstrainedType); 1413lookupMethod = _compilation.TypeSystemContext.GetMethodForInstantiatedType(targetMethod.GetTypicalMethodDefinition(), (InstantiatedType)runtimeDeterminedConstrainedType); 1473CreateConstLookupToSymbol(_compilation.NodeFactory.FatFunctionPointer(targetMethod)); 1486targetMethod = _compilation.ExpandIntrinsicForCallsite(targetMethod, methodIL.OwningMethod); 1501_compilation.NodeFactory.StringAllocator(targetMethod) 1537instParam = _compilation.NodeFactory.MethodGenericDictionary(concreteMethod); 1542instParam = _compilation.NodeFactory.ConstructedTypeSymbol(concreteMethod.OwningType); 1579if (!_compilation.NeedsRuntimeLookup(constrainedHelperId, constrainedCallInfo)) 1599MethodDesc targetOfLookup = _compilation.GetTargetOfGenericVirtualMethodCall((MethodDesc)GetRuntimeDeterminedObjectForToken(ref pResolvedToken)); 1601_compilation.DetectGenericCycles( 1621_compilation.NodeFactory.DispatchCell(targetOfLookup 1654_compilation.NodeFactory.DispatchCell(targetMethod 1698_compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelperId.ResolveVirtualFunction, slotDefiningMethod)); 1728ISymbolNode typeHandleSymbol = _compilation.NecessaryTypeSymbolIfPossible(type); 1834DictionaryLayoutNode contextLayout = _compilation.NodeFactory.GenericDictionaryLayout( 1843helperId = _compilation.GetLdTokenHelperForType(td); 1860RuntimeMethodHandleNode methodHandleSymbol = _compilation.NodeFactory.RuntimeMethodHandle(method); 1878int pointerSize = _compilation.TypeSystemContext.Target.PointerSize; 1884Debug.Assert(!methodDesc.CanMethodBeInSealedVTable(_compilation.NodeFactory)); 1891int slot = VirtualMethodSlotHelper.GetVirtualMethodSlot(_compilation.NodeFactory, methodDesc, owningType); 1897if (_compilation.NeedsSlotUseTracking(owningType)) 1898(_additionalDependencies ??= new ILCompiler.DependencyAnalysisFramework.DependencyNodeCore<NodeFactory>.DependencyList()).Add(_compilation.NodeFactory.VirtualMethodUse(methodDesc), "Virtual method call"); 1950pLookup = CreateConstLookupToSymbol(_compilation.NodeFactory.DirectPInvokeTarget(md)); 1957*ppCookieVal = (IntPtr*)ObjectToHandle(_compilation.NodeFactory.ExternVariable(new Utf8String("__security_cookie"u8))); 1990if (_compilation.HasLazyStaticConstructor(owningType) && !((MetadataType)owningType).IsBeforeFieldInit) 2010MethodDesc stub = _compilation.PInvokeILProvider.GetCalliStub( 2023if (_compilation.GetMethodIL(method) is Internal.IL.Stubs.PInvokeILStubMethodIL stub) 2047if (_compilation.TypeSystemContext.Target.Architecture == TargetArchitecture.ARM) 2093return (int*)ObjectToHandle(_compilation.NodeFactory.ExternVariable(new Utf8String("RhpTrapThreads"u8))); 2117fieldOffset += _compilation.NodeFactory.ThreadStaticBaseOffset(mt); 2131ISymbolNode node = _compilation.GetFieldRvaData(field); 2136if (_compilation.HasLazyStaticConstructor(field.OwningType)) 2171helper = _compilation.NodeFactory.ReadyToRunHelperFromTypeLookup( 2177helper = _compilation.NodeFactory.ReadyToRunHelperFromDictionaryLookup( 2203ISortableSymbolNode index = _compilation.NodeFactory.TypeThreadStaticIndex(field.OwningType); 2209if (_compilation.HasLazyStaticConstructor(field.OwningType)) 2227baseAddr = _compilation.NodeFactory.TypeGCStaticsSymbol(field.OwningType); 2232baseAddr = _compilation.NodeFactory.TypeNonGCStaticsSymbol(field.OwningType); 2236if (_compilation.HasLazyStaticConstructor(field.OwningType)) 2245_compilation.NodeFactory.ReadyToRunHelper(helperId, field.OwningType)); 2254if (_compilation.IsInitOnly(field)) 2278if (_compilation.TypeSystemContext.IsArrayVariantCastable(type)) 2285return !_compilation.CanReferenceConstructedTypeOrCanonicalFormOfType(type) 2286&& (type == canonType || !_compilation.CanReferenceConstructedMethodTable(canonType)); 2308if (_compilation.IsEffectivelySealed(type)) 2314TypeDesc[] implClasses = _compilation.GetImplementingClasses(type); 2342if (!field.IsThreadStatic && _compilation.IsInitOnly(field) && field.OwningType is MetadataType owningType) 2349PreinitializationManager preinitManager = _compilation.NodeFactory.PreinitializationManager; 2355int targetPtrSize = _compilation.TypeSystemContext.Target.PointerSize; 2371if (value.GetRawData(_compilation.NodeFactory, out object data)) 2420int strDataOffset = _compilation.TypeSystemContext.Target.PointerSize + sizeof(int); // 12 on 64bit 2447return ObjectToHandle(_compilation.NecessaryRuntimeTypeIfPossible(type)); 2473addr.addr = (void*)ObjectToHandle(_compilation.NodeFactory.TypeNonGCStaticsSymbol(type)); 2475offset = -NonGCStaticsNode.GetClassConstructorContextSize(_compilation.NodeFactory.Target); 2485addr.addr = (void*)ObjectToHandle(_compilation.NodeFactory.TypeGCStaticsSymbol(type)); 2490addr.addr = (void*)ObjectToHandle(_compilation.NodeFactory.TypeNonGCStaticsSymbol(type)); 2498pInfo->tlsIndexObject = CreateConstLookupToSymbol(_compilation.NodeFactory.ExternDataSymbol(new Utf8String("_tls_index"u8))); 2499pInfo->tlsRootObject = CreateConstLookupToSymbol(_compilation.NodeFactory.TlsRoot); 2500pInfo->threadStaticBaseSlow = CreateConstLookupToSymbol(_compilation.NodeFactory.HelperEntrypoint(HelperEntrypoint.GetInlinedThreadStaticBaseSlow)); 2501pInfo->tlsGetAddrFtnPtr = CreateConstLookupToSymbol(_compilation.NodeFactory.ReadyToRunHelper(ReadyToRunHelper.TlsGetAddr));
parent\parent\Common\JitInterface\CorInfoImpl.cs (80)
188get => field ??= _compilation.TypeSystemContext.SystemModule.GetType( 208return _compilation.Logger; 431if (_compilation.TypeSystemContext.Target.Architecture != TargetArchitecture.ARM64 432&& _compilation.TypeSystemContext.Target.Architecture != TargetArchitecture.LoongArch64 433&& _compilation.TypeSystemContext.Target.Architecture != TargetArchitecture.RiscV64) 479_compilation.NodeFactory.Target.MinimumFunctionAlignment : 480_compilation.NodeFactory.Target.OptimumFunctionAlignment; 580CodeBasedDependencyAlgorithm.AddDependenciesDueToMethodCodePresence(ref _additionalDependencies, _compilation.NodeFactory, MethodBeingCompiled, methodIL); 664return _compilation.TypeSystemContext.Target.PointerSize; 1026if (_compilation.TypeSystemContext.Target.Architecture == TargetArchitecture.X86) 1166if (_compilation.IsEffectivelySealed(method.GetUnboxedMethod())) 1171if (_compilation.IsEffectivelySealed(method)) 1319method = _compilation.TypeSystemContext.GetMethodForInstantiatedType(method.GetTypicalMethodDefinition(), (InstantiatedType)type); 1345MethodDesc instantiatedMethod = _compilation.TypeSystemContext.GetMethodForInstantiatedType(method.GetTypicalMethodDefinition(), instantiatedCtxType); 1348instantiatedMethod = _compilation.TypeSystemContext.GetInstantiatedMethod(instantiatedMethod, method.Instantiation); 1357if (!_compilation.CanInline(MethodBeingCompiled, method)) 1361MethodIL methodIL = method.IsUnboxingThunk() ? null : _compilation.GetMethodIL(method); 1400var calleeIL = _compilation.GetMethodIL(calleeMethod); 1409if (_compilation.CanInline(callerMethod, calleeMethod)) 1433var methodIL = _compilation.GetMethodIL(HandleToObject(ftn)); 1479decl = _compilation.TypeSystemContext.GetMethodForInstantiatedType(decl.GetTypicalMethodDefinition(), (InstantiatedType)ownerTypeDesc); 1483MethodDesc originalImpl = _compilation.ResolveVirtualMethod(decl, objType, out info->detail); 1653info->instParamLookup.constLookup = CreateConstLookupToSymbol(_compilation.NodeFactory.ConstructedTypeSymbol(originalImpl.OwningType)); 1692MethodILScope scope = jitInterface._compilation.GetMethodIL(methodWithToken.Method); 1752MetadataType placeholderType = _compilation.TypeSystemContext.SystemModule.GetType("System"u8, "SZGenericArrayEnumerator`1"u8, throwIfNotFound: false); 1956result = _compilation.TypeSystemContext.GetAsyncVariantMethod((MethodDesc)result); 2031_compilation.TypeSystemContext.EnsureLoadableMethod(method); 2044_compilation.NodeFactory.MetadataManager.GetDependenciesDueToAccess(ref _additionalDependencies, _compilation.NodeFactory, (MethodIL)methodIL, method); 2050? _compilation.TypeSystemContext.GetAsyncVariantMethod(method) 2081_compilation.TypeSystemContext.EnsureLoadableType(owningClass); 2085_compilation.NodeFactory.MetadataManager.GetDependenciesDueToAccess(ref _additionalDependencies, _compilation.NodeFactory, (MethodIL)methodIL, field); 2112_compilation.TypeSystemContext.EnsureLoadableType(type); 2151if (_compilation.IsFatPointerCandidate(methodIL.OwningMethod, methodSig)) 2180return ObjectToHandle(_compilation.TypeSystemContext.GetWellKnownType(result)); 2348if (_compilation.IsEffectivelySealed(type)) 2925!_compilation.HasLazyStaticConstructor(type) 3025return ObjectToHandle(_compilation.TypeSystemContext.GetWellKnownType(WellKnownType.Object)); 3028return ObjectToHandle(_compilation.TypeSystemContext.GetWellKnownType(WellKnownType.TypedReference)); 3031return ObjectToHandle(_compilation.TypeSystemContext.GetWellKnownType(WellKnownType.RuntimeTypeHandle)); 3034return ObjectToHandle(_compilation.TypeSystemContext.GetWellKnownType(WellKnownType.RuntimeFieldHandle)); 3037return ObjectToHandle(_compilation.TypeSystemContext.GetWellKnownType(WellKnownType.RuntimeMethodHandle)); 3040ThrowHelper.ThrowTypeLoadException("System", "RuntimeArgumentHandle", _compilation.TypeSystemContext.SystemModule); 3044return ObjectToHandle(_compilation.TypeSystemContext.GetWellKnownType(WellKnownType.String)); 3047return ObjectToHandle(_compilation.TypeSystemContext.SystemModule.GetKnownType("System"u8, "RuntimeType"u8)); 3050return ObjectToHandle(_compilation.TypeSystemContext.SystemModule.GetKnownType("System.Numerics"u8, "Vector`1"u8)); 3245return _compilation.IsEffectivelySealed(type); 3359return (void*)ObjectToHandle(_compilation.GetFieldRvaData(fd)); 3641if (_compilation.NodeFactory.Target.IsWasm) 3646else if (_compilation.NodeFactory.Target.IsWindows) 3656pEEInfoOut.osType = TargetToOs(_compilation.NodeFactory.Target); 3661DefType continuation = _compilation.TypeSystemContext.ContinuationType; 3667DefType asyncHelpers = _compilation.TypeSystemContext.SystemModule.GetKnownType("System.Runtime.CompilerServices"u8, "AsyncHelpers"u8); 3683NodeFactory factory = _compilation.NodeFactory; 3694WasmTypeNode typeNode = _compilation.NodeFactory.WasmTypeNode(typeArray); 3711CompilerTypeSystemContext context = _compilation.TypeSystemContext; 3792CompilerTypeSystemContext context = _compilation.TypeSystemContext; 3861return ObjectToHandle(_compilation.TypeSystemContext.GetContinuationType(gcMapBuilder.ToGCMap())); 4011HandleToObject(structHnd), _compilation.TypeSystemContext.Target.Architecture); 4307=> (chunk.flags & CorJitAllocMemFlag.CORJIT_ALLOCMEM_HAS_POINTERS_TO_CODE) != 0 && !_compilation.TypeSystemContext.Target.IsWindows; 4446var target = _compilation.TypeSystemContext.Target; 4752switch (_compilation.TypeSystemContext.Target.Architecture) 4771return (uint)node.GetAlignment(_compilation.NodeFactory); 4780TargetArchitecture arch = _compilation.TypeSystemContext.Target.Architecture; 4847return owningMetadataType.Module == _compilation.TypeSystemContext.SystemModule; 4856flags.InstructionSetFlags.Add(_compilation.InstructionSetSupport.OptimisticFlags); 4866TargetArchitecture targetArchitecture = _compilation.TypeSystemContext.Target.Architecture; 4873Debug.Assert(_compilation.InstructionSetSupport.IsInstructionSetSupported(InstructionSet.X86_X86Base)); 4877Debug.Assert(_compilation.InstructionSetSupport.IsInstructionSetSupported(InstructionSet.ARM64_AdvSimd)); 4881if (targetArchitecture == TargetArchitecture.ARM && !_compilation.TypeSystemContext.Target.IsWindows) 4936|| (_compilation.TypeSystemContext.IsSpecialUnboxingThunk(this.MethodBeingCompiled) && _compilation.TypeSystemContext.GetTargetOfSpecialUnboxingThunk(this.MethodBeingCompiled).IsAsyncCall()) 4937|| (_compilation.TypeSystemContext.IsDefaultInterfaceMethodImplementationInstantiationThunk(this.MethodBeingCompiled) && _compilation.TypeSystemContext.GetTargetOfDefaultInterfaceMethodImplementationInstantiationThunk(this.MethodBeingCompiled).IsAsyncCall()) 5045PgoSchemaElem[] pgoResultsSchemas = _compilation.ProfileData[methodDesc]?.SchemaData; 5056, _compilation.CanReferenceConstructedMethodTable 5151instructionSet = InstructionSetFlags.ConvertToImpliedInstructionSetForVectorInstructionSets(_compilation.TypeSystemContext.Target.Architecture, instructionSet); 5153Debug.Assert(!_compilation.InstructionSetSupport.NonSpecifiableFlags.HasInstructionSet(instructionSet)); 5155return supportEnabled ? _compilation.InstructionSetSupport.IsInstructionSetSupported(instructionSet) : false;