Compiler\DependencyAnalysis\ReadyToRun\WasmImportThunk.cs (10)
31public override ObjectNodeSection GetSection(NodeFactory factory) => ObjectNodeSection.TextSection;
35public WasmImportThunk(NodeFactory factory, WasmSignature wasmSignature, ReadyToRunHelper helperId, bool useJumpableStub)
72protected override string GetName(NodeFactory factory)
133protected override void EmitCode(NodeFactory factory, ref Wasm.WasmEmitter instructionEncoder, bool relocsOnly)
461protected override void EmitCode(NodeFactory factory, ref X64.X64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
462protected override void EmitCode(NodeFactory factory, ref X86.X86Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
463protected override void EmitCode(NodeFactory factory, ref ARM.ARMEmitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
464protected override void EmitCode(NodeFactory factory, ref ARM64.ARM64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
465protected override void EmitCode(NodeFactory factory, ref LoongArch64.LoongArch64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
466protected override void EmitCode(NodeFactory factory, ref RiscV64.RiscV64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
Compiler\DependencyAnalysis\ReadyToRun\WasmInterpreterToR2RThunkNode.cs (11)
34public override ObjectNodeSection GetSection(NodeFactory factory) => ObjectNodeSection.TextSection;
74public WasmInterpreterToR2RThunkNode(NodeFactory factory, WasmSignature wasmSignature)
88protected override string GetName(NodeFactory factory)
103protected override DependencyList ComputeNonRelocationBasedDependencies(NodeFactory factory)
111protected override void EmitCode(NodeFactory factory, ref Wasm.WasmEmitter instructionEncoder, bool relocsOnly)
329protected override void EmitCode(NodeFactory factory, ref X64.X64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
330protected override void EmitCode(NodeFactory factory, ref X86.X86Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
331protected override void EmitCode(NodeFactory factory, ref ARM.ARMEmitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
332protected override void EmitCode(NodeFactory factory, ref ARM64.ARM64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
333protected override void EmitCode(NodeFactory factory, ref LoongArch64.LoongArch64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
334protected override void EmitCode(NodeFactory factory, ref RiscV64.RiscV64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
Compiler\DependencyAnalysis\ReadyToRun\WasmR2RToInterpreterThunkNode.cs (11)
44public override ObjectNodeSection GetSection(NodeFactory factory) => ObjectNodeSection.TextSection;
83public WasmR2RToInterpreterThunkNode(NodeFactory factory, WasmSignature wasmSignature)
98protected override string GetName(NodeFactory factory)
113protected override DependencyList ComputeNonRelocationBasedDependencies(NodeFactory factory)
120protected override void EmitCode(NodeFactory factory, ref Wasm.WasmEmitter instructionEncoder, bool relocsOnly)
414protected override void EmitCode(NodeFactory factory, ref X64.X64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
415protected override void EmitCode(NodeFactory factory, ref X86.X86Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
416protected override void EmitCode(NodeFactory factory, ref ARM.ARMEmitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
417protected override void EmitCode(NodeFactory factory, ref ARM64.ARM64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
418protected override void EmitCode(NodeFactory factory, ref LoongArch64.LoongArch64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
419protected override void EmitCode(NodeFactory factory, ref RiscV64.RiscV64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
Compiler\DependencyAnalysis\ReadyToRun\WasmUnboxingStubNode.cs (16)
28NodeFactory factory,
56protected override string GetName(NodeFactory factory)
84protected override DependencyList ComputeNonRelocationBasedDependencies(NodeFactory factory)
92protected override void EmitCode(NodeFactory factory, ref WasmEmitter instructionEncoder, bool relocsOnly)
219protected override void EmitCode(NodeFactory factory, ref X64.X64Emitter instructionEncoder, bool relocsOnly) => throw new NotSupportedException();
220protected override void EmitCode(NodeFactory factory, ref X86.X86Emitter instructionEncoder, bool relocsOnly) => throw new NotSupportedException();
221protected override void EmitCode(NodeFactory factory, ref ARM.ARMEmitter instructionEncoder, bool relocsOnly) => throw new NotSupportedException();
222protected override void EmitCode(NodeFactory factory, ref ARM64.ARM64Emitter instructionEncoder, bool relocsOnly) => throw new NotSupportedException();
223protected override void EmitCode(NodeFactory factory, ref LoongArch64.LoongArch64Emitter instructionEncoder, bool relocsOnly) => throw new NotSupportedException();
224protected override void EmitCode(NodeFactory factory, ref RiscV64.RiscV64Emitter instructionEncoder, bool relocsOnly) => throw new NotSupportedException();
227public sealed class WasmUnboxingStubTargetNode : DependencyNodeCore<NodeFactory>
248public override IEnumerable<CombinedDependencyListEntry> GetConditionalStaticDependencies(NodeFactory context) => null;
250public override IEnumerable<DependencyListEntry> GetStaticDependencies(NodeFactory context)
261List<DependencyNodeCore<NodeFactory>> markedNodes,
263NodeFactory context) => null;
265protected override string GetName(NodeFactory factory) => $"Wasm unboxing stub target for {_targetMethod}";
Compiler\DependencyAnalysis\ReadyToRun\WasmVirtualDispatchThunkNode.cs (11)
27public WasmVirtualDispatchThunkNode(NodeFactory factory, WasmSignature wasmSignature)
37public override ObjectNodeSection GetSection(NodeFactory factory) => ObjectNodeSection.TextSection;
52protected override string GetName(NodeFactory factory)
105protected override DependencyList ComputeNonRelocationBasedDependencies(NodeFactory factory)
112protected override void EmitCode(NodeFactory factory, ref Wasm.WasmEmitter instructionEncoder, bool relocsOnly)
171protected override void EmitCode(NodeFactory factory, ref X64.X64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
172protected override void EmitCode(NodeFactory factory, ref X86.X86Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
173protected override void EmitCode(NodeFactory factory, ref ARM.ARMEmitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
174protected override void EmitCode(NodeFactory factory, ref ARM64.ARM64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
175protected override void EmitCode(NodeFactory factory, ref LoongArch64.LoongArch64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
176protected override void EmitCode(NodeFactory factory, ref RiscV64.RiscV64Emitter instructionEncoder, bool relocsOnly) { throw new NotSupportedException(); }
Compiler\ReadyToRunCodegenCompilation.cs (23)
31protected readonly DependencyAnalyzerBase<NodeFactory> _dependencyGraph;
32protected readonly NodeFactory _nodeFactory;
40public NodeFactory NodeFactory => _nodeFactory;
47DependencyAnalyzerBase<NodeFactory> dependencyGraph,
48NodeFactory nodeFactory,
78protected abstract void ComputeDependencyNodeDependencies(List<DependencyNodeCore<NodeFactory>> obj);
236private readonly NodeFactory _factory;
240public RootingServiceProvider(NodeFactory factory, RootAdder rootAdder)
247private void AddCompilationRootHelper(DependencyNodeCore<NodeFactory> node, bool rootMinimalDependencies, string reason)
272DependencyNodeCore<NodeFactory> unboxingStub = _factory.UnboxingStub(canonMethod);
334DependencyAnalyzerBase<NodeFactory> dependencyGraph,
335NodeFactory nodeFactory,
550NodeFactory componentFactory = new NodeFactory(
566IComparer<DependencyNodeCore<NodeFactory>> comparer = new SortableDependencyNode.ObjectNodeComparer(CompilerComparer.Instance);
567DependencyAnalyzerBase<NodeFactory> componentGraph = new DependencyAnalyzer<NoLogStrategy<NodeFactory>, NodeFactory>(componentFactory, comparer);
731protected override void ComputeDependencyNodeDependencies(List<DependencyNodeCore<NodeFactory>> obj)
866private bool CompileMethodList(IReadOnlyList<DependencyNodeCore<NodeFactory>> methodList)
875foreach (DependencyNodeCore<NodeFactory> dependency in methodList)
882Parallel.ForEach<DependencyNodeCore<NodeFactory>, WorkerState>(
900DependencyNodeCore<NodeFactory> dependency,
908private void CompileOneMethod(DependencyNodeCore<NodeFactory> dependency, ref WorkerState workerState)
parent\parent\Common\Compiler\DependencyAnalysis\AssemblyStubNode.cs (9)
25public override ObjectNodeSection GetSection(NodeFactory factory) => ObjectNodeSection.TextSection;
33public override ObjectData GetData(NodeFactory factory, bool relocsOnly)
96protected abstract void EmitCode(NodeFactory factory, ref X64.X64Emitter instructionEncoder, bool relocsOnly);
97protected abstract void EmitCode(NodeFactory factory, ref X86.X86Emitter instructionEncoder, bool relocsOnly);
98protected abstract void EmitCode(NodeFactory factory, ref ARM.ARMEmitter instructionEncoder, bool relocsOnly);
99protected abstract void EmitCode(NodeFactory factory, ref ARM64.ARM64Emitter instructionEncoder, bool relocsOnly);
100protected abstract void EmitCode(NodeFactory factory, ref LoongArch64.LoongArch64Emitter instructionEncoder, bool relocsOnly);
101protected abstract void EmitCode(NodeFactory factory, ref RiscV64.RiscV64Emitter instructionEncoder, bool relocsOnly);
102protected abstract void EmitCode(NodeFactory factory, ref Wasm.WasmEmitter instructionEncoder, bool relocsOnly);
parent\parent\Common\Compiler\DependencyTrackingLevel.cs (12)
35public static DependencyAnalyzerBase<NodeFactory> CreateDependencyGraph(this DependencyTrackingLevel trackingLevel, NodeFactory factory, IComparer<DependencyNodeCore<NodeFactory>> comparer = null)
41if (EventSourceLogStrategy<NodeFactory>.IsEventSourceEnabled)
42return new DependencyAnalyzer<EventSourceLogStrategy<NodeFactory>, NodeFactory>(factory, comparer);
44return new DependencyAnalyzer<NoLogStrategy<NodeFactory>, NodeFactory>(factory, comparer);
47return new DependencyAnalyzer<FirstMarkLogStrategy<NodeFactory>, NodeFactory>(factory, comparer);
50return new DependencyAnalyzer<FullGraphLogStrategy<NodeFactory>, NodeFactory>(factory, comparer);