|
|
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.2 (Berkeley) 11/12/86 ! 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 tahoe ! 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 1 ! 42: #define REG_GENERAL 0 ! 43: #endif tahoe ! 44: ! 45: #ifdef mc68000 ! 46: /* ! 47: * the number of register types. ! 48: * the details of how many of each kind of register there is ! 49: * (and what they are for) is known in tmps.c ! 50: */ ! 51: #define NUMREGTYPES 2 ! 52: #define REG_DATA 0 ! 53: #define REG_ADDR 1 ! 54: #endif mc68000 ! 55: #endif PC ! 56: ! 57: struct om { ! 58: long om_max; ! 59: #ifdef PC ! 60: long low_water[NUMREGTYPES]; ! 61: #endif PC ! 62: struct tmps { ! 63: long om_off; ! 64: #ifdef PC ! 65: long next_avail[NUMREGTYPES]; ! 66: #endif PC ! 67: } curtmps; ! 68: } sizes[DSPLYSZ]; ! 69: ! 70: /* ! 71: * an enumeration for whether a temporary can be a register. cf. tmps.c ! 72: */ ! 73: #define NOREG 0 ! 74: #define REGOK 1
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.