diff options
author | Brian Sullivan <briansul@microsoft.com> | 2017-04-20 15:53:19 -0700 |
---|---|---|
committer | Brian Sullivan <briansul@microsoft.com> | 2017-04-20 15:53:19 -0700 |
commit | e13760cf8f64a4070ecbe4390a9d3b3170fe5de8 (patch) | |
tree | 1746cdaf6c526a8ef3a749640de316ea1d978976 /src/vm/siginfo.cpp | |
parent | 796cd8bd3c153af929844fcc4b4c950c1f9ad690 (diff) | |
download | coreclr-e13760cf8f64a4070ecbe4390a9d3b3170fe5de8.tar.gz coreclr-e13760cf8f64a4070ecbe4390a9d3b3170fe5de8.tar.bz2 coreclr-e13760cf8f64a4070ecbe4390a9d3b3170fe5de8.zip |
When we have profile data we can have cross module references in our ZapSig's when building ReadyToRun images.
We should return a null TypeHandle to indicate failure so that we don't attempt to add generic types/methods
that have cross module references. (i.e. MyList<System.Guid> )
Diffstat (limited to 'src/vm/siginfo.cpp')
-rw-r--r-- | src/vm/siginfo.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vm/siginfo.cpp b/src/vm/siginfo.cpp index b9955eca68..82aef45026 100644 --- a/src/vm/siginfo.cpp +++ b/src/vm/siginfo.cpp @@ -1199,7 +1199,10 @@ TypeHandle SigPointer::GetTypeHandleThrowing( PREFIX_ASSUME(pZapSigContext != NULL); pModule = pZapSigContext->GetZapSigModule()->GetModuleFromIndex(ix); - if (pModule != NULL) + + // For ReadyToRunCompilation we return a null TypeHandle when we reference a non-local module + // + if ((pModule != NULL) && pModule->IsInCurrentVersionBubble()) { thRet = psig.GetTypeHandleThrowing(pModule, pTypeContext, |