[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / runtime / storage / SMstatic.lc
1 ***************************************************************************
2
3     STATIC closures -- INTLIKE and CHARLIKE stuff.
4
5 ***************************************************************************
6
7 @CZh_entry@, @CZh_static_info@, @IZh_entry@ and @IZh_static_info@ 
8 are built by the compiler from {\tr uTys.hs}.
9
10 \begin{code}
11 #define NULL_REG_MAP
12 #include "SMinternal.h"
13
14 EXTDATA_RO(CZh_static_info);
15
16 #define __CHARLIKE_CLOSURE(n) (CHARLIKE_closures+((n)*(CHARLIKE_HS+1)))
17 #define __INTLIKE_CLOSURE(n)  (INTLIKE_closures_def+(((n)-MIN_INTLIKE)*(INTLIKE_HS+1)))
18
19 #define CHARLIKE_HDR(n)     SET_STATIC_FIXED_HDR(__CHARLIKE_CLOSURE(n),CZh_static_info,CC_DONTZuCARE), (W_) n
20
21 #define INTLIKE_HDR(n)      SET_STATIC_FIXED_HDR(__INTLIKE_CLOSURE(n),IZh_static_info,CC_DONTZuCARE), (W_) n
22
23 const W_ CHARLIKE_closures[] = {
24     CHARLIKE_HDR(0),
25     CHARLIKE_HDR(1),
26     CHARLIKE_HDR(2),
27     CHARLIKE_HDR(3),
28     CHARLIKE_HDR(4),
29     CHARLIKE_HDR(5),
30     CHARLIKE_HDR(6),
31     CHARLIKE_HDR(7),
32     CHARLIKE_HDR(8),
33     CHARLIKE_HDR(9),
34     CHARLIKE_HDR(10),
35     CHARLIKE_HDR(11),
36     CHARLIKE_HDR(12),
37     CHARLIKE_HDR(13),
38     CHARLIKE_HDR(14),
39     CHARLIKE_HDR(15),
40     CHARLIKE_HDR(16),
41     CHARLIKE_HDR(17),
42     CHARLIKE_HDR(18),
43     CHARLIKE_HDR(19),
44     CHARLIKE_HDR(20),
45     CHARLIKE_HDR(21),
46     CHARLIKE_HDR(22),
47     CHARLIKE_HDR(23),
48     CHARLIKE_HDR(24),
49     CHARLIKE_HDR(25),
50     CHARLIKE_HDR(26),
51     CHARLIKE_HDR(27),
52     CHARLIKE_HDR(28),
53     CHARLIKE_HDR(29),
54     CHARLIKE_HDR(30),
55     CHARLIKE_HDR(31),
56     CHARLIKE_HDR(32),
57     CHARLIKE_HDR(33),
58     CHARLIKE_HDR(34),
59     CHARLIKE_HDR(35),
60     CHARLIKE_HDR(36),
61     CHARLIKE_HDR(37),
62     CHARLIKE_HDR(38),
63     CHARLIKE_HDR(39),
64     CHARLIKE_HDR(40),
65     CHARLIKE_HDR(41),
66     CHARLIKE_HDR(42),
67     CHARLIKE_HDR(43),
68     CHARLIKE_HDR(44),
69     CHARLIKE_HDR(45),
70     CHARLIKE_HDR(46),
71     CHARLIKE_HDR(47),
72     CHARLIKE_HDR(48),
73     CHARLIKE_HDR(49),
74     CHARLIKE_HDR(50),
75     CHARLIKE_HDR(51),
76     CHARLIKE_HDR(52),
77     CHARLIKE_HDR(53),
78     CHARLIKE_HDR(54),
79     CHARLIKE_HDR(55),
80     CHARLIKE_HDR(56),
81     CHARLIKE_HDR(57),
82     CHARLIKE_HDR(58),
83     CHARLIKE_HDR(59),
84     CHARLIKE_HDR(60),
85     CHARLIKE_HDR(61),
86     CHARLIKE_HDR(62),
87     CHARLIKE_HDR(63),
88     CHARLIKE_HDR(64),
89     CHARLIKE_HDR(65),
90     CHARLIKE_HDR(66),
91     CHARLIKE_HDR(67),
92     CHARLIKE_HDR(68),
93     CHARLIKE_HDR(69),
94     CHARLIKE_HDR(70),
95     CHARLIKE_HDR(71),
96     CHARLIKE_HDR(72),
97     CHARLIKE_HDR(73),
98     CHARLIKE_HDR(74),
99     CHARLIKE_HDR(75),
100     CHARLIKE_HDR(76),
101     CHARLIKE_HDR(77),
102     CHARLIKE_HDR(78),
103     CHARLIKE_HDR(79),
104     CHARLIKE_HDR(80),
105     CHARLIKE_HDR(81),
106     CHARLIKE_HDR(82),
107     CHARLIKE_HDR(83),
108     CHARLIKE_HDR(84),
109     CHARLIKE_HDR(85),
110     CHARLIKE_HDR(86),
111     CHARLIKE_HDR(87),
112     CHARLIKE_HDR(88),
113     CHARLIKE_HDR(89),
114     CHARLIKE_HDR(90),
115     CHARLIKE_HDR(91),
116     CHARLIKE_HDR(92),
117     CHARLIKE_HDR(93),
118     CHARLIKE_HDR(94),
119     CHARLIKE_HDR(95),
120     CHARLIKE_HDR(96),
121     CHARLIKE_HDR(97),
122     CHARLIKE_HDR(98),
123     CHARLIKE_HDR(99),
124     CHARLIKE_HDR(100),
125     CHARLIKE_HDR(101),
126     CHARLIKE_HDR(102),
127     CHARLIKE_HDR(103),
128     CHARLIKE_HDR(104),
129     CHARLIKE_HDR(105),
130     CHARLIKE_HDR(106),
131     CHARLIKE_HDR(107),
132     CHARLIKE_HDR(108),
133     CHARLIKE_HDR(109),
134     CHARLIKE_HDR(110),
135     CHARLIKE_HDR(111),
136     CHARLIKE_HDR(112),
137     CHARLIKE_HDR(113),
138     CHARLIKE_HDR(114),
139     CHARLIKE_HDR(115),
140     CHARLIKE_HDR(116),
141     CHARLIKE_HDR(117),
142     CHARLIKE_HDR(118),
143     CHARLIKE_HDR(119),
144     CHARLIKE_HDR(120),
145     CHARLIKE_HDR(121),
146     CHARLIKE_HDR(122),
147     CHARLIKE_HDR(123),
148     CHARLIKE_HDR(124),
149     CHARLIKE_HDR(125),
150     CHARLIKE_HDR(126),
151     CHARLIKE_HDR(127),
152     CHARLIKE_HDR(128),
153     CHARLIKE_HDR(129),
154     CHARLIKE_HDR(130),
155     CHARLIKE_HDR(131),
156     CHARLIKE_HDR(132),
157     CHARLIKE_HDR(133),
158     CHARLIKE_HDR(134),
159     CHARLIKE_HDR(135),
160     CHARLIKE_HDR(136),
161     CHARLIKE_HDR(137),
162     CHARLIKE_HDR(138),
163     CHARLIKE_HDR(139),
164     CHARLIKE_HDR(140),
165     CHARLIKE_HDR(141),
166     CHARLIKE_HDR(142),
167     CHARLIKE_HDR(143),
168     CHARLIKE_HDR(144),
169     CHARLIKE_HDR(145),
170     CHARLIKE_HDR(146),
171     CHARLIKE_HDR(147),
172     CHARLIKE_HDR(148),
173     CHARLIKE_HDR(149),
174     CHARLIKE_HDR(150),
175     CHARLIKE_HDR(151),
176     CHARLIKE_HDR(152),
177     CHARLIKE_HDR(153),
178     CHARLIKE_HDR(154),
179     CHARLIKE_HDR(155),
180     CHARLIKE_HDR(156),
181     CHARLIKE_HDR(157),
182     CHARLIKE_HDR(158),
183     CHARLIKE_HDR(159),
184     CHARLIKE_HDR(160),
185     CHARLIKE_HDR(161),
186     CHARLIKE_HDR(162),
187     CHARLIKE_HDR(163),
188     CHARLIKE_HDR(164),
189     CHARLIKE_HDR(165),
190     CHARLIKE_HDR(166),
191     CHARLIKE_HDR(167),
192     CHARLIKE_HDR(168),
193     CHARLIKE_HDR(169),
194     CHARLIKE_HDR(170),
195     CHARLIKE_HDR(171),
196     CHARLIKE_HDR(172),
197     CHARLIKE_HDR(173),
198     CHARLIKE_HDR(174),
199     CHARLIKE_HDR(175),
200     CHARLIKE_HDR(176),
201     CHARLIKE_HDR(177),
202     CHARLIKE_HDR(178),
203     CHARLIKE_HDR(179),
204     CHARLIKE_HDR(180),
205     CHARLIKE_HDR(181),
206     CHARLIKE_HDR(182),
207     CHARLIKE_HDR(183),
208     CHARLIKE_HDR(184),
209     CHARLIKE_HDR(185),
210     CHARLIKE_HDR(186),
211     CHARLIKE_HDR(187),
212     CHARLIKE_HDR(188),
213     CHARLIKE_HDR(189),
214     CHARLIKE_HDR(190),
215     CHARLIKE_HDR(191),
216     CHARLIKE_HDR(192),
217     CHARLIKE_HDR(193),
218     CHARLIKE_HDR(194),
219     CHARLIKE_HDR(195),
220     CHARLIKE_HDR(196),
221     CHARLIKE_HDR(197),
222     CHARLIKE_HDR(198),
223     CHARLIKE_HDR(199),
224     CHARLIKE_HDR(200),
225     CHARLIKE_HDR(201),
226     CHARLIKE_HDR(202),
227     CHARLIKE_HDR(203),
228     CHARLIKE_HDR(204),
229     CHARLIKE_HDR(205),
230     CHARLIKE_HDR(206),
231     CHARLIKE_HDR(207),
232     CHARLIKE_HDR(208),
233     CHARLIKE_HDR(209),
234     CHARLIKE_HDR(210),
235     CHARLIKE_HDR(211),
236     CHARLIKE_HDR(212),
237     CHARLIKE_HDR(213),
238     CHARLIKE_HDR(214),
239     CHARLIKE_HDR(215),
240     CHARLIKE_HDR(216),
241     CHARLIKE_HDR(217),
242     CHARLIKE_HDR(218),
243     CHARLIKE_HDR(219),
244     CHARLIKE_HDR(220),
245     CHARLIKE_HDR(221),
246     CHARLIKE_HDR(222),
247     CHARLIKE_HDR(223),
248     CHARLIKE_HDR(224),
249     CHARLIKE_HDR(225),
250     CHARLIKE_HDR(226),
251     CHARLIKE_HDR(227),
252     CHARLIKE_HDR(228),
253     CHARLIKE_HDR(229),
254     CHARLIKE_HDR(230),
255     CHARLIKE_HDR(231),
256     CHARLIKE_HDR(232),
257     CHARLIKE_HDR(233),
258     CHARLIKE_HDR(234),
259     CHARLIKE_HDR(235),
260     CHARLIKE_HDR(236),
261     CHARLIKE_HDR(237),
262     CHARLIKE_HDR(238),
263     CHARLIKE_HDR(239),
264     CHARLIKE_HDR(240),
265     CHARLIKE_HDR(241),
266     CHARLIKE_HDR(242),
267     CHARLIKE_HDR(243),
268     CHARLIKE_HDR(244),
269     CHARLIKE_HDR(245),
270     CHARLIKE_HDR(246),
271     CHARLIKE_HDR(247),
272     CHARLIKE_HDR(248),
273     CHARLIKE_HDR(249),
274     CHARLIKE_HDR(250),
275     CHARLIKE_HDR(251),
276     CHARLIKE_HDR(252),
277     CHARLIKE_HDR(253),
278     CHARLIKE_HDR(254),
279     CHARLIKE_HDR(255)
280 };
281
282 EXTDATA_RO(IZh_static_info);
283
284 static const W_ INTLIKE_closures_def[] = {
285     INTLIKE_HDR(-16),   /* MIN_INTLIKE == -16 */
286     INTLIKE_HDR(-15),
287     INTLIKE_HDR(-14),
288     INTLIKE_HDR(-13),
289     INTLIKE_HDR(-12),
290     INTLIKE_HDR(-11),
291     INTLIKE_HDR(-10),
292     INTLIKE_HDR(-9),
293     INTLIKE_HDR(-8),
294     INTLIKE_HDR(-7),
295     INTLIKE_HDR(-6),
296     INTLIKE_HDR(-5),
297     INTLIKE_HDR(-4),
298     INTLIKE_HDR(-3),
299     INTLIKE_HDR(-2),
300     INTLIKE_HDR(-1),
301     INTLIKE_HDR(0),
302     INTLIKE_HDR(1),
303     INTLIKE_HDR(2),
304     INTLIKE_HDR(3),
305     INTLIKE_HDR(4),
306     INTLIKE_HDR(5),
307     INTLIKE_HDR(6),
308     INTLIKE_HDR(7),
309     INTLIKE_HDR(8),
310     INTLIKE_HDR(9),
311     INTLIKE_HDR(10),
312     INTLIKE_HDR(11),
313     INTLIKE_HDR(12),
314     INTLIKE_HDR(13),
315     INTLIKE_HDR(14),
316     INTLIKE_HDR(15),
317     INTLIKE_HDR(16)     /* MAX_INTLIKE == 16 */
318 };
319
320 P_ INTLIKE_closures = (P_) __INTLIKE_CLOSURE(0);
321
322 \end{code}