Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordotnet-bot <dotnet-bot@microsoft.com>2017-04-07 19:15:14 +0300
committerdotnet-bot <dotnet-bot@microsoft.com>2017-04-07 19:15:14 +0300
commit2bbc0dce126b38922682fe7f5f46d805029d438f (patch)
treea3d3e15bf3150ac606b2334bc01ad917aeb7c105 /src/Native/Runtime/TypeManager.h
parentecd7ae9edb94fe45cc28af6ce5437fbc428a2ae8 (diff)
ProjectX: Hook up class lib functions with type manager
The class lib functions are already hooked up to code manager. However, there are cases where we look for class lib functions from EEtype, such as GetClasslibException on an eeype. This change attaches the class lib function array to every type manager and sets up a runtime helper to get to the class lib function GetRuntimeException from an EEtype. [tfs-changeset: 1653592]
Diffstat (limited to 'src/Native/Runtime/TypeManager.h')
-rw-r--r--src/Native/Runtime/TypeManager.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Native/Runtime/TypeManager.h b/src/Native/Runtime/TypeManager.h
index df095a336..1a5baa216 100644
--- a/src/Native/Runtime/TypeManager.h
+++ b/src/Native/Runtime/TypeManager.h
@@ -18,15 +18,18 @@ class TypeManager
UInt8* m_pStaticsGCDataSection;
UInt8* m_pThreadStaticsDataSection;
UInt32* m_pTlsIndex; // Pointer to TLS index if this module uses thread statics
+ void** m_pClasslibFunctions;
+ UInt32 m_nClasslibFunctions;
- TypeManager(HANDLE osModule, ReadyToRunHeader * pHeader);
+ TypeManager(HANDLE osModule, ReadyToRunHeader * pHeader, void** pClasslibFunctions, UInt32 nClasslibFunctions);
public:
- static TypeManager * Create(HANDLE osModule, void * pModuleHeader);
+ static TypeManager * Create(HANDLE osModule, void * pModuleHeader, void** pClasslibFunctions, UInt32 nClasslibFunctions);
void * GetModuleSection(ReadyToRunSectionType sectionId, int * length);
DispatchMap ** GetDispatchMapLookupTable();
void EnumStaticGCRefs(void * pfnCallback, void * pvCallbackData);
HANDLE GetOsModuleHandle();
+ void* GetClasslibFunction(ClasslibFunctionId functionId);
private: