Philipp Tomsich
Edwin Steiner
- $Id: global.h 930 2004-03-02 21:18:23Z jowenn $
+ $Id: global.h 963 2004-03-15 07:37:49Z jowenn $
*/
typedef u1* methodptr;
typedef struct fieldinfo fieldinfo;
typedef struct methodinfo methodinfo;
+typedef struct lineinfo lineinfo;
typedef struct arraydescriptor arraydescriptor;
typedef struct native_stackframeinfo native_stackframeinfo;
+struct stacktraceelement {
+#if POINTERSIZE == 8
+ u8 linenumber;
+#else
+ u4 linenumber;
+#endif
+ methodinfo *method;
+};
+
+typedef struct stacktraceelement stacktraceelement;
+
/* data structure for calls from c code to java methods */
struct jni_callblock {
} xtainfo;
+/* lineinfo *****************************************************************/
+struct lineinfo {
+ u2 start_pc;
+ u2 line_number;
+};
+
/* methodinfo *****************************************************************/
struct methodinfo { /* method structure */
u1 *jcode; /* pointer to JavaVM code */
s4 exceptiontablelength;/* exceptiontable length */
- exceptiontable *exceptiontable;
- /* the exceptiontable */
+ exceptiontable *exceptiontable; /* the exceptiontable */
+
+ u2 thrownexceptionscount; /*number of exceptions declared to be thrown by a method*/
+ classinfo **thrownexceptions; /*array of classinfos of declared exceptions*/
+
+ u2 linenumbercount; /*number of linenumber attributes*/
+ lineinfo *linenumbers; /*array of lineinfo items (start_pc,line_number)*/
u1 *stubroutine; /* stub for compiling or calling natives */
s4 mcodelength; /* legth of generated machine code */
classSetNode *impldBy; /* implemented by class set */
utf *packagename; /* full name of the package */
+ utf *sourcefile; /* classfile name containing this class */
java_objectheader *classloader; /* 0 for bootstrap classloader */
};
extern bool compileall;
extern bool runverbose;
+extern bool verboseexception;
extern bool verbose;
extern bool opt_rt; /* Rapid Type Analysis for better inlining CO-RT*/
extern bool opt_xta; /* X Type Analysis for better inlining CO-XTA*/