summaryrefslogtreecommitdiff
path: root/src/vm/dllimportcallback.h
diff options
context:
space:
mode:
authorSaeHie Park <saehie.park@gmail.com>2016-12-13 08:22:29 +0900
committerJan Vorlicek <janvorli@microsoft.com>2016-12-13 00:22:29 +0100
commitec17ff6bcd252867e3cd40b630e559f6cfb38b36 (patch)
treec94792fe732538b046169b36f48fa0b0ce5ef8a3 /src/vm/dllimportcallback.h
parent599896c06e23ca9698ff79f9c6fb563c64618d93 (diff)
downloadcoreclr-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.h16
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