public UtcNodeFactory( CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, IEnumerable <ModuleDesc> inputModules, IEnumerable <ModuleDesc> inputMetadataOnlyAssemblies, string metadataFile, string outputFile, UTCNameMangler nameMangler, bool buildMRT, bool emitStackTraceMetadata, bool disableExceptionMessages, bool allowInvokeThunks, DictionaryLayoutProvider dictionaryLayoutProvider, ImportedNodeProvider importedNodeProvider) : base(context, compilationModuleGroup, PickMetadataManager(context, compilationModuleGroup, inputModules, inputMetadataOnlyAssemblies, metadataFile, emitStackTraceMetadata, disableExceptionMessages, allowInvokeThunks), NewEmptyInteropStubManager(context, compilationModuleGroup), nameMangler, new AttributeDrivenLazyGenericsPolicy(), null, dictionaryLayoutProvider, importedNodeProvider) { CreateHostedNodeCaches(); CompilationUnitPrefix = nameMangler.CompilationUnitPrefix; ThreadStaticsIndex = new ThreadStaticsIndexNode(nameMangler.GetCurrentModuleTlsIndexPrefix()); targetPrefix = context.Target.Architecture == TargetArchitecture.X86 ? "_" : ""; TLSDirectory = new ThreadStaticsDirectoryNode(targetPrefix); TlsStart = new ExternSymbolNode(targetPrefix + "_tls_start"); TlsEnd = new ExternSymbolNode(targetPrefix + "_tls_end"); LoopHijackFlag = new LoopHijackFlagNode(); this.buildMRT = buildMRT; }
public CompilationBuilder UseGenericDictionaryLayoutProvider(DictionaryLayoutProvider provider) { _dictionaryLayoutProvider = provider; return(this); }