* src/vm/jit/stack.h: Removed macros for old instruction format.
authoredwin <none@none>
Wed, 6 Sep 2006 11:12:55 +0000 (11:12 +0000)
committeredwin <none@none>
Wed, 6 Sep 2006 11:12:55 +0000 (11:12 +0000)
--HG--
branch : new_instruction_format

src/vm/jit/stack.h

index 876b3244fdf68caf0ec18ce53567b0452eb0ef57..5928156659792525c7c653dda9b38bdec96b40f7 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes: Christian Ullrich
 
-   $Id: stack.h 5365 2006-09-06 10:56:43Z edwin $
+   $Id: stack.h 5367 2006-09-06 11:12:55Z edwin $
 
 */
 
     } while (0)
 
 
-/*--------------------------------------------------*/
-/* STACK OPERATIONS MODELING                        */
-/*--------------------------------------------------*/
-
-/* The following macros are used to model the stack manipulations of
- * different kinds of instructions.
- *
- * These macros check the input stackdepth and they set the output
- * stackdepth and the output stack of the instruction (iptr->dst).
- *
- * These macros do *not* check for stack overflows!
- */
-
-#define PUSHCONST(s){NEWSTACKn(s,stackdepth);SETDST;stackdepth++;}
-#define LOAD(s,v,n) {NEWSTACK(s,v,n);SETDST;stackdepth++;}
-#define STORE(s)    {REQUIRE_1;POP(s);SETDST;stackdepth--;}
-
-#define OP1_0(s) \
-    do { \
-        REQUIRE_1; \
-        POP(s); \
-        SETDST; \
-        stackdepth--; \
-    } while (0)
-
-#define OP1_0ANY \
-    do { \
-        REQUIRE_1; \
-        POPANY; \
-        SETDST; \
-        stackdepth--; \
-    } while (0)
-
-#define OP0_1(s) \
-    do { \
-        NEWSTACKn(s, stackdepth); \
-        SETDST; \
-        stackdepth++; \
-    } while (0)
-
-#define OP1_1(s,d) \
-    do { \
-        REQUIRE_1; \
-        POP(s); \
-        NEWSTACKn(d, stackdepth - 1);\
-        SETDST; \
-    } while (0)
-
-#define OP2_0(s) \
-    do { \
-        REQUIRE_2; \
-        POP(s); \
-        POP(s); \
-        SETDST; \
-        stackdepth -= 2; \
-    } while (0)
-
-#define OPTT2_0(t,b) \
-    do { \
-        REQUIRE_2; \
-        POP(t); \
-        POP(b); \
-        SETDST; \
-        stackdepth -= 2; \
-    } while (0)
-
-#define OP2_1(s) \
-    do { \
-        REQUIRE_2; \
-        POP(s); \
-        POP(s); \
-        NEWSTACKn(s, stackdepth - 2); \
-        SETDST; \
-        stackdepth--; \
-    } while (0)
-
-#define OP2IAT_1(s) \
-    do { \
-        REQUIRE_2; \
-        POP(TYPE_INT); \
-        POP(TYPE_ADR); \
-        NEWSTACKn(s, stackdepth - 2); \
-        SETDST; \
-        stackdepth--; \
-    } while (0)
-
-#define OP2IT_1(s) \
-    do { \
-        REQUIRE_2; \
-        POP(TYPE_INT); \
-        POP(s); \
-        NEWSTACKn(s, stackdepth - 2); \
-        SETDST; \
-        stackdepth--; \
-    } while (0)
-
-#define OPTT2_1(s,d) \
-    do { \
-        REQUIRE_2; \
-        POP(s); \
-        POP(s); \
-        NEWSTACKn(d, stackdepth - 2); \
-        SETDST; \
-        stackdepth--; \
-    } while (0)
-
-#define OP2_2(s) \
-    do { \
-        REQUIRE_2; \
-        POP(s); \
-        POP(s); \
-        NEWSTACKn(s, stackdepth - 2); \
-        NEWSTACKn(s, stackdepth - 1); \
-        SETDST; \
-    } while (0)
-
-#define OP3TIA_0(s) \
-    do { \
-        REQUIRE_3; \
-        POP(s); \
-        POP(TYPE_INT); \
-        POP(TYPE_ADR); \
-        SETDST; \
-        stackdepth -= 3; \
-    } while (0)
-
-#define OP3_0(s) \
-    do { \
-        REQUIRE_3; \
-        POP(s); \
-        POP(s); \
-        POP(s); \
-        SETDST; \
-        stackdepth -= 3; \
-    } while (0)
-
-#define POPMANY(i) \
-    do { \
-        REQUIRE((i)); \
-        stackdepth -= (i); \
-        while(--(i) >= 0) { \
-            POPANY; \
-        } \
-        SETDST; \
-    } while (0)
-
-/* Do not copy Interface Stackslots over DUP! */
-#define DUP         {REQUIRE_1; \
-                            if (CURKIND != STACKVAR) { \
-                                                NEWSTACK(CURTYPE,CURKIND,curstack->varnum); \
-                                        } else { \
-                                                NEWSTACK(CURTYPE, TEMPVAR, stackdepth); \
-                                        } \
-                                        SETDST; stackdepth++;}
-#define SWAP        {REQUIRE_2;COPY(curstack,new);POPANY;COPY(curstack,new+1);POPANY;\
-                    new[0].prev=curstack;new[1].prev=new;\
-                    curstack=new+1;new+=2;SETDST;}
-#define DUP_X1      {REQUIRE_2;COPY(curstack,new);COPY(curstack,new+2);POPANY;\
-                    COPY(curstack,new+1);POPANY;new[0].prev=curstack;\
-                    new[1].prev=new;new[2].prev=new+1;\
-                    curstack=new+2;new+=3;SETDST;stackdepth++;}
-#define DUP2_X1     {REQUIRE_3;COPY(curstack,new+1);COPY(curstack,new+4);POPANY;\
-                    COPY(curstack,new);COPY(curstack,new+3);POPANY;\
-                    COPY(curstack,new+2);POPANY;new[0].prev=curstack;\
-                    new[1].prev=new;new[2].prev=new+1;\
-                    new[3].prev=new+2;new[4].prev=new+3;\
-                    curstack=new+4;new+=5;SETDST;stackdepth+=2;}
-#define DUP_X2      {REQUIRE_3;COPY(curstack,new);COPY(curstack,new+3);POPANY;\
-                    COPY(curstack,new+2);POPANY;COPY(curstack,new+1);POPANY;\
-                    new[0].prev=curstack;new[1].prev=new;\
-                    new[2].prev=new+1;new[3].prev=new+2;\
-                    curstack=new+3;new+=4;SETDST;stackdepth++;}
-#define DUP2_X2     {REQUIRE_4;COPY(curstack,new+1);COPY(curstack,new+5);POPANY;\
-                    COPY(curstack,new);COPY(curstack,new+4);POPANY;\
-                    COPY(curstack,new+3);POPANY;COPY(curstack,new+2);POPANY;\
-                    new[0].prev=curstack;new[1].prev=new;\
-                    new[2].prev=new+1;new[3].prev=new+2;\
-                    new[4].prev=new+3;new[5].prev=new+4;\
-                    curstack=new+5;new+=6;SETDST;stackdepth+=2;}
-
-
 /*--------------------------------------------------*/
 /* MACROS FOR HANDLING BASIC BLOCKS                 */
 /*--------------------------------------------------*/