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