@@ -12,6 +12,12 @@ extern "C" {
1212#define _PY_NSMALLPOSINTS 257
1313#define _PY_NSMALLNEGINTS 5
1414
15+ #define _PyLong_NEG_INIT (val ) \
16+ { PyVarObject_HEAD_INIT(&PyLong_Type, -1) .ob_digit = { -(val) }, }
17+ #define _PyLong_ZERO_INIT \
18+ { PyVarObject_HEAD_INIT(&PyLong_Type, 0) .ob_digit = { 0 }, }
19+ #define _PyLong_POS_INIT (val ) \
20+ { PyVarObject_HEAD_INIT(&PyLong_Type, 1) .ob_digit = { val }, }
1521
1622
1723// Only immutable objects should be considered runtime-global.
@@ -35,6 +41,270 @@ struct _Py_global_objects {
3541
3642#define _Py_global_objects_INIT { \
3743 .singletons = { \
44+ .small_ints = { \
45+ _PyLong_NEG_INIT(-5), \
46+ _PyLong_NEG_INIT(-4), \
47+ _PyLong_NEG_INIT(-3), \
48+ _PyLong_NEG_INIT(-2), \
49+ _PyLong_NEG_INIT(-1), \
50+ _PyLong_ZERO_INIT, \
51+ _PyLong_POS_INIT(1), \
52+ _PyLong_POS_INIT(2), \
53+ _PyLong_POS_INIT(3), \
54+ _PyLong_POS_INIT(4), \
55+ _PyLong_POS_INIT(5), \
56+ _PyLong_POS_INIT(6), \
57+ _PyLong_POS_INIT(7), \
58+ _PyLong_POS_INIT(8), \
59+ _PyLong_POS_INIT(9), \
60+ _PyLong_POS_INIT(10), \
61+ _PyLong_POS_INIT(11), \
62+ _PyLong_POS_INIT(12), \
63+ _PyLong_POS_INIT(13), \
64+ _PyLong_POS_INIT(14), \
65+ _PyLong_POS_INIT(15), \
66+ _PyLong_POS_INIT(16), \
67+ _PyLong_POS_INIT(17), \
68+ _PyLong_POS_INIT(18), \
69+ _PyLong_POS_INIT(19), \
70+ _PyLong_POS_INIT(20), \
71+ _PyLong_POS_INIT(21), \
72+ _PyLong_POS_INIT(22), \
73+ _PyLong_POS_INIT(23), \
74+ _PyLong_POS_INIT(24), \
75+ _PyLong_POS_INIT(25), \
76+ _PyLong_POS_INIT(26), \
77+ _PyLong_POS_INIT(27), \
78+ _PyLong_POS_INIT(28), \
79+ _PyLong_POS_INIT(29), \
80+ _PyLong_POS_INIT(30), \
81+ _PyLong_POS_INIT(31), \
82+ _PyLong_POS_INIT(32), \
83+ _PyLong_POS_INIT(33), \
84+ _PyLong_POS_INIT(34), \
85+ _PyLong_POS_INIT(35), \
86+ _PyLong_POS_INIT(36), \
87+ _PyLong_POS_INIT(37), \
88+ _PyLong_POS_INIT(38), \
89+ _PyLong_POS_INIT(39), \
90+ _PyLong_POS_INIT(40), \
91+ _PyLong_POS_INIT(41), \
92+ _PyLong_POS_INIT(42), \
93+ _PyLong_POS_INIT(43), \
94+ _PyLong_POS_INIT(44), \
95+ _PyLong_POS_INIT(45), \
96+ _PyLong_POS_INIT(46), \
97+ _PyLong_POS_INIT(47), \
98+ _PyLong_POS_INIT(48), \
99+ _PyLong_POS_INIT(49), \
100+ _PyLong_POS_INIT(50), \
101+ _PyLong_POS_INIT(51), \
102+ _PyLong_POS_INIT(52), \
103+ _PyLong_POS_INIT(53), \
104+ _PyLong_POS_INIT(54), \
105+ _PyLong_POS_INIT(55), \
106+ _PyLong_POS_INIT(56), \
107+ _PyLong_POS_INIT(57), \
108+ _PyLong_POS_INIT(58), \
109+ _PyLong_POS_INIT(59), \
110+ _PyLong_POS_INIT(60), \
111+ _PyLong_POS_INIT(61), \
112+ _PyLong_POS_INIT(62), \
113+ _PyLong_POS_INIT(63), \
114+ _PyLong_POS_INIT(64), \
115+ _PyLong_POS_INIT(65), \
116+ _PyLong_POS_INIT(66), \
117+ _PyLong_POS_INIT(67), \
118+ _PyLong_POS_INIT(68), \
119+ _PyLong_POS_INIT(69), \
120+ _PyLong_POS_INIT(70), \
121+ _PyLong_POS_INIT(71), \
122+ _PyLong_POS_INIT(72), \
123+ _PyLong_POS_INIT(73), \
124+ _PyLong_POS_INIT(74), \
125+ _PyLong_POS_INIT(75), \
126+ _PyLong_POS_INIT(76), \
127+ _PyLong_POS_INIT(77), \
128+ _PyLong_POS_INIT(78), \
129+ _PyLong_POS_INIT(79), \
130+ _PyLong_POS_INIT(80), \
131+ _PyLong_POS_INIT(81), \
132+ _PyLong_POS_INIT(82), \
133+ _PyLong_POS_INIT(83), \
134+ _PyLong_POS_INIT(84), \
135+ _PyLong_POS_INIT(85), \
136+ _PyLong_POS_INIT(86), \
137+ _PyLong_POS_INIT(87), \
138+ _PyLong_POS_INIT(88), \
139+ _PyLong_POS_INIT(89), \
140+ _PyLong_POS_INIT(90), \
141+ _PyLong_POS_INIT(91), \
142+ _PyLong_POS_INIT(92), \
143+ _PyLong_POS_INIT(93), \
144+ _PyLong_POS_INIT(94), \
145+ _PyLong_POS_INIT(95), \
146+ _PyLong_POS_INIT(96), \
147+ _PyLong_POS_INIT(97), \
148+ _PyLong_POS_INIT(98), \
149+ _PyLong_POS_INIT(99), \
150+ _PyLong_POS_INIT(100), \
151+ _PyLong_POS_INIT(101), \
152+ _PyLong_POS_INIT(102), \
153+ _PyLong_POS_INIT(103), \
154+ _PyLong_POS_INIT(104), \
155+ _PyLong_POS_INIT(105), \
156+ _PyLong_POS_INIT(106), \
157+ _PyLong_POS_INIT(107), \
158+ _PyLong_POS_INIT(108), \
159+ _PyLong_POS_INIT(109), \
160+ _PyLong_POS_INIT(110), \
161+ _PyLong_POS_INIT(111), \
162+ _PyLong_POS_INIT(112), \
163+ _PyLong_POS_INIT(113), \
164+ _PyLong_POS_INIT(114), \
165+ _PyLong_POS_INIT(115), \
166+ _PyLong_POS_INIT(116), \
167+ _PyLong_POS_INIT(117), \
168+ _PyLong_POS_INIT(118), \
169+ _PyLong_POS_INIT(119), \
170+ _PyLong_POS_INIT(120), \
171+ _PyLong_POS_INIT(121), \
172+ _PyLong_POS_INIT(122), \
173+ _PyLong_POS_INIT(123), \
174+ _PyLong_POS_INIT(124), \
175+ _PyLong_POS_INIT(125), \
176+ _PyLong_POS_INIT(126), \
177+ _PyLong_POS_INIT(127), \
178+ _PyLong_POS_INIT(128), \
179+ _PyLong_POS_INIT(129), \
180+ _PyLong_POS_INIT(130), \
181+ _PyLong_POS_INIT(131), \
182+ _PyLong_POS_INIT(132), \
183+ _PyLong_POS_INIT(133), \
184+ _PyLong_POS_INIT(134), \
185+ _PyLong_POS_INIT(135), \
186+ _PyLong_POS_INIT(136), \
187+ _PyLong_POS_INIT(137), \
188+ _PyLong_POS_INIT(138), \
189+ _PyLong_POS_INIT(139), \
190+ _PyLong_POS_INIT(140), \
191+ _PyLong_POS_INIT(141), \
192+ _PyLong_POS_INIT(142), \
193+ _PyLong_POS_INIT(143), \
194+ _PyLong_POS_INIT(144), \
195+ _PyLong_POS_INIT(145), \
196+ _PyLong_POS_INIT(146), \
197+ _PyLong_POS_INIT(147), \
198+ _PyLong_POS_INIT(148), \
199+ _PyLong_POS_INIT(149), \
200+ _PyLong_POS_INIT(150), \
201+ _PyLong_POS_INIT(151), \
202+ _PyLong_POS_INIT(152), \
203+ _PyLong_POS_INIT(153), \
204+ _PyLong_POS_INIT(154), \
205+ _PyLong_POS_INIT(155), \
206+ _PyLong_POS_INIT(156), \
207+ _PyLong_POS_INIT(157), \
208+ _PyLong_POS_INIT(158), \
209+ _PyLong_POS_INIT(159), \
210+ _PyLong_POS_INIT(160), \
211+ _PyLong_POS_INIT(161), \
212+ _PyLong_POS_INIT(162), \
213+ _PyLong_POS_INIT(163), \
214+ _PyLong_POS_INIT(164), \
215+ _PyLong_POS_INIT(165), \
216+ _PyLong_POS_INIT(166), \
217+ _PyLong_POS_INIT(167), \
218+ _PyLong_POS_INIT(168), \
219+ _PyLong_POS_INIT(169), \
220+ _PyLong_POS_INIT(170), \
221+ _PyLong_POS_INIT(171), \
222+ _PyLong_POS_INIT(172), \
223+ _PyLong_POS_INIT(173), \
224+ _PyLong_POS_INIT(174), \
225+ _PyLong_POS_INIT(175), \
226+ _PyLong_POS_INIT(176), \
227+ _PyLong_POS_INIT(177), \
228+ _PyLong_POS_INIT(178), \
229+ _PyLong_POS_INIT(179), \
230+ _PyLong_POS_INIT(180), \
231+ _PyLong_POS_INIT(181), \
232+ _PyLong_POS_INIT(182), \
233+ _PyLong_POS_INIT(183), \
234+ _PyLong_POS_INIT(184), \
235+ _PyLong_POS_INIT(185), \
236+ _PyLong_POS_INIT(186), \
237+ _PyLong_POS_INIT(187), \
238+ _PyLong_POS_INIT(188), \
239+ _PyLong_POS_INIT(189), \
240+ _PyLong_POS_INIT(190), \
241+ _PyLong_POS_INIT(191), \
242+ _PyLong_POS_INIT(192), \
243+ _PyLong_POS_INIT(193), \
244+ _PyLong_POS_INIT(194), \
245+ _PyLong_POS_INIT(195), \
246+ _PyLong_POS_INIT(196), \
247+ _PyLong_POS_INIT(197), \
248+ _PyLong_POS_INIT(198), \
249+ _PyLong_POS_INIT(199), \
250+ _PyLong_POS_INIT(200), \
251+ _PyLong_POS_INIT(201), \
252+ _PyLong_POS_INIT(202), \
253+ _PyLong_POS_INIT(203), \
254+ _PyLong_POS_INIT(204), \
255+ _PyLong_POS_INIT(205), \
256+ _PyLong_POS_INIT(206), \
257+ _PyLong_POS_INIT(207), \
258+ _PyLong_POS_INIT(208), \
259+ _PyLong_POS_INIT(209), \
260+ _PyLong_POS_INIT(210), \
261+ _PyLong_POS_INIT(211), \
262+ _PyLong_POS_INIT(212), \
263+ _PyLong_POS_INIT(213), \
264+ _PyLong_POS_INIT(214), \
265+ _PyLong_POS_INIT(215), \
266+ _PyLong_POS_INIT(216), \
267+ _PyLong_POS_INIT(217), \
268+ _PyLong_POS_INIT(218), \
269+ _PyLong_POS_INIT(219), \
270+ _PyLong_POS_INIT(220), \
271+ _PyLong_POS_INIT(221), \
272+ _PyLong_POS_INIT(222), \
273+ _PyLong_POS_INIT(223), \
274+ _PyLong_POS_INIT(224), \
275+ _PyLong_POS_INIT(225), \
276+ _PyLong_POS_INIT(226), \
277+ _PyLong_POS_INIT(227), \
278+ _PyLong_POS_INIT(228), \
279+ _PyLong_POS_INIT(229), \
280+ _PyLong_POS_INIT(230), \
281+ _PyLong_POS_INIT(231), \
282+ _PyLong_POS_INIT(232), \
283+ _PyLong_POS_INIT(233), \
284+ _PyLong_POS_INIT(234), \
285+ _PyLong_POS_INIT(235), \
286+ _PyLong_POS_INIT(236), \
287+ _PyLong_POS_INIT(237), \
288+ _PyLong_POS_INIT(238), \
289+ _PyLong_POS_INIT(239), \
290+ _PyLong_POS_INIT(240), \
291+ _PyLong_POS_INIT(241), \
292+ _PyLong_POS_INIT(242), \
293+ _PyLong_POS_INIT(243), \
294+ _PyLong_POS_INIT(244), \
295+ _PyLong_POS_INIT(245), \
296+ _PyLong_POS_INIT(246), \
297+ _PyLong_POS_INIT(247), \
298+ _PyLong_POS_INIT(248), \
299+ _PyLong_POS_INIT(249), \
300+ _PyLong_POS_INIT(250), \
301+ _PyLong_POS_INIT(251), \
302+ _PyLong_POS_INIT(252), \
303+ _PyLong_POS_INIT(253), \
304+ _PyLong_POS_INIT(254), \
305+ _PyLong_POS_INIT(255), \
306+ _PyLong_POS_INIT(256), \
307+ }, \
38308 }, \
39309}
40310
0 commit comments