Authors: Stefan Ring
- $Id: boehm.c 689 2003-12-05 18:03:47Z stefan $
+ $Id: boehm.c 738 2003-12-13 18:41:27Z stefan $
*/
return GC_REALLOC(p, bytelength);
}
+static void *stackcall_free(void *p, u4 bytelength)
+{
+ GC_FREE(p);
+ return NULL;
+}
+
#ifdef USE_THREADS
#define MAINTHREADCALL(r,m,pp,ll) \
return result;
}
+void heap_free(void *p)
+{
+ void *result;
+
+ MAINTHREADCALL(result, stackcall_free, p, 0);
+}
+
void heap_init (u4 size, u4 startsize, void **stackbottom)
{
Authors: Christian Thalinger
- $Id: boehm.h 580 2003-11-09 19:07:39Z twisti $
+ $Id: boehm.h 738 2003-12-13 18:41:27Z stefan $
*/
void runboehmfinalizer(void *o, void *p);
void *heap_allocate (u4 bytelength, bool references, methodinfo *finalizer);
void *heap_reallocate(void *p, u4 bytelength);
+void heap_free(void *p);
void heap_init (u4 size, u4 startsize, void **stackbottom);
void heap_close();
void heap_addreference (void **reflocation);
Authors: Stefan Ring
- $Id: boehm.c 689 2003-12-05 18:03:47Z stefan $
+ $Id: boehm.c 738 2003-12-13 18:41:27Z stefan $
*/
return GC_REALLOC(p, bytelength);
}
+static void *stackcall_free(void *p, u4 bytelength)
+{
+ GC_FREE(p);
+ return NULL;
+}
+
#ifdef USE_THREADS
#define MAINTHREADCALL(r,m,pp,ll) \
return result;
}
+void heap_free(void *p)
+{
+ void *result;
+
+ MAINTHREADCALL(result, stackcall_free, p, 0);
+}
+
void heap_init (u4 size, u4 startsize, void **stackbottom)
{
Authors: Christian Thalinger
- $Id: boehm.h 580 2003-11-09 19:07:39Z twisti $
+ $Id: boehm.h 738 2003-12-13 18:41:27Z stefan $
*/
void runboehmfinalizer(void *o, void *p);
void *heap_allocate (u4 bytelength, bool references, methodinfo *finalizer);
void *heap_reallocate(void *p, u4 bytelength);
+void heap_free(void *p);
void heap_init (u4 size, u4 startsize, void **stackbottom);
void heap_close();
void heap_addreference (void **reflocation);