#define TLAB_REAL_END (__thread_info__->tlab_real_end)
#endif
-static void*
+static GCObject*
alloc_degraded (GCVTable vtable, size_t size, gboolean for_mature)
{
- void *p;
+ GCObject *p;
if (!for_mature) {
sgen_client_degraded_allocation (size);
* so when we scan the thread stacks for pinned objects, we can start
* a search for the pinned object in SGEN_SCAN_START_SIZE chunks.
*/
-void*
+GCObject*
sgen_alloc_obj_nolock (GCVTable vtable, size_t size)
{
/* FIXME: handle OOM */
g_assert (*p == NULL);
mono_atomic_store_seq (p, vtable);
- return p;
+ return (GCObject*)p;
}
/* Slow path */
mono_atomic_store_seq (p, vtable);
}
- return p;
+ return (GCObject*)p;
}
-void*
+GCObject*
sgen_try_alloc_obj_nolock (GCVTable vtable, size_t size)
{
void **p;
mono_atomic_store_seq (p, vtable);
- return p;
+ return (GCObject*)p;
}
-void*
+GCObject*
sgen_alloc_obj (GCVTable vtable, size_t size)
{
- void *res;
+ GCObject *res;
TLAB_ACCESS_INIT;
if (!SGEN_CAN_ALIGN_UP (size))
* To be used for interned strings and possibly MonoThread, reflection handles.
* We may want to explicitly free these objects.
*/
-void*
+GCObject*
sgen_alloc_obj_pinned (GCVTable vtable, size_t size)
{
- void **p;
+ GCObject *p;
if (!SGEN_CAN_ALIGN_UP (size))
return NULL;
return p;
}
-void*
+GCObject*
sgen_alloc_obj_mature (GCVTable vtable, size_t size)
{
- void *res;
+ GCObject *res;
if (!SGEN_CAN_ALIGN_UP (size))
return NULL;