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
Defined variables
sizes
defined in line
58; used 20 times
Defined struct's
om
defined in line
47; used 10 times
tmps
defined in line
52; used 8 times
Defined macros
NOREG
defined in line
63; used 8 times
REGOK
defined in line
64; used 10 times
Usage of this include