Authors: Christian Thalinger
- $Id: boehm.h 997 2004-03-30 21:49:28Z twisti $
+ $Id: boehm.h 1621 2004-11-30 13:06:55Z twisti $
*/
#ifndef _BOEHM_H
#define _BOEHM_H
-#include "global.h"
+#include "types.h"
+#include "vm/global.h"
+
struct otherstackcall;
typedef void *(*calltwoargs)(void *, u4);
struct otherstackcall {
- calltwoargs p2;
- void *p;
- u4 l;
+ calltwoargs p2;
+ void *p;
+ u4 l;
};
/* function prototypes */
+
void *heap_alloc_uncollectable(u4 bytelength);
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 heapmaxsize, u4 heapstartsize);
-void heap_close();
-void gc_init();
+void gc_init(u4 heapmaxsize, u4 heapstartsize);
void gc_call();
s8 gc_get_heap_size();
s8 gc_get_free_bytes();
s8 gc_get_max_heap_size();
+void gc_invoke_finalizers();
void gc_finalize_all();
+void *gc_out_of_memory();
#endif /* _BOEHM_H */