[project @ 1996-07-25 20:43:49 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 #if !defined(PAR) /* && !defined(GRAN) */
127 ForeignObj_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 # if defined(GRAN)
156 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextEvent,_Dummy_PRReturn_entry);
157 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextClosureInFetchBuffer,_Dummy_PRReturn_entry);
158 # endif
159 # ifdef PAR
160 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextGA,_Dummy_PRReturn_entry);
161 # else
162 #  if 1 /* !defined(CONCURRENT) */ /* HWL */
163 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextAStack,_Dummy_PRReturn_entry);
164 DUMMY_PRRETURN_RTBL(_PRMarking_MarkNextBStack,_Dummy_PRReturn_entry);
165 #  endif
166 # endif
167 #endif
168
169 #ifdef GCgn
170 OLDROOT_RTBL();
171 #endif
172
173 #ifdef CONCURRENT
174 TSO_RTBL();
175 STKO_RTBL();
176 BQ_RTBL();
177 # ifndef PAR
178 STKO_STATIC_RTBL();
179 # else
180 FETCHME_RTBL();
181 FMBQ_RTBL();
182 BF_RTBL();
183 # endif
184 #endif
185
186 #if defined(PAR) || defined(GRAN)
187 SPEC_RBH_RTBL(2,0);
188 SPEC_RBH_RTBL(2,1);
189 SPEC_RBH_RTBL(2,2);
190 SPEC_RBH_RTBL(3,0);
191 SPEC_RBH_RTBL(3,1);
192 SPEC_RBH_RTBL(3,2);
193 SPEC_RBH_RTBL(3,3);
194 SPEC_RBH_RTBL(4,0);
195 SPEC_RBH_RTBL(4,4);
196 SPEC_RBH_RTBL(5,0);
197 SPEC_RBH_RTBL(5,5);
198 SPEC_RBH_RTBL(6,6);
199 SPEC_RBH_RTBL(7,7);
200 SPEC_RBH_RTBL(8,8);
201 SPEC_RBH_RTBL(9,9);
202 SPEC_RBH_RTBL(10,10);
203 SPEC_RBH_RTBL(11,11);
204 SPEC_RBH_RTBL(12,12);
205
206 GEN_RBH_RTBL();
207 #endif
208
209
210 \end{code}