narray first check in
[cacao.git] / jit / jitdef.h
index 0a69c868ea0ff6852990d81cc178d55e8dd679e0..5691143c611c7c3a3f56b1991ca7e1ec867c9da8 100644 (file)
@@ -12,7 +12,8 @@
 
 *******************************************************************************/
 
-#include "../sysdep/types.h"
+#ifndef __jitdef__
+#define __jitdef__
 
 /**************************** resolve typedef-cycles **************************/
 
@@ -79,6 +80,10 @@ struct instruction {
                double d;               /* double operand     */
                void *a;                /* address operand    */
                } val;                  /* immediate constant */
+
+       void *target;                           /* used for targets of branches and jumps         */
+                                                               /* and as address for list of targets for         */
+                                                               /* statements                                                             */
        };
 
 
@@ -107,6 +112,14 @@ struct basicblock {
        int          outdepth;      /* stack depth end of basic block             */
        int          pre_count;     /* count of predecessor basic blocks          */
        branchref   *branchrefs;    /* list of branches to be patched             */
+
+       basicblock      *next;                  /* used to build a BB list (instead of array) */
+       int                      lflags;                /* used during loop copying, init with 0          */
+       basicblock      *copied_to;             /* points to the copy of this basic block         */
+                                                               /* when loop nodes are copied                             */
+
+  int debug_nr;
+
        };
 
 
@@ -1119,3 +1132,5 @@ void asm_handle_nat_exception();
 
 static void disassinstr (int c, int pos);       /* disassemble an instruction */
 static void disassemble (int *code, int len);   /* disassemble a code block   */
+
+#endif