Removed cast_lock
[cacao.git] / global.h
index 9912b5f206f2fb230df267def99ce2b9edc28f18..596059445b2a3fce8771659d54446770ba876576 100644 (file)
--- a/global.h
+++ b/global.h
@@ -31,7 +31,7 @@
             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 $
 
 */
 
@@ -195,6 +195,7 @@ typedef struct vftbl vftbl;
 typedef u1* methodptr;
 typedef struct fieldinfo  fieldinfo; 
 typedef struct methodinfo methodinfo; 
+typedef struct lineinfo lineinfo; 
 typedef struct arraydescriptor arraydescriptor;
 
 
@@ -300,6 +301,17 @@ struct native_stackframeinfo {
 
 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 {
@@ -545,6 +557,12 @@ typedef struct xtainfo {
 } xtainfo; 
 
 
+/* lineinfo *****************************************************************/
+struct lineinfo {
+       u2 start_pc;
+       u2 line_number;
+};
+
 /* methodinfo *****************************************************************/
 
 struct methodinfo {                 /* method structure                       */
@@ -566,8 +584,13 @@ 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        */
@@ -656,6 +679,7 @@ struct classinfo {                /* class structure                          */
 
        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 */
 };
 
@@ -824,6 +848,7 @@ extern java_objectheader *proto_java_lang_ThreadDeath;
 
 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*/