summaryrefslogtreecommitdiff
path: root/src/vm
diff options
context:
space:
mode:
authorEugene Rozenfeld <erozen@microsoft.com>2018-03-12 12:39:02 -0700
committerGitHub <noreply@github.com>2018-03-12 12:39:02 -0700
commit5ca5310d7869bee6ea59494f2f89c46952aa874d (patch)
tree86d9e3828f0600fc6516db8c224c8e202db9aa5c /src/vm
parentb11d2e05e425ee520f7b8fe3faf694a7fca45727 (diff)
downloadcoreclr-5ca5310d7869bee6ea59494f2f89c46952aa874d.tar.gz
coreclr-5ca5310d7869bee6ea59494f2f89c46952aa874d.tar.bz2
coreclr-5ca5310d7869bee6ea59494f2f89c46952aa874d.zip
Run ILLInk on System.Private.CoreLib.dll to remove dead code. (#16876)
We already run ILLInk on corefx assemblies to remove dead code; this change enables that for System.Private.CoreLib.dll. The new ILLink.targets file is similar to the one in corefx. All runtime dependencies were already computed and rooted in an xml file that was embedded in System.Private.CoreLib.dll. This change adds ILLinkTrim.xml with a few manual roots. They are also included in the embedded xml. The dead code found by ILLink that could be removed from sources was already removed in https://github.com/dotnet/coreclr/pull/16759 The remaining code removed by ILLink falls into 4 categories: 1. Inlined constants. 2. Private default constructors when there are no other instance constructors. 3. System.Number+DoubleHelper.Sign that needs to stay in the sources for corert mirror. 4. EventListener._EventSourceCreated event methods (the even field is retained). ILLink also clears initlocals on all methods so I removed the workaround we had in jitinterface.cpp.
Diffstat (limited to 'src/vm')
-rw-r--r--src/vm/jitinterface.cpp7
1 files changed, 0 insertions, 7 deletions
diff --git a/src/vm/jitinterface.cpp b/src/vm/jitinterface.cpp
index db402eda90..706caf0e57 100644
--- a/src/vm/jitinterface.cpp
+++ b/src/vm/jitinterface.cpp
@@ -7467,13 +7467,6 @@ getMethodInfoHelper(
if (!fILIntrinsic)
{
getMethodInfoILMethodHeaderHelper(header, methInfo);
-
- // Workaround for https://github.com/dotnet/coreclr/issues/1279
- // Set init locals bit to zero for system module unless profiler may have overrided it. Remove once we have
- // better solution for this issue.
- if (pMT->GetModule()->IsSystem() && !(CORProfilerDisableAllNGenImages() || CORProfilerUseProfileImages()))
- methInfo->options = (CorInfoOptions)0;
-
pLocalSig = header->LocalVarSig;
cbLocalSig = header->cbLocalVarSig;
}