Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit ab43a5f

Browse files
Rename overloaded "table" to "store" for VM side concept.
1 parent 3e6334b commit ab43a5f

File tree

7 files changed

+72
-67
lines changed

7 files changed

+72
-67
lines changed

src/gc/gchandletable.cpp

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,45 +23,50 @@ void GCHandleTable::Shutdown()
2323
Ref_Shutdown();
2424
}
2525

26-
void* GCHandleTable::GetGlobalHandleTable()
26+
void* GCHandleTable::GetGlobalHandleStore()
2727
{
2828
return (void*)g_HandleTableMap.pBuckets[0];
2929
}
3030

31-
void* GCHandleTable::GetNewHandleTable(void* context)
31+
void* GCHandleTable::CreateHandleStore(void* context)
3232
{
33-
return (void*)::Ref_CreateHandleTableBucket(ADIndex((uintptr_t)context));
33+
#ifndef FEATURE_REDHAWK
34+
return (void*)::Ref_CreateHandleTableBucket(ADIndex((DWORD)(uintptr_t)context));
35+
#else
36+
assert("CreateHandleStore is not implemented when FEATURE_REDHAWK is defined!");
37+
return nullptr;
38+
#endif
3439
}
3540

3641
void* GCHandleTable::GetHandleContext(OBJECTHANDLE handle)
3742
{
3843
return (void*)((uintptr_t)::HndGetHandleTableADIndex(::HndGetHandleTable(handle)).m_dwIndex);
3944
}
4045

41-
void GCHandleTable::DestroyHandleTable(void* table)
46+
void GCHandleTable::DestroyHandleStore(void* store)
4247
{
43-
Ref_DestroyHandleTableBucket((HandleTableBucket*) table);
48+
Ref_DestroyHandleTableBucket((HandleTableBucket*) store);
4449
}
4550

46-
void GCHandleTable::UprootHandleTable(void* table)
51+
void GCHandleTable::UprootHandleStore(void* store)
4752
{
48-
Ref_RemoveHandleTableBucket((HandleTableBucket*) table);
53+
Ref_RemoveHandleTableBucket((HandleTableBucket*) store);
4954
}
5055

51-
bool GCHandleTable::ContainsHandle(void* table, OBJECTHANDLE handle)
56+
bool GCHandleTable::ContainsHandle(void* store, OBJECTHANDLE handle)
5257
{
53-
return ((HandleTableBucket*)table)->Contains(handle);
58+
return ((HandleTableBucket*)store)->Contains(handle);
5459
}
5560

56-
OBJECTHANDLE GCHandleTable::CreateHandleOfType(void* table, Object* object, int type)
61+
OBJECTHANDLE GCHandleTable::CreateHandleOfType(void* store, Object* object, int type)
5762
{
58-
HHANDLETABLE handletable = ((HandleTableBucket*)table)->pTable[GetCurrentThreadHomeHeapNumber()];
63+
HHANDLETABLE handletable = ((HandleTableBucket*)store)->pTable[GetCurrentThreadHomeHeapNumber()];
5964
return ::HndCreateHandle(handletable, type, ObjectToOBJECTREF(object));
6065
}
6166

62-
OBJECTHANDLE GCHandleTable::CreateHandleOfType(void* table, Object* object, int type, int heapToAffinitizeTo)
67+
OBJECTHANDLE GCHandleTable::CreateHandleOfType(void* store, Object* object, int type, int heapToAffinitizeTo)
6368
{
64-
HHANDLETABLE handletable = ((HandleTableBucket*)table)->pTable[heapToAffinitizeTo];
69+
HHANDLETABLE handletable = ((HandleTableBucket*)store)->pTable[heapToAffinitizeTo];
6570
return ::HndCreateHandle(handletable, type, ObjectToOBJECTREF(object));
6671
}
6772

@@ -70,15 +75,15 @@ OBJECTHANDLE GCHandleTable::CreateGlobalHandleOfType(Object* object, int type)
7075
return ::HndCreateHandle(g_HandleTableMap.pBuckets[0]->pTable[GetCurrentThreadHomeHeapNumber()], type, ObjectToOBJECTREF(object));
7176
}
7277

73-
OBJECTHANDLE GCHandleTable::CreateHandleWithExtraInfo(void* table, Object* object, int type, void* pExtraInfo)
78+
OBJECTHANDLE GCHandleTable::CreateHandleWithExtraInfo(void* store, Object* object, int type, void* pExtraInfo)
7479
{
75-
HHANDLETABLE handletable = ((HandleTableBucket*)table)->pTable[GetCurrentThreadHomeHeapNumber()];
80+
HHANDLETABLE handletable = ((HandleTableBucket*)store)->pTable[GetCurrentThreadHomeHeapNumber()];
7681
return ::HndCreateHandle(handletable, type, ObjectToOBJECTREF(object), reinterpret_cast<uintptr_t>(pExtraInfo));
7782
}
7883

79-
OBJECTHANDLE GCHandleTable::CreateDependentHandle(void* table, Object* primary, Object* secondary)
84+
OBJECTHANDLE GCHandleTable::CreateDependentHandle(void* store, Object* primary, Object* secondary)
8085
{
81-
HHANDLETABLE handletable = ((HandleTableBucket*)table)->pTable[GetCurrentThreadHomeHeapNumber()];
86+
HHANDLETABLE handletable = ((HandleTableBucket*)store)->pTable[GetCurrentThreadHomeHeapNumber()];
8287
OBJECTHANDLE handle = ::HndCreateHandle(handletable, HNDTYPE_DEPENDENT, ObjectToOBJECTREF(primary));
8388
::SetDependentHandleSecondary(handle, ObjectToOBJECTREF(secondary));
8489

@@ -87,7 +92,7 @@ OBJECTHANDLE GCHandleTable::CreateDependentHandle(void* table, Object* primary,
8792

8893
OBJECTHANDLE GCHandleTable::CreateDuplicateHandle(OBJECTHANDLE handle)
8994
{
90-
return ::HndCreateHandle(HndGetHandleTable(handle), HNDTYPE_DEFAULT, ObjectFromHandle(handle));
95+
return ::HndCreateHandle(HndGetHandleTable(handle), HNDTYPE_DEFAULT, ::HndFetchHandle(handle));
9196
}
9297

9398
void GCHandleTable::DestroyHandleOfType(OBJECTHANDLE handle, int type)

src/gc/gchandletableimpl.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,25 @@ class GCHandleTable : public IGCHandleTable
1414

1515
virtual void Shutdown();
1616

17-
virtual void* GetGlobalHandleTable();
17+
virtual void* GetGlobalHandleStore();
1818

19-
virtual void* GetNewHandleTable(void* context);
19+
virtual void* CreateHandleStore(void* context);
2020

2121
virtual void* GetHandleContext(OBJECTHANDLE handle);
2222

23-
virtual void DestroyHandleTable(void* table);
23+
virtual void DestroyHandleStore(void* store);
2424

25-
virtual void UprootHandleTable(void* table);
25+
virtual void UprootHandleStore(void* store);
2626

27-
virtual bool ContainsHandle(void* table, OBJECTHANDLE handle);
27+
virtual bool ContainsHandle(void* store, OBJECTHANDLE handle);
2828

29-
virtual OBJECTHANDLE CreateHandleOfType(void* table, Object* object, int type);
29+
virtual OBJECTHANDLE CreateHandleOfType(void* store, Object* object, int type);
3030

31-
virtual OBJECTHANDLE CreateHandleOfType(void* table, Object* object, int type, int heapToAffinitizeTo);
31+
virtual OBJECTHANDLE CreateHandleOfType(void* store, Object* object, int type, int heapToAffinitizeTo);
3232

33-
virtual OBJECTHANDLE CreateHandleWithExtraInfo(void* table, Object* object, int type, void* pExtraInfo);
33+
virtual OBJECTHANDLE CreateHandleWithExtraInfo(void* store, Object* object, int type, void* pExtraInfo);
3434

35-
virtual OBJECTHANDLE CreateDependentHandle(void* table, Object* primary, Object* secondary);
35+
virtual OBJECTHANDLE CreateDependentHandle(void* store, Object* primary, Object* secondary);
3636

3737
virtual OBJECTHANDLE CreateGlobalHandleOfType(Object* object, int type);
3838

src/gc/gcinterface.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -411,23 +411,23 @@ class IGCHandleTable {
411411

412412
virtual void* GetHandleContext(OBJECTHANDLE handle) = 0;
413413

414-
virtual void* GetGlobalHandleTable() = 0;
414+
virtual void* GetGlobalHandleStore() = 0;
415415

416-
virtual void* GetNewHandleTable(void* context) = 0;
416+
virtual void* CreateHandleStore(void* context) = 0;
417417

418-
virtual void DestroyHandleTable(void* table) = 0;
418+
virtual void DestroyHandleStore(void* store) = 0;
419419

420-
virtual void UprootHandleTable(void* table) = 0;
420+
virtual void UprootHandleStore(void* store) = 0;
421421

422-
virtual bool ContainsHandle(void* table, OBJECTHANDLE handle) = 0;
422+
virtual bool ContainsHandle(void* store, OBJECTHANDLE handle) = 0;
423423

424-
virtual OBJECTHANDLE CreateHandleOfType(void* table, Object* object, int type) = 0;
424+
virtual OBJECTHANDLE CreateHandleOfType(void* store, Object* object, int type) = 0;
425425

426-
virtual OBJECTHANDLE CreateHandleOfType(void* table, Object* object, int type, int heapToAffinitizeTo) = 0;
426+
virtual OBJECTHANDLE CreateHandleOfType(void* store, Object* object, int type, int heapToAffinitizeTo) = 0;
427427

428-
virtual OBJECTHANDLE CreateHandleWithExtraInfo(void* table, Object* object, int type, void* pExtraInfo) = 0;
428+
virtual OBJECTHANDLE CreateHandleWithExtraInfo(void* store, Object* object, int type, void* pExtraInfo) = 0;
429429

430-
virtual OBJECTHANDLE CreateDependentHandle(void* table, Object* primary, Object* secondary) = 0;
430+
virtual OBJECTHANDLE CreateDependentHandle(void* store, Object* primary, Object* secondary) = 0;
431431

432432
virtual OBJECTHANDLE CreateGlobalHandleOfType(Object* object, int type) = 0;
433433

src/vm/appdomain.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -740,10 +740,10 @@ BaseDomain::BaseDomain()
740740
m_pLargeHeapHandleTable = NULL;
741741

742742
#ifndef CROSSGEN_COMPILE
743-
// Note that m_gcHandleTable is overridden by app domains
744-
m_gcHandleTable = GCHandleTableUtilities::GetGCHandleTable()->GetGlobalHandleTable();
743+
// Note that m_handleStore is overridden by app domains
744+
m_handleStore = GCHandleTableUtilities::GetGCHandleTable()->GetGlobalHandleStore();
745745
#else
746-
m_gcHandleTable = NULL;
746+
m_handleStore = NULL;
747747
#endif
748748

749749
m_pMarshalingData = NULL;
@@ -4042,7 +4042,7 @@ AppDomain::AppDomain()
40424042
m_pUMEntryThunkCache = NULL;
40434043

40444044
m_pAsyncPool = NULL;
4045-
m_gcHandleTable = NULL;
4045+
m_handleStore = NULL;
40464046

40474047
m_ExposedObject = NULL;
40484048
m_pComIPForExposedObject = NULL;
@@ -4273,11 +4273,11 @@ void AppDomain::Init()
42734273
// default domain cannot be unloaded.
42744274
if (GetId().m_dwId == DefaultADID)
42754275
{
4276-
m_gcHandleTable = GCHandleTableUtilities::GetGCHandleTable()->GetGlobalHandleTable();
4276+
m_handleStore = GCHandleTableUtilities::GetGCHandleTable()->GetGlobalHandleStore();
42774277
}
42784278
else
42794279
{
4280-
m_gcHandleTable = GCHandleTableUtilities::GetGCHandleTable()->GetNewHandleTable((void*)(uintptr_t)m_dwIndex.m_dwIndex);
4280+
m_handleStore = GCHandleTableUtilities::GetGCHandleTable()->CreateHandleStore((void*)(uintptr_t)m_dwIndex.m_dwIndex);
42814281
}
42824282

42834283
#endif // CROSSGEN_COMPILE
@@ -4578,10 +4578,10 @@ void AppDomain::Terminate()
45784578

45794579
BaseDomain::Terminate();
45804580

4581-
if (m_gcHandleTable)
4581+
if (m_handleStore)
45824582
{
4583-
GCHandleTableUtilities::GetGCHandleTable()->DestroyHandleTable(m_gcHandleTable);
4584-
m_gcHandleTable = NULL;
4583+
GCHandleTableUtilities::GetGCHandleTable()->DestroyHandleStore(m_handleStore);
4584+
m_handleStore = NULL;
45854585
}
45864586

45874587
#ifdef FEATURE_APPDOMAIN_RESOURCE_MONITORING
@@ -9198,7 +9198,7 @@ void AppDomain::ClearGCHandles()
91989198
HandleAsyncPinHandles();
91999199

92009200
// Remove our handle table as a source of GC roots
9201-
GCHandleTableUtilities::GetGCHandleTable()->UprootHandleTable(m_gcHandleTable);
9201+
GCHandleTableUtilities::GetGCHandleTable()->UprootHandleStore(m_handleStore);
92029202
}
92039203

92049204
// When an AD is unloaded, we will release all objects in this AD.
@@ -9215,14 +9215,14 @@ void AppDomain::HandleAsyncPinHandles()
92159215
CONTRACTL_END;
92169216

92179217
// TODO: Temporarily casting stuff here until Ref_RelocateAsyncPinHandles is moved to the interface.
9218-
HandleTableBucket *pBucket = (HandleTableBucket*)m_gcHandleTable;
9218+
HandleTableBucket *pBucket = (HandleTableBucket*)m_handleStore;
92199219

92209220
// IO completion port picks IO job using FIFO. Here is how we know which AsyncPinHandle can be freed.
92219221
// 1. We mark all non-pending AsyncPinHandle with READYTOCLEAN.
92229222
// 2. We queue a dump Overlapped to the IO completion as a marker.
92239223
// 3. When the Overlapped is picked up by completion port, we wait until all previous IO jobs are processed.
92249224
// 4. Then we can delete all AsyncPinHandle marked with READYTOCLEAN.
9225-
HandleTableBucket *pBucketInDefault = (HandleTableBucket*)SystemDomain::System()->DefaultDomain()->m_gcHandleTable;
9225+
HandleTableBucket *pBucketInDefault = (HandleTableBucket*)SystemDomain::System()->DefaultDomain()->m_handleStore;
92269226

92279227
// TODO: When this function is moved to the interface it will take void*s
92289228
Ref_RelocateAsyncPinHandles(pBucket, pBucketInDefault);
@@ -9255,7 +9255,7 @@ void AppDomain::ClearGCRoots()
92559255
pThread->DeleteThreadStaticData(this);
92569256

92579257
// <TODO>@TODO: A pre-allocated AppDomainUnloaded exception might be better.</TODO>
9258-
if (pHandleTable->ContainsHandle(m_gcHandleTable, pThread->m_LastThrownObjectHandle))
9258+
if (pHandleTable->ContainsHandle(m_handleStore, pThread->m_LastThrownObjectHandle))
92599259
{
92609260
// Never delete a handle to a preallocated exception object.
92619261
if (!CLRException::IsPreallocatedExceptionHandle(pThread->m_LastThrownObjectHandle))
@@ -9267,7 +9267,7 @@ void AppDomain::ClearGCRoots()
92679267
}
92689268

92699269
// Clear out the exceptions objects held by a thread.
9270-
pThread->GetExceptionState()->ClearThrowablesForUnload(m_gcHandleTable);
9270+
pThread->GetExceptionState()->ClearThrowablesForUnload(m_handleStore);
92719271
}
92729272

92739273
//delete them while we still have the runtime suspended

src/vm/appdomain.hpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1246,39 +1246,39 @@ class BaseDomain
12461246
WRAPPER_NO_CONTRACT;
12471247

12481248
IGCHandleTable *pHandleTable = GCHandleTableUtilities::GetGCHandleTable();
1249-
return pHandleTable->CreateHandleOfType(m_gcHandleTable, OBJECTREFToObject(object), type);
1249+
return pHandleTable->CreateHandleOfType(m_handleStore, OBJECTREFToObject(object), type);
12501250
}
12511251

12521252
OBJECTHANDLE CreateHandle(OBJECTREF object)
12531253
{
12541254
WRAPPER_NO_CONTRACT;
12551255
CONDITIONAL_CONTRACT_VIOLATION(ModeViolation, object == NULL)
1256-
return ::CreateHandle(m_gcHandleTable, object);
1256+
return ::CreateHandle(m_handleStore, object);
12571257
}
12581258

12591259
OBJECTHANDLE CreateWeakHandle(OBJECTREF object)
12601260
{
12611261
WRAPPER_NO_CONTRACT;
1262-
return ::CreateWeakHandle(m_gcHandleTable, object);
1262+
return ::CreateWeakHandle(m_handleStore, object);
12631263
}
12641264

12651265
OBJECTHANDLE CreateShortWeakHandle(OBJECTREF object)
12661266
{
12671267
WRAPPER_NO_CONTRACT;
1268-
return ::CreateShortWeakHandle(m_gcHandleTable, object);
1268+
return ::CreateShortWeakHandle(m_handleStore, object);
12691269
}
12701270

12711271
OBJECTHANDLE CreateLongWeakHandle(OBJECTREF object)
12721272
{
12731273
WRAPPER_NO_CONTRACT;
12741274
CONDITIONAL_CONTRACT_VIOLATION(ModeViolation, object == NULL)
1275-
return ::CreateLongWeakHandle(m_gcHandleTable, object);
1275+
return ::CreateLongWeakHandle(m_handleStore, object);
12761276
}
12771277

12781278
OBJECTHANDLE CreateStrongHandle(OBJECTREF object)
12791279
{
12801280
WRAPPER_NO_CONTRACT;
1281-
return ::CreateStrongHandle(m_gcHandleTable, object);
1281+
return ::CreateStrongHandle(m_handleStore, object);
12821282
}
12831283

12841284
OBJECTHANDLE CreatePinningHandle(OBJECTREF object)
@@ -1288,7 +1288,7 @@ class BaseDomain
12881288
if(IsAppDomain())
12891289
object->TryAssignAppDomain((AppDomain*)this,TRUE);
12901290
#endif
1291-
return ::CreatePinningHandle(m_gcHandleTable, object);
1291+
return ::CreatePinningHandle(m_handleStore, object);
12921292
}
12931293

12941294
OBJECTHANDLE CreateSizedRefHandle(OBJECTREF object)
@@ -1297,11 +1297,11 @@ class BaseDomain
12971297
OBJECTHANDLE h;
12981298
if (GCHeapUtilities::IsServerHeap())
12991299
{
1300-
h = ::CreateSizedRefHandle(m_gcHandleTable, object, m_dwSizedRefHandles % m_iNumberOfProcessors);
1300+
h = ::CreateSizedRefHandle(m_handleStore, object, m_dwSizedRefHandles % m_iNumberOfProcessors);
13011301
}
13021302
else
13031303
{
1304-
h = ::CreateSizedRefHandle(m_gcHandleTable, object);
1304+
h = ::CreateSizedRefHandle(m_handleStore, object);
13051305
}
13061306

13071307
InterlockedIncrement((LONG*)&m_dwSizedRefHandles);
@@ -1312,7 +1312,7 @@ class BaseDomain
13121312
OBJECTHANDLE CreateRefcountedHandle(OBJECTREF object)
13131313
{
13141314
WRAPPER_NO_CONTRACT;
1315-
return ::CreateRefcountedHandle(m_gcHandleTable, object);
1315+
return ::CreateRefcountedHandle(m_handleStore, object);
13161316
}
13171317

13181318
OBJECTHANDLE CreateWinRTWeakHandle(OBJECTREF object, IWeakReference* pWinRTWeakReference)
@@ -1325,14 +1325,14 @@ class BaseDomain
13251325
}
13261326
CONTRACTL_END;
13271327

1328-
return ::CreateWinRTWeakHandle(m_gcHandleTable, object, pWinRTWeakReference);
1328+
return ::CreateWinRTWeakHandle(m_handleStore, object, pWinRTWeakReference);
13291329
}
13301330
#endif // FEATURE_COMINTEROP
13311331

13321332
OBJECTHANDLE CreateVariableHandle(OBJECTREF object, UINT type)
13331333
{
13341334
WRAPPER_NO_CONTRACT;
1335-
return ::CreateVariableHandle(m_gcHandleTable, object, type);
1335+
return ::CreateVariableHandle(m_handleStore, object, type);
13361336
}
13371337

13381338
OBJECTHANDLE CreateDependentHandle(OBJECTREF primary, OBJECTREF secondary)
@@ -1346,7 +1346,7 @@ class BaseDomain
13461346
CONTRACTL_END;
13471347

13481348
IGCHandleTable *pHandleTable = GCHandleTableUtilities::GetGCHandleTable();
1349-
return pHandleTable->CreateDependentHandle(m_gcHandleTable, OBJECTREFToObject(primary), OBJECTREFToObject(secondary));
1349+
return pHandleTable->CreateDependentHandle(m_handleStore, OBJECTREFToObject(primary), OBJECTREFToObject(secondary));
13501350
}
13511351
#endif // DACCESS_COMPILE && !CROSSGEN_COMPILE
13521352

@@ -1402,7 +1402,7 @@ class BaseDomain
14021402

14031403
CLRPrivBinderCoreCLR *m_pTPABinderContext; // Reference to the binding context that holds TPA list details
14041404

1405-
void* m_gcHandleTable;
1405+
void* m_handleStore;
14061406

14071407
// The large heap handle table.
14081408
LargeHeapHandleTable *m_pLargeHeapHandleTable;

src/vm/exstate.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ void ThreadExceptionState::FreeAllStackTraces()
102102
}
103103
}
104104

105-
void ThreadExceptionState::ClearThrowablesForUnload(void* handleTable)
105+
void ThreadExceptionState::ClearThrowablesForUnload(void* handleStore)
106106
{
107107
WRAPPER_NO_CONTRACT;
108108

@@ -118,7 +118,7 @@ void ThreadExceptionState::ClearThrowablesForUnload(void* handleTable)
118118
pNode != NULL;
119119
pNode = pNode->m_pPrevNestedInfo)
120120
{
121-
if (pHandleTable->ContainsHandle(handleTable, pNode->m_hThrowable))
121+
if (pHandleTable->ContainsHandle(handleStore, pNode->m_hThrowable))
122122
{
123123
pNode->DestroyExceptionHandle();
124124
}

src/vm/exstate.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class ThreadExceptionState
5656
public:
5757

5858
void FreeAllStackTraces();
59-
void ClearThrowablesForUnload(void* handleTable);
59+
void ClearThrowablesForUnload(void* handleStore);
6060

6161
#ifdef _DEBUG
6262
typedef enum

0 commit comments

Comments
 (0)