diff options
author | SaeHie Park <saehie.park@gmail.com> | 2016-12-13 08:22:29 +0900 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2016-12-13 00:22:29 +0100 |
commit | ec17ff6bcd252867e3cd40b630e559f6cfb38b36 (patch) | |
tree | c94792fe732538b046169b36f48fa0b0ce5ef8a3 /src/vm/dllimportcallback.h | |
parent | 599896c06e23ca9698ff79f9c6fb563c64618d93 (diff) | |
download | coreclr-ec17ff6bcd252867e3cd40b630e559f6cfb38b36.tar.gz coreclr-ec17ff6bcd252867e3cd40b630e559f6cfb38b36.tar.bz2 coreclr-ec17ff6bcd252867e3cd40b630e559f6cfb38b36.zip |
[x86/Linux] implement TheUMEntryPrestub (#8589)
Initial code for x86 TheUMEntryPrestub, UMThunkStub
Diffstat (limited to 'src/vm/dllimportcallback.h')
-rw-r--r-- | src/vm/dllimportcallback.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/vm/dllimportcallback.h b/src/vm/dllimportcallback.h index 936916872c..c2ed6d0039 100644 --- a/src/vm/dllimportcallback.h +++ b/src/vm/dllimportcallback.h @@ -110,7 +110,7 @@ public: return m_pMD; } -#ifdef _TARGET_X86_ +#if defined(_TARGET_X86_) && !defined(FEATURE_STUBS_AS_IL) PCODE GetExecStubEntryPoint() { WRAPPER_NO_CONTRACT; @@ -199,18 +199,18 @@ public: return (UINT32)offsetof(UMThunkMarshInfo, m_pILStub); } -#ifdef _TARGET_X86_ +#if defined(_TARGET_X86_) && !defined(FEATURE_STUBS_AS_IL) // Compiles an unmanaged to managed thunk for the given signature. The thunk // will call the stub or, if fNoStub == TRUE, directly the managed target. Stub *CompileNExportThunk(LoaderHeap *pLoaderHeap, PInvokeStaticSigInfo* pSigInfo, MetaSig *pMetaSig, BOOL fNoStub); -#endif // _TARGET_X86_ +#endif // _TARGET_X86_ && !FEATURE_STUBS_AS_IL private: PCODE m_pILStub; // IL stub for marshaling // On x86, NULL for no-marshal signatures // On non-x86, the managed entrypoint for no-delegate no-marshal signatures UINT32 m_cbActualArgSize; // caches m_pSig.SizeOfFrameArgumentArray() -#ifdef _TARGET_X86_ +#if defined(_TARGET_X86_) && !defined(FEATURE_STUBS_AS_IL) Stub* m_pExecStub; // UMEntryThunk jumps directly here UINT16 m_cbRetPop; // stack bytes popped by callee (for UpdateRegDisplay) UINT16 m_callConv; // unmanaged calling convention and flags (CorPinvokeMap) @@ -248,7 +248,7 @@ public: static UMEntryThunk* CreateUMEntryThunk(); static VOID FreeUMEntryThunk(UMEntryThunk* p); -#ifdef _TARGET_X86_ +#if defined(_TARGET_X86_) && !defined(FEATURE_STUBS_AS_IL) // Compiles an unmanaged to managed thunk with the given calling convention adaptation. // - psrcofsregs are stack offsets that should be loaded to argument registers (ECX, EDX) // - psrcofs are stack offsets that should be repushed for the managed target @@ -263,7 +263,7 @@ public: UINT *psrcofsregs, UINT *psrcofs, UINT retbufofs); -#endif // _TARGET_X86_ +#endif // _TARGET_X86_ && !FEATURE_STUBS_AS_IL #ifndef DACCESS_COMPILE VOID LoadTimeInit(PCODE pManagedTarget, @@ -569,12 +569,12 @@ private: AppDomain *m_pDomain; }; -#ifdef _TARGET_X86_ +#if defined(_TARGET_X86_) && !defined(FEATURE_STUBS_AS_IL) //------------------------------------------------------------------------- // One-time creation of special prestub to initialize UMEntryThunks. //------------------------------------------------------------------------- Stub *GenerateUMThunkPrestub(); -#endif // _TARGET_X86_ +#endif // _TARGET_X86_ && !FEATURE_STUBS_AS_IL //------------------------------------------------------------------------- // NExport stub |