ocaml/byterun/globroots.h

41 lines
1.5 KiB
C

/***********************************************************************/
/* */
/* 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 _globroots_
#define _globroots_
#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 MAX_LEVEL 15
struct global_root_list {
value * root; /* dummy value for layout compatibility */
struct global_root * forward[MAX_LEVEL]; /* forward chaining */
int level; /* max used level */
};
extern struct global_root_list caml_global_roots;
#endif /* _globroots */