ocaml/byterun/globroots.h

41 lines
1.5 KiB
C
Raw Normal View History

/***********************************************************************/
/* */
/* Objective Caml */
/* */
/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */
/* */
/* Copyright 2001 Institut National de Recherche en Informatique et */
/* en Automatique. All rights reserved. This file is distributed */
/* under the terms of the GNU Library General Public License, with */
/* the special exception on linking described in file ../LICENSE. */
/* */
/***********************************************************************/
/* $Id$ */
/* Registration of global memory roots */
#ifndef CAML_GLOBROOTS_H
#define CAML_GLOBROOTS_H
#include "mlvalues.h"
/* Skip list structure */
struct global_root {
value * root; /* the address of the root */
struct global_root * forward[1]; /* variable-length array */
};
#define NUM_LEVELS 17
struct global_root_list {
value * root; /* dummy value for layout compatibility */
struct global_root * forward[NUM_LEVELS]; /* forward chaining */
int level; /* max used level */
};
extern struct global_root_list caml_global_roots;
#endif /* CAML_GLOBROOTS_H */