diff options
author | Jeremy Koritzinsky <jekoritz@microsoft.com> | 2019-06-10 21:33:00 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-10 21:33:00 -0700 |
commit | a6292a6573e1f7d6e218293773e443280683cd83 (patch) | |
tree | 64041c42a5801cb4d10316380b4b368388dd18fb /src/vm/ecalllist.h | |
parent | 5cea50c794753b65a25c17b9b88a84eb7e432ba5 (diff) | |
download | coreclr-a6292a6573e1f7d6e218293773e443280683cd83.tar.gz coreclr-a6292a6573e1f7d6e218293773e443280683cd83.tar.bz2 coreclr-a6292a6573e1f7d6e218293773e443280683cd83.zip |
Switch P/Invokes into libcoreclr for the PAL to QCalls (#25055)
* Switch PInvokes into libcoreclr to QCalls
* Register QCalls in runtime. Remove pal exports from libcoreclr
* Alphabetize new ecalllist.h entries
* Remove W suffixes from native side of QCall
* Interop signatures are in nested classes (which doesn't show up here) in the root namespace. So we don't want to pass a namespace in here
* Convert the interop test in R2R to use a local native library instead of calling into the CoreCLR PAL via DllImport.
Diffstat (limited to 'src/vm/ecalllist.h')
-rw-r--r-- | src/vm/ecalllist.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/vm/ecalllist.h b/src/vm/ecalllist.h index b63d216050..3b9d6b1515 100644 --- a/src/vm/ecalllist.h +++ b/src/vm/ecalllist.h @@ -1140,6 +1140,54 @@ FCFuncStart(gWeakReferenceOfTFuncs) FCFuncElement("IsTrackResurrection", WeakReferenceOfTNative::IsTrackResurrection) FCFuncEnd() +#ifdef FEATURE_PAL +FCFuncStart(gPalKernel32Funcs) + QCFuncElement("CloseHandle", CloseHandle) + QCFuncElement("CreateEvent", CreateEventW) + QCFuncElement("CreateEventEx", CreateEventExW) + QCFuncElement("CreateMutex", CreateMutexW) + QCFuncElement("CreateMutexEx", CreateMutexExW) + QCFuncElement("CreateSemaphore", CreateSemaphoreW) + QCFuncElement("CreateSemaphoreEx", CreateSemaphoreExW) + QCFuncElement("FormatMessage", FormatMessageW) + QCFuncElement("FreeEnvironmentStrings", FreeEnvironmentStringsW) + QCFuncElement("GetCurrentProcessId", GetCurrentProcessId) + QCFuncElement("GetCurrentThreadId", GetCurrentThreadId) + QCFuncElement("GetEnvironmentStrings", GetEnvironmentStringsW) + QCFuncElement("GetEnvironmentVariable", GetEnvironmentVariableW) + QCFuncElement("GetStdHandle", GetStdHandle) + QCFuncElement("GetSystemInfo", GetSystemInfo) + QCFuncElement("LocalAlloc", LocalAlloc) + QCFuncElement("LocalReAlloc", LocalReAlloc) + QCFuncElement("LocalFree", LocalFree) + QCFuncElement("OpenEvent", OpenEventW) + QCFuncElement("OpenMutex", OpenMutexW) + QCFuncElement("OpenSemaphore", OpenSemaphoreW) + QCFuncElement("OutputDebugString", OutputDebugStringW) + QCFuncElement("QueryPerformanceCounter", QueryPerformanceCounter) + QCFuncElement("QueryPerformanceFrequency", QueryPerformanceFrequency) + QCFuncElement("ReleaseMutex", ReleaseMutex) + QCFuncElement("ReleaseSemaphore", ReleaseSemaphore) + QCFuncElement("ResetEvent", ResetEvent) + QCFuncElement("SetEnvironmentVariable", SetEnvironmentVariableW) + QCFuncElement("SetEvent", SetEvent) + QCFuncElement("WriteFile", WriteFile) +FCFuncEnd() + +FCFuncStart(gPalOle32Funcs) + QCFuncElement("CoTaskMemAlloc", CoTaskMemAlloc) + QCFuncElement("CoTaskMemRealloc", CoTaskMemRealloc) + QCFuncElement("CoTaskMemFree", CoTaskMemFree) +FCFuncEnd() + +FCFuncStart(gPalOleAut32Funcs) + QCFuncElement("SysAllocStringByteLen", SysAllocStringByteLen) + QCFuncElement("SysAllocStringLen", SysAllocStringLen) + QCFuncElement("SysFreeString", SysFreeString) + QCFuncElement("SysStringLen", SysStringLen) +FCFuncEnd() +#endif + #ifdef FEATURE_COMINTEROP // @@ -1215,6 +1263,9 @@ FCClassElement("IReflect", "System.Reflection", gStdMngIReflectFuncs) FCClassElement("InterfaceMarshaler", "System.StubHelpers", gInterfaceMarshalerFuncs) #endif FCClassElement("Interlocked", "System.Threading", gInterlockedFuncs) +#if FEATURE_PAL +FCClassElement("Kernel32", "", gPalKernel32Funcs) +#endif FCClassElement("LoaderAllocatorScout", "System.Reflection", gLoaderAllocatorFuncs) FCClassElement("Marshal", "System.Runtime.InteropServices", gInteropMarshalFuncs) FCClassElement("Math", "System", gMathFuncs) @@ -1241,6 +1292,10 @@ FCClassElement("Object", "System", gObjectFuncs) #ifdef FEATURE_COMINTEROP FCClassElement("ObjectMarshaler", "System.StubHelpers", gObjectMarshalerFuncs) #endif +#ifdef FEATURE_PAL +FCClassElement("Ole32", "", gPalOle32Funcs) +FCClassElement("OleAut32", "", gPalOleAut32Funcs) +#endif FCClassElement("OverlappedData", "System.Threading", gOverlappedFuncs) |