]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/ocaml/ocaml/contrib/byterun/roots.h
Update
[l4.git] / l4 / pkg / ocaml / ocaml / contrib / byterun / roots.h
1 /***********************************************************************/
2 /*                                                                     */
3 /*                           Objective Caml                            */
4 /*                                                                     */
5 /*         Xavier Leroy and Damien Doligez, INRIA Rocquencourt         */
6 /*                                                                     */
7 /*  Copyright 1996 Institut National de Recherche en Informatique et   */
8 /*  en Automatique.  All rights reserved.  This file is distributed    */
9 /*  under the terms of the GNU Library General Public License, with    */
10 /*  the special exception on linking described in file ../LICENSE.     */
11 /*                                                                     */
12 /***********************************************************************/
13
14 /* $Id: roots.h 7064 2005-09-22 14:21:50Z xleroy $ */
15
16 #ifndef CAML_ROOTS_H
17 #define CAML_ROOTS_H
18
19 #include "misc.h"
20 #include "memory.h"
21
22 typedef void (*scanning_action) (value, value *);
23
24 void caml_oldify_local_roots (void);
25 void caml_darken_all_roots (void);
26 void caml_do_roots (scanning_action);
27 #ifndef NATIVE_CODE
28 CAMLextern void caml_do_local_roots (scanning_action, value *, value *,
29                                      struct caml__roots_block *);
30 #else
31 CAMLextern void caml_do_local_roots(scanning_action f, char * bottom_of_stack,
32                                     uintnat last_retaddr, value * gc_regs,
33                                     struct caml__roots_block * local_roots);
34 #endif
35
36 CAMLextern void (*caml_scan_roots_hook) (scanning_action);
37
38 #endif /* CAML_ROOTS_H */