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 #include "global.h" /* for unicode. -- phil */
15 extern bool collectverbose;
18 #define CLASS(name) (unicode_getclasslink(unicode_new_char(name)))
20 typedef void (*stringdeleter) ( java_objectheader *string );
23 void suck_init (char *classpath);
24 bool suck_start (unicode *name);
26 void suck_nbytes (u1 *buffer, u4 len);
27 void skip_nbytes (u4 len);
37 double suck_double ();
41 void unicode_close (stringdeleter del);
42 void unicode_display (unicode *u);
43 void unicode_sprint (char *buffer, unicode *u);
44 void unicode_fprint (FILE *file, unicode *u);
45 unicode *unicode_new_u2 (u2 *text, u2 length);
46 unicode *unicode_new_char (char *text);
47 void unicode_setclasslink (unicode *u, classinfo *class);
48 classinfo *unicode_getclasslink (unicode *u);
49 void unicode_unlinkclass (unicode *u);
50 void unicode_setstringlink (unicode *u, java_objectheader *str);
51 void unicode_unlinkstring (unicode *u);
54 u2 desc_to_type (unicode *descriptor);
55 u2 desc_typesize (unicode *descriptor);
58 void heap_init (u4 size, u4 startsize, void **stackbottom);
60 void *heap_allocate (u4 bytelength, bool references, methodinfo *finalizer);
61 void heap_addreference (void **reflocation);
64 void gc_thread (void);