summaryrefslogtreecommitdiff
path: root/src/gc
diff options
context:
space:
mode:
Diffstat (limited to 'src/gc')
-rw-r--r--src/gc/gchandletable.cpp41
-rw-r--r--src/gc/gchandletableimpl.h18
-rw-r--r--src/gc/gcinterface.h18
3 files changed, 41 insertions, 36 deletions
diff --git a/src/gc/gchandletable.cpp b/src/gc/gchandletable.cpp
index 28852df038..82ab269861 100644
--- a/src/gc/gchandletable.cpp
+++ b/src/gc/gchandletable.cpp
@@ -23,14 +23,19 @@ void GCHandleTable::Shutdown()
Ref_Shutdown();
}
-void* GCHandleTable::GetGlobalHandleTable()
+void* GCHandleTable::GetGlobalHandleStore()
{
return (void*)g_HandleTableMap.pBuckets[0];
}
-void* GCHandleTable::GetNewHandleTable(void* context)
+void* GCHandleTable::CreateHandleStore(void* context)
{
- return (void*)::Ref_CreateHandleTableBucket(ADIndex((uintptr_t)context));
+#ifndef FEATURE_REDHAWK
+ return (void*)::Ref_CreateHandleTableBucket(ADIndex((DWORD)(uintptr_t)context));
+#else
+ assert("CreateHandleStore is not implemented when FEATURE_REDHAWK is defined!");
+ return nullptr;
+#endif
}
void* GCHandleTable::GetHandleContext(OBJECTHANDLE handle)
@@ -38,30 +43,30 @@ void* GCHandleTable::GetHandleContext(OBJECTHANDLE handle)
return (void*)((uintptr_t)::HndGetHandleTableADIndex(::HndGetHandleTable(handle)).m_dwIndex);
}
-void GCHandleTable::DestroyHandleTable(void* table)
+void GCHandleTable::DestroyHandleStore(void* store)
{
- Ref_DestroyHandleTableBucket((HandleTableBucket*) table);
+ Ref_DestroyHandleTableBucket((HandleTableBucket*) store);
}
-void GCHandleTable::UprootHandleTable(void* table)
+void GCHandleTable::UprootHandleStore(void* store)
{
- Ref_RemoveHandleTableBucket((HandleTableBucket*) table);
+ Ref_RemoveHandleTableBucket((HandleTableBucket*) store);
}
-bool GCHandleTable::ContainsHandle(void* table, OBJECTHANDLE handle)
+bool GCHandleTable::ContainsHandle(void* store, OBJECTHANDLE handle)
{
- return ((HandleTableBucket*)table)->Contains(handle);
+ return ((HandleTableBucket*)store)->Contains(handle);
}
-OBJECTHANDLE GCHandleTable::CreateHandleOfType(void* table, Object* object, int type)
+OBJECTHANDLE GCHandleTable::CreateHandleOfType(void* store, Object* object, int type)
{
- HHANDLETABLE handletable = ((HandleTableBucket*)table)->pTable[GetCurrentThreadHomeHeapNumber()];
+ HHANDLETABLE handletable = ((HandleTableBucket*)store)->pTable[GetCurrentThreadHomeHeapNumber()];
return ::HndCreateHandle(handletable, type, ObjectToOBJECTREF(object));
}
-OBJECTHANDLE GCHandleTable::CreateHandleOfType(void* table, Object* object, int type, int heapToAffinitizeTo)
+OBJECTHANDLE GCHandleTable::CreateHandleOfType(void* store, Object* object, int type, int heapToAffinitizeTo)
{
- HHANDLETABLE handletable = ((HandleTableBucket*)table)->pTable[heapToAffinitizeTo];
+ HHANDLETABLE handletable = ((HandleTableBucket*)store)->pTable[heapToAffinitizeTo];
return ::HndCreateHandle(handletable, type, ObjectToOBJECTREF(object));
}
@@ -70,15 +75,15 @@ OBJECTHANDLE GCHandleTable::CreateGlobalHandleOfType(Object* object, int type)
return ::HndCreateHandle(g_HandleTableMap.pBuckets[0]->pTable[GetCurrentThreadHomeHeapNumber()], type, ObjectToOBJECTREF(object));
}
-OBJECTHANDLE GCHandleTable::CreateHandleWithExtraInfo(void* table, Object* object, int type, void* pExtraInfo)
+OBJECTHANDLE GCHandleTable::CreateHandleWithExtraInfo(void* store, Object* object, int type, void* pExtraInfo)
{
- HHANDLETABLE handletable = ((HandleTableBucket*)table)->pTable[GetCurrentThreadHomeHeapNumber()];
+ HHANDLETABLE handletable = ((HandleTableBucket*)store)->pTable[GetCurrentThreadHomeHeapNumber()];
return ::HndCreateHandle(handletable, type, ObjectToOBJECTREF(object), reinterpret_cast<uintptr_t>(pExtraInfo));
}
-OBJECTHANDLE GCHandleTable::CreateDependentHandle(void* table, Object* primary, Object* secondary)
+OBJECTHANDLE GCHandleTable::CreateDependentHandle(void* store, Object* primary, Object* secondary)
{
- HHANDLETABLE handletable = ((HandleTableBucket*)table)->pTable[GetCurrentThreadHomeHeapNumber()];
+ HHANDLETABLE handletable = ((HandleTableBucket*)store)->pTable[GetCurrentThreadHomeHeapNumber()];
OBJECTHANDLE handle = ::HndCreateHandle(handletable, HNDTYPE_DEPENDENT, ObjectToOBJECTREF(primary));
::SetDependentHandleSecondary(handle, ObjectToOBJECTREF(secondary));
@@ -87,7 +92,7 @@ OBJECTHANDLE GCHandleTable::CreateDependentHandle(void* table, Object* primary,
OBJECTHANDLE GCHandleTable::CreateDuplicateHandle(OBJECTHANDLE handle)
{
- return ::HndCreateHandle(HndGetHandleTable(handle), HNDTYPE_DEFAULT, ObjectFromHandle(handle));
+ return ::HndCreateHandle(HndGetHandleTable(handle), HNDTYPE_DEFAULT, ::HndFetchHandle(handle));
}
void GCHandleTable::DestroyHandleOfType(OBJECTHANDLE handle, int type)
diff --git a/src/gc/gchandletableimpl.h b/src/gc/gchandletableimpl.h
index a45f98395d..af20f52e54 100644
--- a/src/gc/gchandletableimpl.h
+++ b/src/gc/gchandletableimpl.h
@@ -14,25 +14,25 @@ public:
virtual void Shutdown();
- virtual void* GetGlobalHandleTable();
+ virtual void* GetGlobalHandleStore();
- virtual void* GetNewHandleTable(void* context);
+ virtual void* CreateHandleStore(void* context);
virtual void* GetHandleContext(OBJECTHANDLE handle);
- virtual void DestroyHandleTable(void* table);
+ virtual void DestroyHandleStore(void* store);
- virtual void UprootHandleTable(void* table);
+ virtual void UprootHandleStore(void* store);
- virtual bool ContainsHandle(void* table, OBJECTHANDLE handle);
+ virtual bool ContainsHandle(void* store, OBJECTHANDLE handle);
- virtual OBJECTHANDLE CreateHandleOfType(void* table, Object* object, int type);
+ virtual OBJECTHANDLE CreateHandleOfType(void* store, Object* object, int type);
- virtual OBJECTHANDLE CreateHandleOfType(void* table, Object* object, int type, int heapToAffinitizeTo);
+ virtual OBJECTHANDLE CreateHandleOfType(void* store, Object* object, int type, int heapToAffinitizeTo);
- virtual OBJECTHANDLE CreateHandleWithExtraInfo(void* table, Object* object, int type, void* pExtraInfo);
+ virtual OBJECTHANDLE CreateHandleWithExtraInfo(void* store, Object* object, int type, void* pExtraInfo);
- virtual OBJECTHANDLE CreateDependentHandle(void* table, Object* primary, Object* secondary);
+ virtual OBJECTHANDLE CreateDependentHandle(void* store, Object* primary, Object* secondary);
virtual OBJECTHANDLE CreateGlobalHandleOfType(Object* object, int type);
diff --git a/src/gc/gcinterface.h b/src/gc/gcinterface.h
index b2bfbb7298..cac2ba7114 100644
--- a/src/gc/gcinterface.h
+++ b/src/gc/gcinterface.h
@@ -411,23 +411,23 @@ public:
virtual void* GetHandleContext(OBJECTHANDLE handle) = 0;
- virtual void* GetGlobalHandleTable() = 0;
+ virtual void* GetGlobalHandleStore() = 0;
- virtual void* GetNewHandleTable(void* context) = 0;
+ virtual void* CreateHandleStore(void* context) = 0;
- virtual void DestroyHandleTable(void* table) = 0;
+ virtual void DestroyHandleStore(void* store) = 0;
- virtual void UprootHandleTable(void* table) = 0;
+ virtual void UprootHandleStore(void* store) = 0;
- virtual bool ContainsHandle(void* table, OBJECTHANDLE handle) = 0;
+ virtual bool ContainsHandle(void* store, OBJECTHANDLE handle) = 0;
- virtual OBJECTHANDLE CreateHandleOfType(void* table, Object* object, int type) = 0;
+ virtual OBJECTHANDLE CreateHandleOfType(void* store, Object* object, int type) = 0;
- virtual OBJECTHANDLE CreateHandleOfType(void* table, Object* object, int type, int heapToAffinitizeTo) = 0;
+ virtual OBJECTHANDLE CreateHandleOfType(void* store, Object* object, int type, int heapToAffinitizeTo) = 0;
- virtual OBJECTHANDLE CreateHandleWithExtraInfo(void* table, Object* object, int type, void* pExtraInfo) = 0;
+ virtual OBJECTHANDLE CreateHandleWithExtraInfo(void* store, Object* object, int type, void* pExtraInfo) = 0;
- virtual OBJECTHANDLE CreateDependentHandle(void* table, Object* primary, Object* secondary) = 0;
+ virtual OBJECTHANDLE CreateDependentHandle(void* store, Object* primary, Object* secondary) = 0;
virtual OBJECTHANDLE CreateGlobalHandleOfType(Object* object, int type) = 0;