|
|
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.