/* mm/boehm.h - interface for boehm gc header
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- R. Grafl, A. Krall, C. Kruegel, C. Oates, R. Obermaisser,
- M. Probst, S. Ring, E. Steiner, C. Thalinger, D. Thuernbeck,
- P. Tomsich, J. Wenninger
+ Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates,
+ R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
+ C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger,
+ Institut f. Computersprachen - TU Wien
This file is part of CACAO.
Authors: Christian Thalinger
- $Id: boehm.h 1026 2004-04-25 21:45:48Z twisti $
+ $Id: boehm.h 1735 2004-12-07 14:33:27Z 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);
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();