diff options
Diffstat (limited to 'src/gc/objecthandle.h')
-rw-r--r-- | src/gc/objecthandle.h | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/src/gc/objecthandle.h b/src/gc/objecthandle.h index d3e45f8659..b3e4b58a1c 100644 --- a/src/gc/objecthandle.h +++ b/src/gc/objecthandle.h @@ -21,16 +21,6 @@ #include <weakreference.h> #endif // FEATURE_COMINTEROP -/* - * Convenience macros for accessing handles. StoreFirstObjectInHandle is like - * StoreObjectInHandle, except it only succeeds if transitioning from NULL to - * non-NULL. In other words, if this handle is being initialized for the first - * time. - */ -#define StoreObjectInHandle(handle, object) HndAssignHandle(handle, object) -#define InterlockedCompareExchangeObjectInHandle(handle, object, oldObj) HndInterlockedCompareExchangeHandle(handle, object, oldObj) -#define StoreFirstObjectInHandle(handle, object) HndFirstAssignHandle(handle, object) - typedef DPTR(struct HandleTableMap) PTR_HandleTableMap; typedef DPTR(struct HandleTableBucket) PTR_HandleTableBucket; typedef DPTR(PTR_HandleTableBucket) PTR_PTR_HandleTableBucket; @@ -90,23 +80,13 @@ void GCHandleValidatePinnedObject(OBJECTREF obj); int GetCurrentThreadHomeHeapNumber(); -inline void ResetOBJECTHANDLE(OBJECTHANDLE handle) -{ - WRAPPER_NO_CONTRACT; - - StoreObjectInHandle(handle, NULL); -} - -#ifndef FEATURE_REDHAWK -typedef Holder<OBJECTHANDLE,DoNothing<OBJECTHANDLE>,ResetOBJECTHANDLE> ObjectInHandleHolder; -#endif - /* * Table maintenance routines */ bool Ref_Initialize(); void Ref_Shutdown(); -HandleTableBucket *Ref_CreateHandleTableBucket(ADIndex uADIndex); +HandleTableBucket* Ref_CreateHandleTableBucket(void* context); +bool Ref_InitializeHandleTableBucket(HandleTableBucket* bucket, void* context); BOOL Ref_HandleAsyncPinHandles(); void Ref_RelocateAsyncPinHandles(HandleTableBucket *pSource, HandleTableBucket *pTarget); void Ref_RemoveHandleTableBucket(HandleTableBucket *pBucket); |