summaryrefslogtreecommitdiff
path: root/src/vm
diff options
context:
space:
mode:
authorJonghyun Park <parjong@gmail.com>2016-12-06 05:08:33 +0900
committerJan Vorlicek <janvorli@microsoft.com>2016-12-05 21:08:33 +0100
commit0c952dcef303e2ee80e892bca7bf5d0950e225cd (patch)
treeaaa7184dfd1f064f7d9b4a730d95d8366db96661 /src/vm
parent46483e11a314a167eecc557ef3f246dcc95bee99 (diff)
downloadcoreclr-0c952dcef303e2ee80e892bca7bf5d0950e225cd.tar.gz
coreclr-0c952dcef303e2ee80e892bca7bf5d0950e225cd.tar.bz2
coreclr-0c952dcef303e2ee80e892bca7bf5d0950e225cd.zip
[x86/Linux] Enclose stub-linking methods with FEATURE_STUBS_AS_IL (#8432)
Diffstat (limited to 'src/vm')
-rw-r--r--src/vm/i386/cgenx86.cpp5
-rw-r--r--src/vm/i386/stublinkerx86.cpp2
-rw-r--r--src/vm/i386/stublinkerx86.h11
3 files changed, 14 insertions, 4 deletions
diff --git a/src/vm/i386/cgenx86.cpp b/src/vm/i386/cgenx86.cpp
index 5e3c4336a0..3774ac4ee7 100644
--- a/src/vm/i386/cgenx86.cpp
+++ b/src/vm/i386/cgenx86.cpp
@@ -772,6 +772,7 @@ Stub *GenerateUMThunkPrestub()
}
CONTRACT_END;
+#ifndef FEATURE_STUBS_AS_IL
CPUSTUBLINKER sl;
CPUSTUBLINKER *psl = &sl;
@@ -808,6 +809,10 @@ Stub *GenerateUMThunkPrestub()
psl->EmitComMethodStubEpilog(UMThkCallFrame::GetMethodFrameVPtr(), rgRareLabels, rgRejoinLabels, FALSE /*Don't profile*/);
RETURN psl->Link(SystemDomain::GetGlobalLoaderAllocator()->GetExecutableHeap());
+#else // FEATURE_STUBS_AS_IL
+ PORTABILITY_ASSERT("GenerateUMThunkPrestub");
+ return NULL;
+#endif // FEATURE_STUBS_AS_IL
}
Stub *GenerateInitPInvokeFrameHelper()
diff --git a/src/vm/i386/stublinkerx86.cpp b/src/vm/i386/stublinkerx86.cpp
index 32261a4177..3f4bad13cd 100644
--- a/src/vm/i386/stublinkerx86.cpp
+++ b/src/vm/i386/stublinkerx86.cpp
@@ -2624,6 +2624,7 @@ VOID StubLinkerCPU::EmitProfilerComCallEpilog(TADDR pFrameVptr, X86Reg regFrame)
#endif // PROFILING_SUPPORTED
+#ifndef FEATURE_STUBS_AS_IL
//========================================================================
// Prolog for entering managed code from COM
// pushes the appropriate frame ptr
@@ -2850,6 +2851,7 @@ void StubLinkerCPU::EmitComMethodStubEpilog(TADDR pFrameVptr,
EmitLabel(rgRareLabels[0]); // label for rare setup thread
EmitRareSetup(rgRejoinLabels[0], /*fThrow*/ TRUE); // emit rare setup thread
}
+#endif // !FEATURE_STUBS_AS_IL
//---------------------------------------------------------------
// Emit code to store the setup current Thread structure in eax.
diff --git a/src/vm/i386/stublinkerx86.h b/src/vm/i386/stublinkerx86.h
index 237fc794d4..ac37183350 100644
--- a/src/vm/i386/stublinkerx86.h
+++ b/src/vm/i386/stublinkerx86.h
@@ -345,6 +345,11 @@ class StubLinkerCPU : public StubLinker
VOID EmitSetup(CodeLabel *pForwardRef);
VOID EmitRareSetup(CodeLabel* pRejoinPoint, BOOL fThrow);
+
+#ifndef FEATURE_STUBS_AS_IL
+ VOID EmitMethodStubProlog(TADDR pFrameVptr, int transitionBlockOffset);
+ VOID EmitMethodStubEpilog(WORD numArgBytes, int transitionBlockOffset);
+
VOID EmitCheckGSCookie(X86Reg frameReg, int gsCookieOffset);
#ifdef _TARGET_X86_
@@ -353,10 +358,8 @@ class StubLinkerCPU : public StubLinker
void EmitComMethodStubEpilog(TADDR pFrameVptr, CodeLabel** rgRareLabels,
CodeLabel** rgRejoinLabels, BOOL bShouldProfile);
-#endif
-
- VOID EmitMethodStubProlog(TADDR pFrameVptr, int transitionBlockOffset);
- VOID EmitMethodStubEpilog(WORD numArgBytes, int transitionBlockOffset);
+#endif // _TARGET_X86_
+#endif // !FEATURE_STUBS_AS_IL
VOID EmitUnboxMethodStub(MethodDesc* pRealMD);
#if defined(FEATURE_SHARE_GENERIC_CODE)