129 references to NodeFactory
ILCompiler.Compiler (46)
Compiler\Compilation.cs (29)
33
public CompilerTypeSystemContext TypeSystemContext =>
NodeFactory
.TypeSystemContext;
57
NodeFactory
.AttachToDependencyGraph(_dependencyGraph);
109
return
NodeFactory
.DevirtualizationManager.CanReferenceConstructedMethodTable(type.NormalizeInstantiation());
114
return
NodeFactory
.DevirtualizationManager.CanReferenceConstructedTypeOrCanonicalFormOfType(type.NormalizeInstantiation());
122
if (followVirtualDispatch &&
NodeFactory
.DevirtualizationManager.IsEffectivelySealed(target))
134
return DelegateCreationInfo.Create(delegateType, target, constrainedType,
NodeFactory
, followVirtualDispatch);
144
return
NodeFactory
.PInvokeMethodFixup(new PInvokeMethodData((PInvokeLazyFixupField)field));
148
return
NodeFactory
.ExternVariable(new Utf8String(externField.SymbolName));
153
return
NodeFactory
.FieldRvaData((EcmaField)field.GetTypicalFieldDefinition());
159
return
NodeFactory
.PreinitializationManager.HasLazyStaticConstructor(type);
227
return !
NodeFactory
.VTable(type).HasKnownVirtualMethodUse;
232
return
NodeFactory
.DevirtualizationManager.IsEffectivelySealed(type);
237
return
NodeFactory
.DevirtualizationManager.GetImplementingClasses(type);
242
return
NodeFactory
.DevirtualizationManager.IsEffectivelySealed(method);
247
return
NodeFactory
.DevirtualizationManager.ResolveVirtualMethod(declMethod, implType, out devirtualizationDetail);
287
if (type.IsGenericDefinition &&
NodeFactory
.DevirtualizationManager.IsGenericDefinitionMethodTableReflectionVisible(type))
292
if (
NodeFactory
.DevirtualizationManager.CanReferenceConstructedMethodTable(type.NormalizeInstantiation()))
295
if (
NodeFactory
.DevirtualizationManager.CanReferenceMetadataMethodTable(type.NormalizeInstantiation()))
326
return
NodeFactory
.ConstructedTypeSymbol((TypeDesc)targetOfLookup);
328
return
NodeFactory
.MetadataTypeSymbol((TypeDesc)targetOfLookup);
340
if (
NodeFactory
.DevirtualizationManager.CanHaveDynamicInterfaceImplementations(type))
342
return
NodeFactory
.MaximallyConstructableType(type);
355
return
NodeFactory
.MethodGenericDictionary((MethodDesc)targetOfLookup);
357
return
NodeFactory
.FatFunctionPointer((MethodDesc)targetOfLookup);
359
return
NodeFactory
.RuntimeMethodHandle((MethodDesc)targetOfLookup);
361
return
NodeFactory
.RuntimeFieldHandle((FieldDesc)targetOfLookup);
366
return type.IsValueType ?
NodeFactory
.ExactCallableAddress(ctor) :
NodeFactory
.CanonicalEntrypoint(ctor);
371
return
NodeFactory
.ExternFunctionSymbol(new Utf8String(JitHelper.GetNewObjectHelperForType(type)));
Compiler\ILScanner.cs (2)
203
entryPoint = _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String(mangledName));
205
entryPoint = _compilation.
NodeFactory
.MethodEntrypoint(methodDesc);
IL\ILImporter.Scanner.cs (15)
102
_factory = (ILScanNodeFactory)compilation.
NodeFactory
;
166
_dependencies.Add(_compilation.
NodeFactory
.MethodEntrypoint(_compilation.
NodeFactory
.TypeSystemContext.GetCoreLibEntryPoint("System"u8, "Type"u8, "GetTypeFromMethodTable"u8, null)), reason);
181
_dependencies.Add(_compilation.
NodeFactory
.MethodEntrypoint(_compilation.
NodeFactory
.TypeSystemContext.GetCoreLibEntryPoint("Internal.Runtime.CompilerHelpers"u8, "SharedCodeHelpers"u8, "GetClassHandleFromMethodParam"u8, null)), reason);
233
return _compilation.
NodeFactory
.ReadyToRunHelperFromDictionaryLookup(lookup.HelperId, lookup.HelperObject, _canonMethod);
238
return _compilation.
NodeFactory
.ReadyToRunHelperFromTypeLookup(lookup.HelperId, lookup.HelperObject, _canonMethod.OwningType);
552
_compilation.
NodeFactory
.MetadataManager.GetDependenciesDueToAccess(ref _dependencies, _compilation.
NodeFactory
, _canonMethodIL, method);
966
instParam = _compilation.
NodeFactory
.MethodGenericDictionary(concreteMethod);
971
instParam = _compilation.
NodeFactory
.ConstructedTypeSymbol(concreteMethod.OwningType);
1080
_dependencies.Add(_compilation.
NodeFactory
.MethodEntrypoint(resumptionStub), asyncReason);
1435
_compilation.
NodeFactory
.MetadataManager.GetDependenciesDueToAccess(ref _dependencies, _compilation.
NodeFactory
, _canonMethodIL, canonField);
2086
_dependencies.Add(_compilation.
NodeFactory
.MethodGenericDictionary(runtimeDeterminedResult), reason);
ILCompiler.RyuJit (83)
Compiler\RyuJitCompilation.cs (2)
117
NodeFactory
.SetMarkingComplete();
129
ObjectWriter.ObjectWriter.EmitObject(outputFile, nodes,
NodeFactory
, options, dumper, _logger);
JitInterface\CorInfoImpl.RyuJit.cs (67)
61
entryPoint = (void*)ObjectToHandle(_compilation.
NodeFactory
.MethodEntrypoint(asyncResumptionStub));
361
pLookup = CreateConstLookupToSymbol(_compilation.
NodeFactory
.ReadyToRunHelper(helperId, type));
480
pLookup.constLookup = CreateConstLookupToSymbol(_compilation.
NodeFactory
.ReadyToRunHelper(ReadyToRunHelperId.DelegateCtor, delegateInfo));
631
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpNewFast"u8));
633
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpNewFinalizable"u8));
635
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpNewFastAlign8"u8));
637
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpNewFinalizableAlign8"u8));
639
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpNewFastMisalign"u8));
644
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpNewPtrArrayFast"u8));
646
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpNewArrayFastAlign8"u8));
648
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpNewArrayFast"u8));
651
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpStackProbe"u8));
654
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpGcPoll"u8));
789
return _compilation.
NodeFactory
.MethodEntrypoint(_compilation.
NodeFactory
.TypeSystemContext.GetCoreLibEntryPoint("System"u8, "Type"u8, "GetTypeFromMethodTable"u8, null));
791
return _compilation.
NodeFactory
.MethodEntrypoint(_compilation.
NodeFactory
.TypeSystemContext.GetCoreLibEntryPoint("Internal.Runtime.CompilerHelpers"u8, "SharedCodeHelpers"u8, "GetClassHandleFromMethodParam"u8, null));
799
&& _compilation.
NodeFactory
.TypeSystemContext.Target.Architecture != TargetArchitecture.X86)
800
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpInterfaceDispatchGuarded"u8));
801
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpInterfaceDispatch"u8));
803
return _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("RhpResolveInterfaceMethodFast"u8));
814
return _compilation.
NodeFactory
.ExternIndirectFunctionSymbol(new Utf8String("__guard_check_icall_fptr"u8));
816
return _compilation.
NodeFactory
.ExternIndirectFunctionSymbol(new Utf8String("__guard_dispatch_icall_fptr"u8));
829
entryPoint = _compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String(mangledName));
831
entryPoint = _compilation.
NodeFactory
.MethodEntrypoint(methodDesc);
848
pResult = CreateConstLookupToSymbol(_compilation.
NodeFactory
.MethodEntrypoint(method));
858
stringObject = _compilation.
NodeFactory
.SerializedStringObject("");
863
stringObject = _compilation.
NodeFactory
.SerializedStringObject((string)literal);
955
RelocType rel = (_compilation.
NodeFactory
.Target.IsWindows) ?
1066
return _compilation.
NodeFactory
.ReadyToRunHelperFromTypeLookup(helperId, helperArgument, callerHandle.OwningType);
1070
return _compilation.
NodeFactory
.ReadyToRunHelperFromDictionaryLookup(helperId, helperArgument, callerHandle);
1187
return _compilation.
NodeFactory
.MethodEntrypointOrTentativeMethod(method, isUnboxingThunk);
1274
_compilation.
NodeFactory
.MetadataManager.NoteOverridingMethod(method, directMethod);
1471
CreateConstLookupToSymbol(_compilation.
NodeFactory
.FatFunctionPointer(targetMethod));
1499
_compilation.
NodeFactory
.StringAllocator(targetMethod)
1535
instParam = _compilation.
NodeFactory
.MethodGenericDictionary(concreteMethod);
1540
instParam = _compilation.
NodeFactory
.ConstructedTypeSymbol(concreteMethod.OwningType);
1619
_compilation.
NodeFactory
.DispatchCell(targetOfLookup
1652
_compilation.
NodeFactory
.DispatchCell(targetMethod
1681
pResult->codePointerOrStubLookup.constLookup = CreateConstLookupToSymbol(_compilation.
NodeFactory
.ExternFunctionSymbol(new Utf8String("NYI_LDVIRTFTN"u8)));
1695
_compilation.
NodeFactory
.ReadyToRunHelper(ReadyToRunHelperId.ResolveVirtualFunction, slotDefiningMethod));
1831
DictionaryLayoutNode contextLayout = _compilation.
NodeFactory
.GenericDictionaryLayout(
1857
RuntimeMethodHandleNode methodHandleSymbol = _compilation.
NodeFactory
.RuntimeMethodHandle(method);
1881
Debug.Assert(!methodDesc.CanMethodBeInSealedVTable(_compilation.
NodeFactory
));
1888
int slot = VirtualMethodSlotHelper.GetVirtualMethodSlot(_compilation.
NodeFactory
, methodDesc, owningType);
1895
(_additionalDependencies ??= new ILCompiler.DependencyAnalysisFramework.DependencyNodeCore<NodeFactory>.DependencyList()).Add(_compilation.
NodeFactory
.VirtualMethodUse(methodDesc), "Virtual method call");
1949
externName = _compilation.
NodeFactory
.NameMangler.NodeMangler.ExternMethod(externName, md);
1951
pLookup = CreateConstLookupToSymbol(_compilation.
NodeFactory
.ExternFunctionSymbol(externName));
1958
*ppCookieVal = (IntPtr*)ObjectToHandle(_compilation.
NodeFactory
.ExternVariable(new Utf8String("__security_cookie"u8)));
2094
return (int*)ObjectToHandle(_compilation.
NodeFactory
.ExternVariable(new Utf8String("RhpTrapThreads"u8)));
2118
fieldOffset += _compilation.
NodeFactory
.ThreadStaticBaseOffset(mt);
2172
helper = _compilation.
NodeFactory
.ReadyToRunHelperFromTypeLookup(
2178
helper = _compilation.
NodeFactory
.ReadyToRunHelperFromDictionaryLookup(
2204
ISortableSymbolNode index = _compilation.
NodeFactory
.TypeThreadStaticIndex(field.OwningType);
2228
baseAddr = _compilation.
NodeFactory
.TypeGCStaticsSymbol(field.OwningType);
2233
baseAddr = _compilation.
NodeFactory
.TypeNonGCStaticsSymbol(field.OwningType);
2246
_compilation.
NodeFactory
.ReadyToRunHelper(helperId, field.OwningType));
2350
PreinitializationManager preinitManager = _compilation.
NodeFactory
.PreinitializationManager;
2372
if (value.GetRawData(_compilation.
NodeFactory
, out object data))
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
.ExternFunctionSymbol(new Utf8String("__tls_get_addr"u8)));
parent\parent\Common\JitInterface\CorInfoImpl.cs (14)
473
_compilation.
NodeFactory
.Target.MinimumFunctionAlignment :
474
_compilation.
NodeFactory
.Target.OptimumFunctionAlignment;
602
CodeBasedDependencyAlgorithm.AddDependenciesDueToMethodCodePresence(ref _additionalDependencies, _compilation.
NodeFactory
, MethodBeingCompiled, methodIL);
1649
info->instParamLookup.constLookup = CreateConstLookupToSymbol(_compilation.
NodeFactory
.ConstructedTypeSymbol(originalImpl.OwningType));
2040
_compilation.
NodeFactory
.MetadataManager.GetDependenciesDueToAccess(ref _additionalDependencies, _compilation.
NodeFactory
, (MethodIL)methodIL, method);
2081
_compilation.
NodeFactory
.MetadataManager.GetDependenciesDueToAccess(ref _additionalDependencies, _compilation.
NodeFactory
, (MethodIL)methodIL, field);
3637
if (_compilation.
NodeFactory
.Target.IsWasm)
3642
else if (_compilation.
NodeFactory
.Target.IsWindows)
3652
pEEInfoOut.osType = TargetToOs(_compilation.
NodeFactory
.Target);
3679
NodeFactory factory = _compilation.
NodeFactory
;
3690
WasmTypeNode typeNode = _compilation.
NodeFactory
.WasmTypeNode(typeArray);
4755
return (uint)node.GetAlignment(_compilation.
NodeFactory
);