summaryrefslogtreecommitdiff
path: root/src/vm/pefile.cpp
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2015-10-29 19:09:52 -0700
committerJan Kotas <jkotas@microsoft.com>2015-10-29 19:09:52 -0700
commita8192fbc7064ed96cfeb8872bcb6479c217f7b5f (patch)
tree738c092202d3ce5c7ed4ec08114c3c41b7b005d8 /src/vm/pefile.cpp
parent3c50dec5796206c6042fd6adc3133a0ad22649e5 (diff)
downloadcoreclr-a8192fbc7064ed96cfeb8872bcb6479c217f7b5f.tar.gz
coreclr-a8192fbc7064ed96cfeb8872bcb6479c217f7b5f.tar.bz2
coreclr-a8192fbc7064ed96cfeb8872bcb6479c217f7b5f.zip
Port .NET Framework 4.6.1 changes
Core runtime and GC changes from https://github.com/Microsoft/dotnet/blob/master/docs/releases/net461/dotnet461-changes.md that are not in CoreCLR yet [tfs-changeset: 1543382]
Diffstat (limited to 'src/vm/pefile.cpp')
-rw-r--r--src/vm/pefile.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/vm/pefile.cpp b/src/vm/pefile.cpp
index 517092549c..f07cd051c9 100644
--- a/src/vm/pefile.cpp
+++ b/src/vm/pefile.cpp
@@ -1681,6 +1681,17 @@ void PEFile::SetNativeImage(PEImage *image)
m_nativeImage->Load();
m_nativeImage->AllocateLazyCOWPages();
+#if defined(_TARGET_AMD64_) && !defined(CROSSGEN_COMPILE)
+ static ConfigDWORD configNGenReserveForJumpStubs;
+ int percentReserveForJumpStubs = configNGenReserveForJumpStubs.val(CLRConfig::INTERNAL_NGenReserveForJumpStubs);
+ if (percentReserveForJumpStubs != 0)
+ {
+ PEImageLayout * pLayout = image->GetLoadedLayout();
+ ExecutionManager::GetEEJitManager()->EnsureJumpStubReserve((BYTE *)pLayout->GetBase(), pLayout->GetVirtualSize(),
+ percentReserveForJumpStubs * (pLayout->GetVirtualSize() / 100));
+ }
+#endif
+
ExternalLog(LL_INFO100, W("Attempting to use native image %s."), image->GetPath().GetUnicode());
RETURN;
}