diff options
author | Jonghyun Park <parjong@gmail.com> | 2016-12-06 05:08:33 +0900 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2016-12-05 21:08:33 +0100 |
commit | 0c952dcef303e2ee80e892bca7bf5d0950e225cd (patch) | |
tree | aaa7184dfd1f064f7d9b4a730d95d8366db96661 /src/vm | |
parent | 46483e11a314a167eecc557ef3f246dcc95bee99 (diff) | |
download | coreclr-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.cpp | 5 | ||||
-rw-r--r-- | src/vm/i386/stublinkerx86.cpp | 2 | ||||
-rw-r--r-- | src/vm/i386/stublinkerx86.h | 11 |
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) |