C:/Users/Dennis/src/lang/russell.orig/src/lh_opt/defs.h

Go to the documentation of this file.
00001 # define OPEN (*
00002 # define CLOSE *)
00003 # define DEBUG(S) write [File$stdout, S]
00004 
00005 # include "op_codes.h"
00006 
00007 # define mem_var 0      /* a pseudo variable that represents memory */
00008 
00009 /* objects that can appear on loclists but are not numbered locs, as such */
00010 # define MEM_OBJ -4
00011 # define NONE_OBJ -3
00012 # define STACK_OBJ -2
00013 # define STATIC_OBJ -1  /* some fns in loclist.r and flocs.r depend */
00014                         /* ... on these values' order */
00015 
00016 /* These are the numbers for the standard nodes */
00017 # define GENERICNODE    (0)
00018 # define MEMNODE        (1)
00019 # define NONENODE       (2)
00020 # define STATICNODE     (3)
00021 # define STACKNODE      (4)
00022 # define AVAIL_NODE     (5)     /* first available */
00023 
00024 /* mnemonics for categories of op codes */
00025 # define NULLCAT 0
00026 # define ALLOC   1              /* ALH, ALA */
00027                                 /* safe allocating CLL, CLC, CLI */
00028 # define ALCNIL 2               /* (nil) DCL, LDN, LDS, LDL, UDC, ADP, TRU, 
00029                                                                         FLS */
00030 # define ASSIGN 3               /* MOV */
00031 # define TOMEM  4               /* PSH, STI, ARG */
00032 # define CATTAR 5               /* TAR */
00033 # define ANY    6               /* LDI */
00034 # define UNSAFE 7               /* unsafe calls to CLL, CLI */
00035 # define ALCSTAT 8              /* LDL and MOV SP - */
00036 # define GARCAT 9               /* GAR - category needed on prepass */
00037 # define ARGCAT 10              /* for ARGs that I assume are preserved */
00038 # define MAYBEALC 11            /* for calls that I assume are allocators */
00039 # define ALCSTACK 12            /* for MOV SP - , I think */
00040 # define ERRCAT   13            /* for ERRs, after which I can assume the 
00041                                                                         best */
00042 # define WATCHARG 15    /* or ARGs that would otherwise be NULLCAT, but I have
00043                                 to see them in final phase, so they have to
00044                                 go into qlists. */
00045 
00046 # define DEA_update 1           /* these are update note types */
00047 # define STI_update 2
00048 # define KILL_update 3
00049 # define postponed_UDC 4
00050 # define postponed_DEAD 5
00051 # define RL_before 6
00052 # define RL_after 7
00053 
00054 # define MAXWATCHARGS 10        /* how many args we watch through a call */
00055 
00056 # define TOP (-1)   /* for the top element of the inter. analysis - the
00057                                 other values are #s of graph nodes */

Generated on Fri Jan 25 10:39:46 2008 for russell by  doxygen 1.5.4