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