public ReadyToRunCodegenNodeFactory(
            CompilerTypeSystemContext context,
            CompilationModuleGroup compilationModuleGroup,
            MetadataManager metadataManager,
            InteropStubManager interopStubManager,
            NameMangler nameMangler,
            VTableSliceProvider vtableSliceProvider,
            DictionaryLayoutProvider dictionaryLayoutProvider,
            ModuleTokenResolver moduleTokenResolver,
            SignatureContext signatureContext)
            : base(context,
                   compilationModuleGroup,
                   metadataManager,
                   interopStubManager,
                   nameMangler,
                   new LazyGenericsDisabledPolicy(),
                   vtableSliceProvider,
                   dictionaryLayoutProvider,
                   new ImportedNodeProviderThrowing())
        {
            _importMethods = new Dictionary <TypeAndMethod, IMethodNode>();

            Resolver           = moduleTokenResolver;
            InputModuleContext = signatureContext;
        }
Example #2
0
 public NodeFactory(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup,
                    MetadataManager metadataManager, InteropStubManager interoptStubManager, NameMangler nameMangler, LazyGenericsPolicy lazyGenericsPolicy, VTableSliceProvider vtableSliceProvider)
 {
     _target  = context.Target;
     _context = context;
     _compilationModuleGroup = compilationModuleGroup;
     _vtableSliceProvider    = vtableSliceProvider;
     NameMangler             = nameMangler;
     InteropStubManager      = interoptStubManager;
     CreateNodeCaches();
     MetadataManager    = metadataManager;
     LazyGenericsPolicy = lazyGenericsPolicy;
 }
Example #3
0
 public NodeFactory(
     CompilerTypeSystemContext context,
     CompilationModuleGroup compilationModuleGroup,
     MetadataManager metadataManager,
     InteropStubManager interoptStubManager,
     NameMangler nameMangler,
     LazyGenericsPolicy lazyGenericsPolicy,
     VTableSliceProvider vtableSliceProvider,
     DictionaryLayoutProvider dictionaryLayoutProvider,
     ImportedNodeProvider importedNodeProvider)
 {
     _target  = context.Target;
     _context = context;
     _compilationModuleGroup   = compilationModuleGroup;
     _vtableSliceProvider      = vtableSliceProvider;
     _dictionaryLayoutProvider = dictionaryLayoutProvider;
     NameMangler        = nameMangler;
     InteropStubManager = interoptStubManager;
     CreateNodeCaches();
     MetadataManager              = metadataManager;
     LazyGenericsPolicy           = lazyGenericsPolicy;
     _importedNodeProvider        = importedNodeProvider;
     InterfaceDispatchCellSection = new InterfaceDispatchCellSectionNode(this);
 }
Example #4
0
 public CompilationBuilder UseVTableSliceProvider(VTableSliceProvider provider)
 {
     _vtableSliceProvider = provider;
     return(this);
 }
Example #5
0
 public RyuJitNodeFactory(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, MetadataManager metadataManager,
                          InteropStubManager interopStubManager, NameMangler nameMangler, VTableSliceProvider vtableSliceProvider, DictionaryLayoutProvider dictionaryLayoutProvider)
     : base(context, compilationModuleGroup, metadataManager, interopStubManager, nameMangler, new LazyGenericsDisabledPolicy(), vtableSliceProvider, dictionaryLayoutProvider)
 {
 }
Example #6
0
 public WebAssemblyCodegenNodeFactory(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, MetadataManager metadataManager,
                                      InteropStubManager interopStubManager, NameMangler nameMangler, VTableSliceProvider vtableSliceProvider, DictionaryLayoutProvider dictionaryLayoutProvider, PreinitializationManager preinitializationManager)
     : base(context,
            compilationModuleGroup,
            metadataManager,
            interopStubManager,
            nameMangler,
            new LazyGenericsDisabledPolicy(),
            vtableSliceProvider,
            dictionaryLayoutProvider,
            new ImportedNodeProviderThrowing(),
            preinitializationManager)
 {
     _vTableSlotNodes = new NodeCache <MethodDesc, WebAssemblyVTableSlotNode>(methodKey =>
     {
         return(new WebAssemblyVTableSlotNode(methodKey));
     });
 }
 public CppCodegenNodeFactory(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, MetadataManager metadataManager,
                              InteropStubManager interopStubManager, NameMangler nameMangler, VTableSliceProvider vtableSliceProvider, DictionaryLayoutProvider dictionaryLayoutProvider, PreinitializationManager preinitializationManager)
     : base(context,
            compilationModuleGroup,
            metadataManager,
            interopStubManager,
            nameMangler,
            new LazyGenericsDisabledPolicy(),
            vtableSliceProvider,
            dictionaryLayoutProvider,
            new ImportedNodeProviderThrowing(),
            preinitializationManager)
 {
 }
 public CppCodegenNodeFactory(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, MetadataManager metadataManager,
                              NameMangler nameMangler, VTableSliceProvider vtableSliceProvider)
     : base(context, compilationModuleGroup, metadataManager, nameMangler, new LazyGenericsDisabledPolicy(), vtableSliceProvider)
 {
 }