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