* Removed all Id tags.
[cacao.git] / src / vm / jit / stack.h
index b4082ede663648c818d635b38dae0e616527ad94..2af166477e2e98c6358f6bdc976a8c5d869a1f3d 100644 (file)
@@ -29,8 +29,6 @@
    Changes: Christian Ullrich
                        Edwin Steiner
 
-   $Id: stack.h 5446 2006-09-09 20:05:35Z edwin $
-
 */
 
 
 
 /* macros used internally by analyse_stack ************************************/
 
-/*--------------------------------------------------*/
-/* STACK DEPTH CHECKING                             */
-/*--------------------------------------------------*/
-
-#if defined(ENABLE_VERIFIER)
-#define CHECK_STACK_DEPTH(depthA,depthB)                             \
-    do {                                                             \
-        if ((depthA) != (depthB))                                    \
-            goto throw_stack_depth_error;                            \
-    } while (0)
-#else /* !ENABLE_VERIFIER */
-#define CHECK_STACK_DEPTH(depthA,depthB)
-#endif /* ENABLE_VERIFIER */
-
-
 /*--------------------------------------------------*/
 /* BASIC TYPE CHECKING                              */
 /*--------------------------------------------------*/
 #define NEWSTACK0(s)    NEWSTACK(s,UNDEFVAR,0)
 
 
-/*--------------------------------------------------*/
-/* MACROS FOR HANDLING BASIC BLOCKS                 */
-/*--------------------------------------------------*/
-
-/* COPYCURSTACK makes a copy of the current operand stack (curstack)
- * and returns it in the variable copy.
- *
- * This macro is used to propagate the operand stack from one basic
- * block to another. The destination block receives the copy as its
- * input stack.
- */
-#define COPYCURSTACK(sd, copy) {                                     \
-    stackptr s;                                                      \
-    if (curstack) {                                                  \
-        s = curstack;                                                \
-        (sd).new += stackdepth;                                      \
-        copy = (sd).new;                                             \
-        while (s) {                                                  \
-            copy--;                                                  \
-            copy->prev = copy-1;                                     \
-            copy->creator = NULL;                                    \
-            copy->type = s->type;                                    \
-            copy->flags = 0;                                         \
-            copy->varkind = STACKVAR;                                \
-            s = s->prev;                                             \
-        }                                                            \
-        copy->prev = NULL;                                           \
-        copy = (sd).new-1;                                           \
-    }                                                                \
-    else                                                             \
-        copy = NULL;                                                 \
-}
-
-
-/* external macros ************************************************************/
-
-#define BLOCK_OF(index)                                              \
-    (jd->new_basicblocks + jd->new_basicblockindex[index])
-
-
 /* function prototypes ********************************************************/
 
 bool stack_init(void);
 
-bool new_stack_analyse(jitdata *jd);
+bool stack_analyse(jitdata *jd);
+
+void stack_javalocals_store(instruction *iptr, s4 *javalocals);
 
 #endif /* _STACK_H */