source: golgotha/src/i4/lisp/li_alloc.hh @ 80

Last change on this file since 80 was 80, checked in by Sam Hocevar, 12 years ago
  • Adding the Golgotha source code. Not sure what's going to be interesting in there, but since it's all public domain, there's certainly stuff to pick up.
File size: 1.2 KB
Line 
1/********************************************************************** <BR>
2  This file is part of Crack dot Com's free source code release of
3  Golgotha. <a href="http://www.crack.com/golgotha_release"> <BR> for
4  information about compiling & licensing issues visit this URL</a>
5  <PRE> If that doesn't help, contact Jonathan Clark at
6  golgotha_source@usa.net (Subject should have "GOLG" in it)
7***********************************************************************/
8
9#ifndef LI_ALLOC_HH
10#define LI_ALLOC_HH
11
12#include "arch.hh"
13class li_list;
14class li_symbol;
15class li_object;
16
17void *li_cell8_alloc();
18void li_cell8_free(void *ptr);
19
20int li_gc();
21i4_bool li_valid_object(li_object *o);
22extern int li_max_cells;               // set this before i4_init to change limits
23
24// if you have li_object's that are not referenced by the stack and by a symbol,
25// and you do not what them to be garbage collected, you must derive one of these
26// call mark() on all the objects you reference
27
28class li_gc_object_marker_class
29{
30public:
31  li_gc_object_marker_class *next;
32  virtual void mark_objects(int set) { ; }
33  li_gc_object_marker_class();      // automatically adds to list
34  ~li_gc_object_marker_class();
35};
36
37
38#endif
Note: See TracBrowser for help on using the repository browser.