probe gc__locked ();
probe gc__unlocked ();
+
+ probe gc__nursery__tlab__alloc (void *addr, uintptr_t len);
+ probe gc__nursery__obj__alloc (void *addr, uintptr_t size, char *class_name);
};
#pragma D attributes Evolving/Evolving/Common provider mono provider
// no space left
g_assert (0);
}
+ if (p)
+ MONO_GC_NURSERY_OBJ_ALLOC (p, size, NULL);
if (nursery_clear_policy == CLEAR_AT_TLAB_CREATION) {
memset (p, 0, size);
memset (TLAB_START, 0, alloc_size);
}
+ MONO_GC_NURSERY_TLAB_ALLOC (p, alloc_size);
+
/* Allocate from the TLAB */
p = (void*)TLAB_NEXT;
TLAB_NEXT += size;
p = sgen_nursery_alloc (size);
if (!p)
return NULL;
+ MONO_GC_NURSERY_OBJ_ALLOC (p, size, NULL);
sgen_set_nursery_scan_start ((char*)p);
/*FIXME we should use weak memory ops here. Should help specially on x86. */
p = sgen_nursery_alloc (size);
if (!p)
return NULL;
+ MONO_GC_NURSERY_OBJ_ALLOC (p, size, NULL);
if (nursery_clear_policy == CLEAR_AT_TLAB_CREATION)
memset (p, 0, size);
if (nursery_clear_policy == CLEAR_AT_TLAB_CREATION)
memset (new_next, 0, alloc_size);
+
+ MONO_GC_NURSERY_TLAB_ALLOC (new_next, alloc_size);
}
}
#define MONO_GC_HEAP_ALLOC(addr,size)
#define MONO_GC_HEAP_FREE(addr,size)
+
+#define MONO_GC_NURSERY_TLAB_ALLOC(addr,len)
+#define MONO_GC_NURSERY_TLAB_ALLOC_ENABLED() (0)
+
+#define MONO_GC_NURSERY_OBJ_ALLOC(addr,size,class_name)
+#define MONO_GC_NURSERY_OBJ_ALLOC_ENABLED() (0)
+
+
+#define MONO_GC_MAJOR_OBJ_ALLOC_LARGE(addr,size,class_name)
+#define MONO_GC_MAJOR_OBJ_ALLOC_LARGE_ENABLED() (0)
+
+#define MONO_GC_MAJOR_OBJ_ALLOC_PINNED(addr,size,class_name)
+#define MONO_GC_MAJOR_OBJ_ALLOC_PINNED_ENABLED() (0)
+
+#define MONO_GC_MAJOR_OBJ_ALLOC_DEGRADED(addr,size,class_name)
+#define MONO_GC_MAJOR_OBJ_ALLOC_DEGRADED_ENABLED() (0)
+
+#define MONO_GC_MAJOR_OBJ_ALLOC_MATURE(addr,size,class_name)
+#define MONO_GC_MAJOR_OBJ_ALLOC_MATURE_ENABLED() (0)
+
+
+#define MONO_GC_NURSERY_SWEEPED(addr,len)
+#define MONO_GC_NURSERY_SWEEPED_ENABLED() (0)
+
+#define MONO_GC_MAJOR_SWEEPED(addr,len)
+#define MONO_GC_MAJOR_SWEEPED_ENABLED() (0)
+
+
+#define MONO_GC_OBJ_PINNED(addr,size,class_name,generation)
+#define MONO_GC_OBJ_PINNED_ENABLED() (0)
+
#endif
#endif