diff options
Diffstat (limited to 'src/vm/util.hpp')
-rw-r--r-- | src/vm/util.hpp | 188 |
1 files changed, 5 insertions, 183 deletions
diff --git a/src/vm/util.hpp b/src/vm/util.hpp index d81eedb0df..554429259f 100644 --- a/src/vm/util.hpp +++ b/src/vm/util.hpp @@ -678,16 +678,6 @@ public: } }; -#ifdef FEATURE_INCLUDE_ALL_INTERFACES -#define CLRMEMORYHOSTED 0x1 -#define CLRTASKHOSTED 0x2 -#define CLRSYNCHOSTED 0x4 -#define CLRTHREADPOOLHOSTED 0x8 -#define CLRIOCOMPLETIONHOSTED 0x10 -#define CLRASSEMBLYHOSTED 0x20 -#define CLRGCHOSTED 0x40 -#define CLRSECURITYHOSTED 0x80 -#endif #define CLRHOSTED 0x80000000 GVAL_DECL(DWORD, g_fHostConfig); @@ -700,110 +690,6 @@ inline BOOL CLRHosted() return g_fHostConfig; } -#ifdef FEATURE_INCLUDE_ALL_INTERFACES -inline BOOL CLRMemoryHosted() -{ - LIMITED_METHOD_CONTRACT; - - return g_fHostConfig&CLRMEMORYHOSTED; -} - -inline BOOL CLRTaskHosted() -{ - // !!! Can not use contract here. - // !!! This function is called by Thread::DetachThread after we free TLS memory. - // !!! Contract will recreate TLS memory. - LIMITED_METHOD_DAC_CONTRACT; - - return g_fHostConfig&CLRTASKHOSTED; -} - -inline BOOL CLRSyncHosted() -{ - LIMITED_METHOD_CONTRACT; - - return g_fHostConfig&CLRSYNCHOSTED; -} -inline BOOL CLRThreadpoolHosted() -{ - LIMITED_METHOD_CONTRACT; - - return g_fHostConfig&CLRTHREADPOOLHOSTED; -} -inline BOOL CLRIoCompletionHosted() -{ - LIMITED_METHOD_CONTRACT; - - return g_fHostConfig&CLRIOCOMPLETIONHOSTED; -} -inline BOOL CLRAssemblyHosted() -{ - return g_fHostConfig&CLRASSEMBLYHOSTED; -} - -inline BOOL CLRGCHosted() -{ - LIMITED_METHOD_CONTRACT; - - return g_fHostConfig&CLRGCHOSTED; -} - -inline BOOL CLRSecurityHosted() -{ - LIMITED_METHOD_CONTRACT; - - return g_fHostConfig&CLRSECURITYHOSTED; -} -#else // FEATURE_INCLUDE_ALL_INTERFACES -inline BOOL CLRMemoryHosted() -{ - LIMITED_METHOD_CONTRACT; - return FALSE; -} - -inline BOOL CLRTaskHosted() -{ - LIMITED_METHOD_DAC_CONTRACT; - return FALSE; -} - -inline BOOL CLRSyncHosted() -{ - LIMITED_METHOD_CONTRACT; - return FALSE; -} - -inline BOOL CLRThreadpoolHosted() -{ - LIMITED_METHOD_CONTRACT; - return FALSE; -} - -inline BOOL CLRIoCompletionHosted() -{ - LIMITED_METHOD_CONTRACT; - return FALSE; -} - -inline BOOL CLRAssemblyHosted() -{ - LIMITED_METHOD_CONTRACT; - return FALSE; -} - -inline BOOL CLRGCHosted() -{ - LIMITED_METHOD_CONTRACT; - return FALSE; -} - -inline BOOL CLRSecurityHosted() -{ - LIMITED_METHOD_CONTRACT; - return FALSE; -} -#endif // FEATURE_INCLUDE_ALL_INTERFACES - #ifndef FEATURE_PAL HMODULE CLRGetModuleHandle(LPCWSTR lpModuleFileName); @@ -874,30 +760,17 @@ BOOL IsHostRegisteredForEvent(EClrEvent event); SetupThreadForComCall(OOMRetVal); \ if (CheckCanRunManagedCode && !CanRunManagedCode()) \ return CannotEnterRetVal; \ -SO_INTOLERANT_CODE_NOTHROW(CURRENT_THREAD, return SORetVal) \ - -#define ComCallHostNotificationHR() \ -ReverseEnterRuntimeHolderNoThrow REHolder; \ -if (CLRTaskHosted()) \ -{ \ - HRESULT hr = REHolder.AcquireNoThrow(); \ - if (FAILED(hr)) \ - { \ - return hr; \ - } \ -} +SO_INTOLERANT_CODE_NOTHROW(CURRENT_THREAD, return SORetVal) #define SetupForComCallHRNoHostNotif() InternalSetupForComCall(HOST_E_CLRNOTAVAILABLE, E_OUTOFMEMORY, COR_E_STACKOVERFLOW, true) #define SetupForComCallHRNoHostNotifNoCheckCanRunManagedCode() InternalSetupForComCall(HOST_E_CLRNOTAVAILABLE, E_OUTOFMEMORY, COR_E_STACKOVERFLOW, false) #define SetupForComCallDWORDNoHostNotif() InternalSetupForComCall(-1, -1, -1, true) #define SetupForComCallHR() \ -InternalSetupForComCall(HOST_E_CLRNOTAVAILABLE, E_OUTOFMEMORY, COR_E_STACKOVERFLOW, true) \ -ComCallHostNotificationHR() +InternalSetupForComCall(HOST_E_CLRNOTAVAILABLE, E_OUTOFMEMORY, COR_E_STACKOVERFLOW, true) #define SetupForComCallHRNoCheckCanRunManagedCode() \ -InternalSetupForComCall(HOST_E_CLRNOTAVAILABLE, E_OUTOFMEMORY, COR_E_STACKOVERFLOW, false) \ -ComCallHostNotificationHR() +InternalSetupForComCall(HOST_E_CLRNOTAVAILABLE, E_OUTOFMEMORY, COR_E_STACKOVERFLOW, false) #ifdef FEATURE_CORRUPTING_EXCEPTIONS @@ -912,11 +785,6 @@ BEGIN_SO_INTOLERANT_CODE_NOTHROW(CURRENT_THREAD, SORetVal) \ #define BeginSetupForComCallHRWithEscapingCorruptingExceptions() \ HRESULT __hr = S_OK; \ InternalSetupForComCallWithEscapingCorruptingExceptions(HOST_E_CLRNOTAVAILABLE, E_OUTOFMEMORY, COR_E_STACKOVERFLOW, true) \ -ReverseEnterRuntimeHolderNoThrow REHolder; \ -if (CLRTaskHosted()) \ -{ \ - __hr = REHolder.AcquireNoThrow(); \ -} \ \ if (SUCCEEDED(__hr)) \ { \ @@ -933,28 +801,12 @@ if (FAILED(__hr)) \ #endif // FEATURE_CORRUPTING_EXCEPTIONS #define SetupForComCallDWORD() \ -InternalSetupForComCall(-1, -1, -1, true) \ -ReverseEnterRuntimeHolderNoThrow REHolder; \ -if (CLRTaskHosted()) \ -{ \ - if (FAILED(REHolder.AcquireNoThrow())) \ - { \ - return -1; \ - } \ -} +InternalSetupForComCall(-1, -1, -1, true) // Special version of SetupForComCallDWORD that doesn't call // CanRunManagedCode() to avoid firing LoaderLock MDA #define SetupForComCallDWORDNoCheckCanRunManagedCode() \ -InternalSetupForComCall(-1, -1, -1, false) \ -ReverseEnterRuntimeHolderNoThrow REHolder; \ -if (CLRTaskHosted()) \ -{ \ - if (FAILED(REHolder.AcquireNoThrow())) \ - { \ - return -1; \ - } \ -} +InternalSetupForComCall(-1, -1, -1, false) #include "unsafe.h" @@ -985,8 +837,6 @@ FORCEINLINE void VoidFreeWinAllocatedBlock(LPVOID pv) { LIMITED_METHOD_CONTRACT; - _ASSERTE(!CLRMemoryHosted()); - #pragma push_macro("GetProcessHeap") #pragma push_macro("HeapFree") #undef GetProcessHeap @@ -1294,35 +1144,7 @@ public: extern LONG g_OLEAUT32_Loaded; -#ifndef FEATURE_CORECLR -#define ENSURE_OLEAUT32_LOADED() \ -{ \ - /* Should only be used in FCALL */ \ - _ASSERTE (__me != 0); \ - if (g_OLEAUT32_Loaded == 0) \ - { \ - /* CLRLoadLibrary/CLRFreeLibrary claim they trigger, but this */ \ - /* isn't really true in this case because we're loading oleaut32 */ \ - /* which we know doesn't contain any managed code in its DLLMain */ \ - CONTRACT_VIOLATION(GCViolation|SOToleranceViolation); \ - HMODULE hMod = CLRLoadLibrary(W("oleaut32")); \ - if (hMod == NULL) \ - { \ - __FCThrow(__me, kOutOfMemoryException, 0, 0, 0, 0); \ - } \ - else \ - { \ - if (FastInterlockExchange(&g_OLEAUT32_Loaded, 1) == 1) \ - { \ - CLRFreeLibrary(hMod); \ - } \ - } \ - } \ -} \ -INDEBUG(DisableDelayLoadCheckForOleaut32 _disableOleaut32Check); -#else // !FEATURE_CORECLR #define ENSURE_OLEAUT32_LOADED() -#endif // !FEATURE_CORECLR BOOL DbgIsExecutable(LPVOID lpMem, SIZE_T length); |