boehm-gc: revert all CACAO-specific modifications; this is now an exact copy of the...
[cacao.git] / src / mm / boehm-gc / include / javaxfc.h
1 # ifndef _GC_H
2 #   include "gc.h"
3 # endif
4
5 # ifdef __cplusplus
6     extern "C" {
7 # endif
8
9 /*
10  * Invoke all remaining finalizers that haven't yet been run, or
11  * repeatedly notify that there are finalizers to be run.
12  * This is needed for strict compliance with the Java standard, 
13  * which can make the runtime guarantee that all finalizers are run.
14  * This is problematic for several reasons:
15  * 1) It means that finalizers, and all methods called by them,
16  *    must be prepared to deal with objects that have been finalized in
17  *    spite of the fact that they are still referenced by statically
18  *    allocated pointer variables.
19  * 1) It may mean that we get stuck in an infinite loop running
20  *    finalizers which create new finalizable objects, though that's
21  *    probably unlikely.
22  * Thus this is not recommended for general use.
23  */
24 GC_API void GC_CALL GC_finalize_all(void);
25
26 # ifdef __cplusplus
27     }  /* end of extern "C" */
28 # endif