summaryrefslogtreecommitdiff
path: root/src/vm/siginfo.cpp
diff options
context:
space:
mode:
authorBrian Sullivan <briansul@microsoft.com>2017-04-20 15:53:19 -0700
committerBrian Sullivan <briansul@microsoft.com>2017-04-20 15:53:19 -0700
commite13760cf8f64a4070ecbe4390a9d3b3170fe5de8 (patch)
tree1746cdaf6c526a8ef3a749640de316ea1d978976 /src/vm/siginfo.cpp
parent796cd8bd3c153af929844fcc4b4c950c1f9ad690 (diff)
downloadcoreclr-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.cpp5
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,