|
|
1.1 ! root 1: /* Copyright (c) 1983 Regents of the University of California */ ! 2: ! 3: /* static char sccsid[] = "@(#)tmps.h 1.1 2/28/83"; */ ! 4: ! 5: /* ! 6: * The following structure is used ! 7: * to keep track of the amount of variable ! 8: * storage required by each block. ! 9: * "Max" is the high water mark, "off" ! 10: * the current need. Temporaries for "for" ! 11: * loops and "with" statements are allocated ! 12: * in the local variable area and these ! 13: * numbers are thereby changed if necessary. ! 14: * ! 15: * for the compiler, ! 16: * low_water is the lowest number register allocated of its type ! 17: * next_avail is the next available register of its type ! 18: */ ! 19: ! 20: #ifdef PC ! 21: #ifdef vax ! 22: /* ! 23: * the number of register types. ! 24: * the details of how many of each kind of register there is ! 25: * (and what they are for) is known in tmps.c ! 26: */ ! 27: #define NUMREGTYPES 1 ! 28: #define REG_GENERAL 0 ! 29: #endif vax ! 30: ! 31: #ifdef mc68000 ! 32: /* ! 33: * the number of register types. ! 34: * the details of how many of each kind of register there is ! 35: * (and what they are for) is known in tmps.c ! 36: */ ! 37: #define NUMREGTYPES 2 ! 38: #define REG_DATA 0 ! 39: #define REG_ADDR 1 ! 40: #endif mc68000 ! 41: #endif PC ! 42: ! 43: struct om { ! 44: long om_max; ! 45: #ifdef PC ! 46: long low_water[NUMREGTYPES]; ! 47: #endif PC ! 48: struct tmps { ! 49: long om_off; ! 50: #ifdef PC ! 51: long next_avail[NUMREGTYPES]; ! 52: #endif PC ! 53: } curtmps; ! 54: } sizes[DSPLYSZ]; ! 55: ! 56: /* ! 57: * an enumeration for whether a temporary can be a register. cf. tmps.c ! 58: */ ! 59: #define NOREG 0 ! 60: #define REGOK 1
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.