Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordotnet-bot <dotnet-bot@microsoft.com>2018-08-10 01:06:37 +0300
committerdotnet-bot <dotnet-bot@microsoft.com>2018-08-10 01:06:37 +0300
commit38f5ba0886a2cd3c0d9171f624528e5a0a2cafcb (patch)
treea4f22884b54d2b00f3cff5546e835a870c273c5c /src/ILCompiler.Compiler
parent1b63b12bf1c3a898ee10f9eb8a838f369f4303db (diff)
Add size-optimization switch passing from ilc to NUTC to CoreRT in PureNative mode
[tfs-changeset: 1710061]
Diffstat (limited to 'src/ILCompiler.Compiler')
-rw-r--r--src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/UtcNodeFactory.cs29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/UtcNodeFactory.cs b/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/UtcNodeFactory.cs
index 2b7db44a7..66716587d 100644
--- a/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/UtcNodeFactory.cs
+++ b/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/UtcNodeFactory.cs
@@ -59,7 +59,7 @@ namespace ILCompiler
return null;
}
- private static MetadataManager PickMetadataManager(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, IEnumerable<ModuleDesc> inputModules, IEnumerable<ModuleDesc> inputMetadataOnlyAssemblies, string metadataFile)
+ private static MetadataManager PickMetadataManager(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, IEnumerable<ModuleDesc> inputModules, IEnumerable<ModuleDesc> inputMetadataOnlyAssemblies, string metadataFile, bool emitStackTraceMetadata, bool disableExceptionMessages)
{
if (metadataFile == null)
{
@@ -67,7 +67,28 @@ namespace ILCompiler
}
else
{
- return new PrecomputedMetadataManager(compilationModuleGroup, context, FindMetadataDescribingModuleInInputSet(inputModules), inputModules, inputMetadataOnlyAssemblies, ReadBytesFromFile(metadataFile), new UtcStackTraceEmissionPolicy(), new NoManifestResourceBlockingPolicy());
+ // Set Policies according to passed arguments
+ StackTraceEmissionPolicy stackTraceEmissionPolicy;
+ if (emitStackTraceMetadata)
+ {
+ stackTraceEmissionPolicy = new UtcStackTraceEmissionPolicy();
+ }
+ else
+ {
+ stackTraceEmissionPolicy = new NoStackTraceEmissionPolicy();
+ }
+
+ ManifestResourceBlockingPolicy resourceBlockingPolicy;
+ if (disableExceptionMessages)
+ {
+ resourceBlockingPolicy = new FrameworkStringResourceBlockingPolicy();
+ }
+ else
+ {
+ resourceBlockingPolicy = new NoManifestResourceBlockingPolicy();
+ }
+
+ return new PrecomputedMetadataManager(compilationModuleGroup, context, FindMetadataDescribingModuleInInputSet(inputModules), inputModules, inputMetadataOnlyAssemblies, ReadBytesFromFile(metadataFile), stackTraceEmissionPolicy , resourceBlockingPolicy);
}
}
@@ -86,11 +107,13 @@ namespace ILCompiler
string outputFile,
UTCNameMangler nameMangler,
bool buildMRT,
+ bool emitStackTraceMetadata,
+ bool disableExceptionMessages,
DictionaryLayoutProvider dictionaryLayoutProvider,
ImportedNodeProvider importedNodeProvider)
: base(context,
compilationModuleGroup,
- PickMetadataManager(context, compilationModuleGroup, inputModules, inputMetadataOnlyAssemblies, metadataFile),
+ PickMetadataManager(context, compilationModuleGroup, inputModules, inputMetadataOnlyAssemblies, metadataFile, emitStackTraceMetadata, disableExceptionMessages),
NewEmptyInteropStubManager(context, compilationModuleGroup),
nameMangler,
new AttributeDrivenLazyGenericsPolicy(),