1 /****************************** tables.h ***************************************
3 Copyright (c) 1997 A. Krall, R. Grafl, M. Gschwind, M. Probst
5 See file COPYRIGHT for information on usage and disclaimer of warranties
7 Author: Reinhard Grafl EMAIL: cacao@complang.tuwien.ac.at
9 Last Change: 1996/11/20
11 *******************************************************************************/
13 extern bool collectverbose;
16 #define CLASS(name) (unicode_getclasslink(unicode_new_char(name)))
18 typedef void (*stringdeleter) ( java_objectheader *string );
21 void suck_init (char *classpath);
22 bool suck_start (unicode *name);
24 void suck_nbytes (u1 *buffer, u4 len);
25 void skip_nbytes (u4 len);
35 double suck_double ();
39 void unicode_close (stringdeleter del);
40 void unicode_display (unicode *u);
41 void unicode_sprint (char *buffer, unicode *u);
42 void unicode_fprint (FILE *file, unicode *u);
43 unicode *unicode_new_u2 (u2 *text, u2 length);
44 unicode *unicode_new_char (char *text);
45 void unicode_setclasslink (unicode *u, classinfo *class);
46 classinfo *unicode_getclasslink (unicode *u);
47 void unicode_unlinkclass (unicode *u);
48 void unicode_setstringlink (unicode *u, java_objectheader *str);
49 void unicode_unlinkstring (unicode *u);
52 u2 desc_to_type (unicode *descriptor);
53 u2 desc_typesize (unicode *descriptor);
56 void heap_init (u4 size, u4 startsize, void **stackbottom);
58 void *heap_allocate (u4 bytelength, bool references, methodinfo *finalizer);
59 void heap_addreference (void **reflocation);
62 void gc_thread (void);