Changes: Mark Probst (schani) EMAIL: cacao@complang.tuwien.ac.at
Philipp Tomsich (phil) EMAIL: cacao@complang.tuwien.ac.at
- Last Change: $Id: global.h 91 1998-11-25 11:47:42Z phil $
+ Last Change: $Id: global.h 132 1999-09-27 15:54:42Z chris $
*******************************************************************************/
#ifndef __global_h_
#define __global_h_
-#define OLD_COMPILER /* if enabled makes old compiler available */
+#include "config.h"
+
#define NEW_GC /* if enabled, includes the new gc. -- phil. */
#define STATISTICS /* if enabled collects program statistics */
#include "toolbox/list.h"
#include "toolbox/loging.h"
-
/* system dependent types *****************************************************/
-#include "sysdep/types.h"
+#include "types.h"
/* additional data types ******************************************************/
} fieldinfo;
+struct basicblock;
/* exceptiontable *************************************************************/
+typedef struct xtable { /* exceptiontable entry in a method */
+ s4 startpc; /* start pc of guarded area (inclusive) */
+ struct basicblock *start;
+
+ s4 endpc; /* end pc of guarded area (exklusive) */
+ struct basicblock *end;
+
+ s4 handlerpc; /* pc of exception handler */
+ struct basicblock *handler;
+
+ classinfo *catchtype; /* catchtype of exception (NULL == catchall) */
+ struct xtable *next; /* used to build a list of exception when */
+ /* loops are copied */
+ struct xtable *down; /* instead of the old array, a list is used */
+} xtable;
+
+
typedef struct exceptiontable { /* exceptiontable entry in a method */
s4 startpc; /* start pc of guarded area (inclusive) */
s4 endpc; /* end pc of guarded area (exklusive) */
u1 *jcode; /* pointer to JavaVM code */
s4 exceptiontablelength;/* exceptiontable length */
- exceptiontable *exceptiontable; /* the exceptiontable */
+ exceptiontable *exceptiontable;
+ /* the exceptiontable */
u1 *stubroutine; /* stub for compiling or calling natives */
s4 mcodelength; /* legth of generated machine code */