summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorAndon Andonov <anandono@microsoft.com>2019-01-14 19:59:12 -0800
committerGitHub <noreply@github.com>2019-01-14 19:59:12 -0800
commit9fe3286e3810298934315e999580edd78c3322c2 (patch)
tree79258a0ed5b043cc7a0ecac0131a77e58753e436 /src/tools
parentdbdae9cc324a97ebc9199b973abe9a21b1177f01 (diff)
downloadcoreclr-9fe3286e3810298934315e999580edd78c3322c2.tar.gz
coreclr-9fe3286e3810298934315e999580edd78c3322c2.tar.bz2
coreclr-9fe3286e3810298934315e999580edd78c3322c2.zip
Large version bubble Support (#21727)
* Preliminary Changes * Module Index Resolution * Change infoModule encoding * Change referencing module in R2R * Pre-condition Check * Virtual Method Module Resolution * Remove Workarounds and add conditional import loading * Add signature kind module override * Add ELEMENT_TYPE_MODULE_ZAPSIG * Add switch to enable large version bubble * Cleanup * Change Native header check * Add large version bubble test * Add Large Version Bubble Checks * Cleanup * Revert unnecessary check * Change EncodeMethod Version Bubble Condition * Add Large Version Bubble asserts * Cleanup * Add default argument to runtests.py * Change test PreCommands * Revert whitespace changes * Change breaking conditional check * Streamline Version Bubble test * Address PR Feedback * Address PR Feedback #2 * Remove dead code * Add crossgen-time ifdef
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/crossgen/crossgen.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/tools/crossgen/crossgen.cpp b/src/tools/crossgen/crossgen.cpp
index e208bc3818..26435830d2 100644
--- a/src/tools/crossgen/crossgen.cpp
+++ b/src/tools/crossgen/crossgen.cpp
@@ -152,6 +152,9 @@ void PrintUsageHelper()
#ifdef FEATURE_READYTORUN_COMPILER
W(" /ReadyToRun - Generate images resilient to the runtime and\n")
W(" dependency versions\n")
+ W(" /LargeVersionBubble - Generate image with a version bubble including all\n")
+ W(" input assemblies\n")
+
#endif
#ifdef FEATURE_WINMD_RESILIENT
W(" WinMD Parameters\n")
@@ -422,6 +425,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
LPWSTR pwzSearchPathForManagedPDB = NULL;
LPCWSTR pwzOutputFilename = NULL;
LPCWSTR pwzPublicKeys = nullptr;
+ bool fLargeVersionBubbleSwitch = false;
#if !defined(FEATURE_MERGE_JIT_AND_ENGINE)
LPCWSTR pwszCLRJITPath = nullptr;
@@ -518,6 +522,11 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
{
dwFlags &= ~NGENWORKER_FLAGS_READYTORUN;
}
+ else if (MatchParameter(*argv, W("LargeVersionBubble")))
+ {
+ dwFlags |= NGENWORKER_FLAGS_LARGEVERSIONBUBBLE;
+ fLargeVersionBubbleSwitch = true;
+ }
#endif
else if (MatchParameter(*argv, W("NoMetaData")))
{