[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / runtime / main / SMRep.lc
1 %
2 % (c) The AQUA Project, Glasgow University, 1994
3 %
4
5 % Guilty party: BOS
6
7 %************************************************************************
8 %*                                                                      *
9 \section[Rep.lc]{Global rep tables}
10 %*                                                                      *
11 %************************************************************************
12
13 These are the single, global static instances of each rep table type.
14
15 \begin{code}
16 #define COMPILING_REP_LC
17
18 #include "rtsdefs.h"
19 #include "../storage/SMinternal.h"
20
21 EXTFUN(_PRIn_0);
22 EXTFUN(_PRIn_1);
23 EXTFUN(_PRIn_2);
24 EXTFUN(_PRIn_3);
25 EXTFUN(_PRIn_4);
26 EXTFUN(_PRIn_5);
27 EXTFUN(_PRIn_6);
28 EXTFUN(_PRIn_7);
29 EXTFUN(_PRIn_8);
30 EXTFUN(_PRIn_9);
31 EXTFUN(_PRIn_10);
32 EXTFUN(_PRIn_11);
33 EXTFUN(_PRIn_12);
34
35 /* SPEC_x_RTBL(size,ptrs) */
36
37 SPEC_N_RTBL(1,0);
38 SPEC_N_RTBL(1,1);
39 SPEC_N_RTBL(2,0);
40 SPEC_N_RTBL(2,1);
41 SPEC_N_RTBL(2,2);
42 SPEC_N_RTBL(3,0);
43 SPEC_N_RTBL(3,1);
44 SPEC_N_RTBL(3,2);
45 SPEC_N_RTBL(3,3);
46 SPEC_N_RTBL(4,0);
47 SPEC_N_RTBL(4,4);
48 SPEC_N_RTBL(5,0);
49 SPEC_N_RTBL(5,5);
50 SPEC_N_RTBL(6,6);
51 SPEC_N_RTBL(7,7);
52 SPEC_N_RTBL(8,8);
53 SPEC_N_RTBL(9,9);
54 SPEC_N_RTBL(10,10);
55 SPEC_N_RTBL(11,11);
56 SPEC_N_RTBL(12,12);
57
58 SPEC_S_RTBL(1,0);
59 SPEC_S_RTBL(1,1);
60 SPEC_S_RTBL(2,0);
61 SPEC_S_RTBL(2,1);
62 SPEC_S_RTBL(2,2);
63 SPEC_S_RTBL(3,0);
64 SPEC_S_RTBL(3,1);
65 SPEC_S_RTBL(3,2);
66 SPEC_S_RTBL(3,3);
67 SPEC_S_RTBL(4,0);
68 SPEC_S_RTBL(4,4);
69 SPEC_S_RTBL(5,0);
70 SPEC_S_RTBL(5,5);
71 SPEC_S_RTBL(6,6);
72 SPEC_S_RTBL(7,7);
73 SPEC_S_RTBL(8,8);
74 SPEC_S_RTBL(9,9);
75 SPEC_S_RTBL(10,10);
76 SPEC_S_RTBL(11,11);
77 SPEC_S_RTBL(12,12);
78
79 SPEC_U_RTBL(1,0);
80 SPEC_U_RTBL(1,1);
81 SPEC_U_RTBL(2,0);
82 SPEC_U_RTBL(2,1);
83 SPEC_U_RTBL(2,2);
84 SPEC_U_RTBL(3,0);
85 SPEC_U_RTBL(3,1);
86 SPEC_U_RTBL(3,2);
87 SPEC_U_RTBL(3,3);
88 SPEC_U_RTBL(4,0);
89 SPEC_U_RTBL(4,4);
90 SPEC_U_RTBL(5,0);
91 SPEC_U_RTBL(5,5);
92 SPEC_U_RTBL(6,6);
93 SPEC_U_RTBL(7,7);
94 SPEC_U_RTBL(8,8);
95 SPEC_U_RTBL(9,9);
96 SPEC_U_RTBL(10,10);
97 SPEC_U_RTBL(11,11);
98 SPEC_U_RTBL(12,12);
99
100 /* SELECT_RTBL(size,ptrs,select_word_i) */
101
102 SELECT_RTBL(2,1,0);
103 SELECT_RTBL(2,1,1);
104 SELECT_RTBL(2,1,2);
105 SELECT_RTBL(2,1,3);
106 SELECT_RTBL(2,1,4);
107 SELECT_RTBL(2,1,5);
108 SELECT_RTBL(2,1,6);
109 SELECT_RTBL(2,1,7);
110 SELECT_RTBL(2,1,8);
111 SELECT_RTBL(2,1,9);
112 SELECT_RTBL(2,1,10);
113 SELECT_RTBL(2,1,11);
114 SELECT_RTBL(2,1,12);
115
116 GEN_N_RTBL();
117 GEN_S_RTBL();
118 GEN_U_RTBL();
119 DYN_RTBL();
120 TUPLE_RTBL();
121 DATA_RTBL();
122 MUTUPLE_RTBL();
123 IMMUTUPLE_RTBL();
124 STATIC_RTBL();
125
126 #ifndef PAR
127 MallocPtr_RTBL();
128 #endif
129
130 BH_RTBL(N);
131 BH_RTBL(U);
132
133 IND_RTBL();
134 PERM_IND_RTBL();
135 CAF_RTBL();
136 CONST_RTBL();
137 CHARLIKE_RTBL();
138 INTLIKE_RTBL();
139
140 CAF_EVAC_UPD_RTBL();
141
142 #ifdef GCgn
143 FORWARDREF_RTBL(_Evacuate_Old_Forward_Ref);
144 FORWARDREF_RTBL(_Evacuate_New_Forward_Ref);
145 FORWARDREF_RTBL(_Evacuate_OldRoot_Forward);
146 #endif
147 FORWARDREF_RTBL(_Evacuate_Forward_Ref);
148
149 #ifdef _INFO_MARKING
150 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextRoot,_Dummy_PRReturn_entry);
151 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextCAF,_Dummy_PRReturn_entry);
152 # ifdef CONCURRENT
153 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextSpark,_Dummy_PRReturn_entry);
154 # endif
155 # ifdef PAR
156 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextGA,_Dummy_PRReturn_entry);
157 # else
158 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextAStack,_Dummy_PRReturn_entry);
159 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextBStack,_Dummy_PRReturn_entry);
160 # endif
161 #endif
162
163 #ifdef GCgn
164 OLDROOT_RTBL();
165 #endif
166
167 #ifdef CONCURRENT
168 TSO_RTBL();
169 STKO_RTBL();
170 BQ_RTBL();
171 # ifndef PAR
172 STKO_STATIC_RTBL();
173 # else
174 FETCHME_RTBL();
175 FMBQ_RTBL();
176 BF_RTBL();
177 # endif
178 #endif
179
180 #ifdef PAR
181 SPEC_RBH_RTBL(2,0);
182 SPEC_RBH_RTBL(2,1);
183 SPEC_RBH_RTBL(2,2);
184 SPEC_RBH_RTBL(3,0);
185 SPEC_RBH_RTBL(3,1);
186 SPEC_RBH_RTBL(3,2);
187 SPEC_RBH_RTBL(3,3);
188 SPEC_RBH_RTBL(4,0);
189 SPEC_RBH_RTBL(4,4);
190 SPEC_RBH_RTBL(5,0);
191 SPEC_RBH_RTBL(5,5);
192 SPEC_RBH_RTBL(6,6);
193 SPEC_RBH_RTBL(7,7);
194 SPEC_RBH_RTBL(8,8);
195 SPEC_RBH_RTBL(9,9);
196 SPEC_RBH_RTBL(10,10);
197 SPEC_RBH_RTBL(11,11);
198 SPEC_RBH_RTBL(12,12);
199
200 GEN_RBH_RTBL();
201 #endif
202
203
204 \end{code}