1 #ifndef JEMALLOC_INTERNAL_SIZE_CLASSES_H
2 #define JEMALLOC_INTERNAL_SIZE_CLASSES_H
4 /* This file was automatically generated by size_classes.sh. */
6 #include "jemalloc/internal/jemalloc_internal_types.h"
9 * This header file defines:
11 * LG_SIZE_CLASS_GROUP: Lg of size class count for each size doubling.
12 * LG_TINY_MIN: Lg of minimum size class to support.
13 * SIZE_CLASSES: Complete table of SC(index, lg_grp, lg_delta, ndelta, psz,
14 * bin, pgs, lg_delta_lookup) tuples.
15 * index: Size class index.
16 * lg_grp: Lg group base size (no deltas added).
17 * lg_delta: Lg delta to previous size class.
18 * ndelta: Delta multiplier. size == 1<<lg_grp + ndelta<<lg_delta
19 * psz: 'yes' if a multiple of the page size, 'no' otherwise.
20 * bin: 'yes' if a small bin size class, 'no' otherwise.
21 * pgs: Slab page count if a small bin size class, 0 otherwise.
22 * lg_delta_lookup: Same as lg_delta if a lookup table size class, 'no'
24 * NTBINS: Number of tiny bins.
25 * NLBINS: Number of bins supported by the lookup table.
26 * NBINS: Number of small size class bins.
27 * NSIZES: Number of size classes.
28 * LG_CEIL_NSIZES: Number of bits required to store NSIZES.
29 * NPSIZES: Number of size classes that are a multiple of (1U << LG_PAGE).
30 * LG_TINY_MAXCLASS: Lg of maximum tiny size class.
31 * LOOKUP_MAXCLASS: Maximum size class included in lookup table.
32 * SMALL_MAXCLASS: Maximum small size class.
33 * LG_LARGE_MINCLASS: Lg of minimum large size class.
34 * LARGE_MAXCLASS: Maximum (large) size class.
37 #define LG_SIZE_CLASS_GROUP 2
40 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 12)
41 #define SIZE_CLASSES \
42 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
43 SC( 0, 3, 3, 0, no, yes, 1, 3) \
44 SC( 1, 3, 3, 1, no, yes, 1, 3) \
45 SC( 2, 3, 3, 2, no, yes, 3, 3) \
46 SC( 3, 3, 3, 3, no, yes, 1, 3) \
48 SC( 4, 5, 3, 1, no, yes, 5, 3) \
49 SC( 5, 5, 3, 2, no, yes, 3, 3) \
50 SC( 6, 5, 3, 3, no, yes, 7, 3) \
51 SC( 7, 5, 3, 4, no, yes, 1, 3) \
53 SC( 8, 6, 4, 1, no, yes, 5, 4) \
54 SC( 9, 6, 4, 2, no, yes, 3, 4) \
55 SC( 10, 6, 4, 3, no, yes, 7, 4) \
56 SC( 11, 6, 4, 4, no, yes, 1, 4) \
58 SC( 12, 7, 5, 1, no, yes, 5, 5) \
59 SC( 13, 7, 5, 2, no, yes, 3, 5) \
60 SC( 14, 7, 5, 3, no, yes, 7, 5) \
61 SC( 15, 7, 5, 4, no, yes, 1, 5) \
63 SC( 16, 8, 6, 1, no, yes, 5, 6) \
64 SC( 17, 8, 6, 2, no, yes, 3, 6) \
65 SC( 18, 8, 6, 3, no, yes, 7, 6) \
66 SC( 19, 8, 6, 4, no, yes, 1, 6) \
68 SC( 20, 9, 7, 1, no, yes, 5, 7) \
69 SC( 21, 9, 7, 2, no, yes, 3, 7) \
70 SC( 22, 9, 7, 3, no, yes, 7, 7) \
71 SC( 23, 9, 7, 4, no, yes, 1, 7) \
73 SC( 24, 10, 8, 1, no, yes, 5, 8) \
74 SC( 25, 10, 8, 2, no, yes, 3, 8) \
75 SC( 26, 10, 8, 3, no, yes, 7, 8) \
76 SC( 27, 10, 8, 4, no, yes, 1, 8) \
78 SC( 28, 11, 9, 1, no, yes, 5, 9) \
79 SC( 29, 11, 9, 2, no, yes, 3, 9) \
80 SC( 30, 11, 9, 3, no, yes, 7, 9) \
81 SC( 31, 11, 9, 4, yes, yes, 1, 9) \
83 SC( 32, 12, 10, 1, no, yes, 5, no) \
84 SC( 33, 12, 10, 2, no, yes, 3, no) \
85 SC( 34, 12, 10, 3, no, yes, 7, no) \
86 SC( 35, 12, 10, 4, yes, yes, 2, no) \
88 SC( 36, 13, 11, 1, no, yes, 5, no) \
89 SC( 37, 13, 11, 2, yes, yes, 3, no) \
90 SC( 38, 13, 11, 3, no, yes, 7, no) \
91 SC( 39, 13, 11, 4, yes, no, 0, no) \
93 SC( 40, 14, 12, 1, yes, no, 0, no) \
94 SC( 41, 14, 12, 2, yes, no, 0, no) \
95 SC( 42, 14, 12, 3, yes, no, 0, no) \
96 SC( 43, 14, 12, 4, yes, no, 0, no) \
98 SC( 44, 15, 13, 1, yes, no, 0, no) \
99 SC( 45, 15, 13, 2, yes, no, 0, no) \
100 SC( 46, 15, 13, 3, yes, no, 0, no) \
101 SC( 47, 15, 13, 4, yes, no, 0, no) \
103 SC( 48, 16, 14, 1, yes, no, 0, no) \
104 SC( 49, 16, 14, 2, yes, no, 0, no) \
105 SC( 50, 16, 14, 3, yes, no, 0, no) \
106 SC( 51, 16, 14, 4, yes, no, 0, no) \
108 SC( 52, 17, 15, 1, yes, no, 0, no) \
109 SC( 53, 17, 15, 2, yes, no, 0, no) \
110 SC( 54, 17, 15, 3, yes, no, 0, no) \
111 SC( 55, 17, 15, 4, yes, no, 0, no) \
113 SC( 56, 18, 16, 1, yes, no, 0, no) \
114 SC( 57, 18, 16, 2, yes, no, 0, no) \
115 SC( 58, 18, 16, 3, yes, no, 0, no) \
116 SC( 59, 18, 16, 4, yes, no, 0, no) \
118 SC( 60, 19, 17, 1, yes, no, 0, no) \
119 SC( 61, 19, 17, 2, yes, no, 0, no) \
120 SC( 62, 19, 17, 3, yes, no, 0, no) \
121 SC( 63, 19, 17, 4, yes, no, 0, no) \
123 SC( 64, 20, 18, 1, yes, no, 0, no) \
124 SC( 65, 20, 18, 2, yes, no, 0, no) \
125 SC( 66, 20, 18, 3, yes, no, 0, no) \
126 SC( 67, 20, 18, 4, yes, no, 0, no) \
128 SC( 68, 21, 19, 1, yes, no, 0, no) \
129 SC( 69, 21, 19, 2, yes, no, 0, no) \
130 SC( 70, 21, 19, 3, yes, no, 0, no) \
131 SC( 71, 21, 19, 4, yes, no, 0, no) \
133 SC( 72, 22, 20, 1, yes, no, 0, no) \
134 SC( 73, 22, 20, 2, yes, no, 0, no) \
135 SC( 74, 22, 20, 3, yes, no, 0, no) \
136 SC( 75, 22, 20, 4, yes, no, 0, no) \
138 SC( 76, 23, 21, 1, yes, no, 0, no) \
139 SC( 77, 23, 21, 2, yes, no, 0, no) \
140 SC( 78, 23, 21, 3, yes, no, 0, no) \
141 SC( 79, 23, 21, 4, yes, no, 0, no) \
143 SC( 80, 24, 22, 1, yes, no, 0, no) \
144 SC( 81, 24, 22, 2, yes, no, 0, no) \
145 SC( 82, 24, 22, 3, yes, no, 0, no) \
146 SC( 83, 24, 22, 4, yes, no, 0, no) \
148 SC( 84, 25, 23, 1, yes, no, 0, no) \
149 SC( 85, 25, 23, 2, yes, no, 0, no) \
150 SC( 86, 25, 23, 3, yes, no, 0, no) \
151 SC( 87, 25, 23, 4, yes, no, 0, no) \
153 SC( 88, 26, 24, 1, yes, no, 0, no) \
154 SC( 89, 26, 24, 2, yes, no, 0, no) \
155 SC( 90, 26, 24, 3, yes, no, 0, no) \
156 SC( 91, 26, 24, 4, yes, no, 0, no) \
158 SC( 92, 27, 25, 1, yes, no, 0, no) \
159 SC( 93, 27, 25, 2, yes, no, 0, no) \
160 SC( 94, 27, 25, 3, yes, no, 0, no) \
161 SC( 95, 27, 25, 4, yes, no, 0, no) \
163 SC( 96, 28, 26, 1, yes, no, 0, no) \
164 SC( 97, 28, 26, 2, yes, no, 0, no) \
165 SC( 98, 28, 26, 3, yes, no, 0, no) \
166 SC( 99, 28, 26, 4, yes, no, 0, no) \
168 SC(100, 29, 27, 1, yes, no, 0, no) \
169 SC(101, 29, 27, 2, yes, no, 0, no) \
170 SC(102, 29, 27, 3, yes, no, 0, no) \
171 SC(103, 29, 27, 4, yes, no, 0, no) \
173 SC(104, 30, 28, 1, yes, no, 0, no) \
174 SC(105, 30, 28, 2, yes, no, 0, no) \
175 SC(106, 30, 28, 3, yes, no, 0, no) \
177 #define SIZE_CLASSES_DEFINED
182 #define LG_CEIL_NSIZES 7
184 #define LG_TINY_MAXCLASS "NA"
185 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
186 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11))
187 #define LG_LARGE_MINCLASS 14
188 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
189 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
192 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 13)
193 #define SIZE_CLASSES \
194 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
195 SC( 0, 3, 3, 0, no, yes, 1, 3) \
196 SC( 1, 3, 3, 1, no, yes, 1, 3) \
197 SC( 2, 3, 3, 2, no, yes, 3, 3) \
198 SC( 3, 3, 3, 3, no, yes, 1, 3) \
200 SC( 4, 5, 3, 1, no, yes, 5, 3) \
201 SC( 5, 5, 3, 2, no, yes, 3, 3) \
202 SC( 6, 5, 3, 3, no, yes, 7, 3) \
203 SC( 7, 5, 3, 4, no, yes, 1, 3) \
205 SC( 8, 6, 4, 1, no, yes, 5, 4) \
206 SC( 9, 6, 4, 2, no, yes, 3, 4) \
207 SC( 10, 6, 4, 3, no, yes, 7, 4) \
208 SC( 11, 6, 4, 4, no, yes, 1, 4) \
210 SC( 12, 7, 5, 1, no, yes, 5, 5) \
211 SC( 13, 7, 5, 2, no, yes, 3, 5) \
212 SC( 14, 7, 5, 3, no, yes, 7, 5) \
213 SC( 15, 7, 5, 4, no, yes, 1, 5) \
215 SC( 16, 8, 6, 1, no, yes, 5, 6) \
216 SC( 17, 8, 6, 2, no, yes, 3, 6) \
217 SC( 18, 8, 6, 3, no, yes, 7, 6) \
218 SC( 19, 8, 6, 4, no, yes, 1, 6) \
220 SC( 20, 9, 7, 1, no, yes, 5, 7) \
221 SC( 21, 9, 7, 2, no, yes, 3, 7) \
222 SC( 22, 9, 7, 3, no, yes, 7, 7) \
223 SC( 23, 9, 7, 4, no, yes, 1, 7) \
225 SC( 24, 10, 8, 1, no, yes, 5, 8) \
226 SC( 25, 10, 8, 2, no, yes, 3, 8) \
227 SC( 26, 10, 8, 3, no, yes, 7, 8) \
228 SC( 27, 10, 8, 4, no, yes, 1, 8) \
230 SC( 28, 11, 9, 1, no, yes, 5, 9) \
231 SC( 29, 11, 9, 2, no, yes, 3, 9) \
232 SC( 30, 11, 9, 3, no, yes, 7, 9) \
233 SC( 31, 11, 9, 4, no, yes, 1, 9) \
235 SC( 32, 12, 10, 1, no, yes, 5, no) \
236 SC( 33, 12, 10, 2, no, yes, 3, no) \
237 SC( 34, 12, 10, 3, no, yes, 7, no) \
238 SC( 35, 12, 10, 4, yes, yes, 1, no) \
240 SC( 36, 13, 11, 1, no, yes, 5, no) \
241 SC( 37, 13, 11, 2, no, yes, 3, no) \
242 SC( 38, 13, 11, 3, no, yes, 7, no) \
243 SC( 39, 13, 11, 4, yes, yes, 2, no) \
245 SC( 40, 14, 12, 1, no, yes, 5, no) \
246 SC( 41, 14, 12, 2, yes, yes, 3, no) \
247 SC( 42, 14, 12, 3, no, yes, 7, no) \
248 SC( 43, 14, 12, 4, yes, no, 0, no) \
250 SC( 44, 15, 13, 1, yes, no, 0, no) \
251 SC( 45, 15, 13, 2, yes, no, 0, no) \
252 SC( 46, 15, 13, 3, yes, no, 0, no) \
253 SC( 47, 15, 13, 4, yes, no, 0, no) \
255 SC( 48, 16, 14, 1, yes, no, 0, no) \
256 SC( 49, 16, 14, 2, yes, no, 0, no) \
257 SC( 50, 16, 14, 3, yes, no, 0, no) \
258 SC( 51, 16, 14, 4, yes, no, 0, no) \
260 SC( 52, 17, 15, 1, yes, no, 0, no) \
261 SC( 53, 17, 15, 2, yes, no, 0, no) \
262 SC( 54, 17, 15, 3, yes, no, 0, no) \
263 SC( 55, 17, 15, 4, yes, no, 0, no) \
265 SC( 56, 18, 16, 1, yes, no, 0, no) \
266 SC( 57, 18, 16, 2, yes, no, 0, no) \
267 SC( 58, 18, 16, 3, yes, no, 0, no) \
268 SC( 59, 18, 16, 4, yes, no, 0, no) \
270 SC( 60, 19, 17, 1, yes, no, 0, no) \
271 SC( 61, 19, 17, 2, yes, no, 0, no) \
272 SC( 62, 19, 17, 3, yes, no, 0, no) \
273 SC( 63, 19, 17, 4, yes, no, 0, no) \
275 SC( 64, 20, 18, 1, yes, no, 0, no) \
276 SC( 65, 20, 18, 2, yes, no, 0, no) \
277 SC( 66, 20, 18, 3, yes, no, 0, no) \
278 SC( 67, 20, 18, 4, yes, no, 0, no) \
280 SC( 68, 21, 19, 1, yes, no, 0, no) \
281 SC( 69, 21, 19, 2, yes, no, 0, no) \
282 SC( 70, 21, 19, 3, yes, no, 0, no) \
283 SC( 71, 21, 19, 4, yes, no, 0, no) \
285 SC( 72, 22, 20, 1, yes, no, 0, no) \
286 SC( 73, 22, 20, 2, yes, no, 0, no) \
287 SC( 74, 22, 20, 3, yes, no, 0, no) \
288 SC( 75, 22, 20, 4, yes, no, 0, no) \
290 SC( 76, 23, 21, 1, yes, no, 0, no) \
291 SC( 77, 23, 21, 2, yes, no, 0, no) \
292 SC( 78, 23, 21, 3, yes, no, 0, no) \
293 SC( 79, 23, 21, 4, yes, no, 0, no) \
295 SC( 80, 24, 22, 1, yes, no, 0, no) \
296 SC( 81, 24, 22, 2, yes, no, 0, no) \
297 SC( 82, 24, 22, 3, yes, no, 0, no) \
298 SC( 83, 24, 22, 4, yes, no, 0, no) \
300 SC( 84, 25, 23, 1, yes, no, 0, no) \
301 SC( 85, 25, 23, 2, yes, no, 0, no) \
302 SC( 86, 25, 23, 3, yes, no, 0, no) \
303 SC( 87, 25, 23, 4, yes, no, 0, no) \
305 SC( 88, 26, 24, 1, yes, no, 0, no) \
306 SC( 89, 26, 24, 2, yes, no, 0, no) \
307 SC( 90, 26, 24, 3, yes, no, 0, no) \
308 SC( 91, 26, 24, 4, yes, no, 0, no) \
310 SC( 92, 27, 25, 1, yes, no, 0, no) \
311 SC( 93, 27, 25, 2, yes, no, 0, no) \
312 SC( 94, 27, 25, 3, yes, no, 0, no) \
313 SC( 95, 27, 25, 4, yes, no, 0, no) \
315 SC( 96, 28, 26, 1, yes, no, 0, no) \
316 SC( 97, 28, 26, 2, yes, no, 0, no) \
317 SC( 98, 28, 26, 3, yes, no, 0, no) \
318 SC( 99, 28, 26, 4, yes, no, 0, no) \
320 SC(100, 29, 27, 1, yes, no, 0, no) \
321 SC(101, 29, 27, 2, yes, no, 0, no) \
322 SC(102, 29, 27, 3, yes, no, 0, no) \
323 SC(103, 29, 27, 4, yes, no, 0, no) \
325 SC(104, 30, 28, 1, yes, no, 0, no) \
326 SC(105, 30, 28, 2, yes, no, 0, no) \
327 SC(106, 30, 28, 3, yes, no, 0, no) \
329 #define SIZE_CLASSES_DEFINED
334 #define LG_CEIL_NSIZES 7
336 #define LG_TINY_MAXCLASS "NA"
337 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
338 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12))
339 #define LG_LARGE_MINCLASS 15
340 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
341 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
344 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 14)
345 #define SIZE_CLASSES \
346 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
347 SC( 0, 3, 3, 0, no, yes, 1, 3) \
348 SC( 1, 3, 3, 1, no, yes, 1, 3) \
349 SC( 2, 3, 3, 2, no, yes, 3, 3) \
350 SC( 3, 3, 3, 3, no, yes, 1, 3) \
352 SC( 4, 5, 3, 1, no, yes, 5, 3) \
353 SC( 5, 5, 3, 2, no, yes, 3, 3) \
354 SC( 6, 5, 3, 3, no, yes, 7, 3) \
355 SC( 7, 5, 3, 4, no, yes, 1, 3) \
357 SC( 8, 6, 4, 1, no, yes, 5, 4) \
358 SC( 9, 6, 4, 2, no, yes, 3, 4) \
359 SC( 10, 6, 4, 3, no, yes, 7, 4) \
360 SC( 11, 6, 4, 4, no, yes, 1, 4) \
362 SC( 12, 7, 5, 1, no, yes, 5, 5) \
363 SC( 13, 7, 5, 2, no, yes, 3, 5) \
364 SC( 14, 7, 5, 3, no, yes, 7, 5) \
365 SC( 15, 7, 5, 4, no, yes, 1, 5) \
367 SC( 16, 8, 6, 1, no, yes, 5, 6) \
368 SC( 17, 8, 6, 2, no, yes, 3, 6) \
369 SC( 18, 8, 6, 3, no, yes, 7, 6) \
370 SC( 19, 8, 6, 4, no, yes, 1, 6) \
372 SC( 20, 9, 7, 1, no, yes, 5, 7) \
373 SC( 21, 9, 7, 2, no, yes, 3, 7) \
374 SC( 22, 9, 7, 3, no, yes, 7, 7) \
375 SC( 23, 9, 7, 4, no, yes, 1, 7) \
377 SC( 24, 10, 8, 1, no, yes, 5, 8) \
378 SC( 25, 10, 8, 2, no, yes, 3, 8) \
379 SC( 26, 10, 8, 3, no, yes, 7, 8) \
380 SC( 27, 10, 8, 4, no, yes, 1, 8) \
382 SC( 28, 11, 9, 1, no, yes, 5, 9) \
383 SC( 29, 11, 9, 2, no, yes, 3, 9) \
384 SC( 30, 11, 9, 3, no, yes, 7, 9) \
385 SC( 31, 11, 9, 4, no, yes, 1, 9) \
387 SC( 32, 12, 10, 1, no, yes, 5, no) \
388 SC( 33, 12, 10, 2, no, yes, 3, no) \
389 SC( 34, 12, 10, 3, no, yes, 7, no) \
390 SC( 35, 12, 10, 4, no, yes, 1, no) \
392 SC( 36, 13, 11, 1, no, yes, 5, no) \
393 SC( 37, 13, 11, 2, no, yes, 3, no) \
394 SC( 38, 13, 11, 3, no, yes, 7, no) \
395 SC( 39, 13, 11, 4, yes, yes, 1, no) \
397 SC( 40, 14, 12, 1, no, yes, 5, no) \
398 SC( 41, 14, 12, 2, no, yes, 3, no) \
399 SC( 42, 14, 12, 3, no, yes, 7, no) \
400 SC( 43, 14, 12, 4, yes, yes, 2, no) \
402 SC( 44, 15, 13, 1, no, yes, 5, no) \
403 SC( 45, 15, 13, 2, yes, yes, 3, no) \
404 SC( 46, 15, 13, 3, no, yes, 7, no) \
405 SC( 47, 15, 13, 4, yes, no, 0, no) \
407 SC( 48, 16, 14, 1, yes, no, 0, no) \
408 SC( 49, 16, 14, 2, yes, no, 0, no) \
409 SC( 50, 16, 14, 3, yes, no, 0, no) \
410 SC( 51, 16, 14, 4, yes, no, 0, no) \
412 SC( 52, 17, 15, 1, yes, no, 0, no) \
413 SC( 53, 17, 15, 2, yes, no, 0, no) \
414 SC( 54, 17, 15, 3, yes, no, 0, no) \
415 SC( 55, 17, 15, 4, yes, no, 0, no) \
417 SC( 56, 18, 16, 1, yes, no, 0, no) \
418 SC( 57, 18, 16, 2, yes, no, 0, no) \
419 SC( 58, 18, 16, 3, yes, no, 0, no) \
420 SC( 59, 18, 16, 4, yes, no, 0, no) \
422 SC( 60, 19, 17, 1, yes, no, 0, no) \
423 SC( 61, 19, 17, 2, yes, no, 0, no) \
424 SC( 62, 19, 17, 3, yes, no, 0, no) \
425 SC( 63, 19, 17, 4, yes, no, 0, no) \
427 SC( 64, 20, 18, 1, yes, no, 0, no) \
428 SC( 65, 20, 18, 2, yes, no, 0, no) \
429 SC( 66, 20, 18, 3, yes, no, 0, no) \
430 SC( 67, 20, 18, 4, yes, no, 0, no) \
432 SC( 68, 21, 19, 1, yes, no, 0, no) \
433 SC( 69, 21, 19, 2, yes, no, 0, no) \
434 SC( 70, 21, 19, 3, yes, no, 0, no) \
435 SC( 71, 21, 19, 4, yes, no, 0, no) \
437 SC( 72, 22, 20, 1, yes, no, 0, no) \
438 SC( 73, 22, 20, 2, yes, no, 0, no) \
439 SC( 74, 22, 20, 3, yes, no, 0, no) \
440 SC( 75, 22, 20, 4, yes, no, 0, no) \
442 SC( 76, 23, 21, 1, yes, no, 0, no) \
443 SC( 77, 23, 21, 2, yes, no, 0, no) \
444 SC( 78, 23, 21, 3, yes, no, 0, no) \
445 SC( 79, 23, 21, 4, yes, no, 0, no) \
447 SC( 80, 24, 22, 1, yes, no, 0, no) \
448 SC( 81, 24, 22, 2, yes, no, 0, no) \
449 SC( 82, 24, 22, 3, yes, no, 0, no) \
450 SC( 83, 24, 22, 4, yes, no, 0, no) \
452 SC( 84, 25, 23, 1, yes, no, 0, no) \
453 SC( 85, 25, 23, 2, yes, no, 0, no) \
454 SC( 86, 25, 23, 3, yes, no, 0, no) \
455 SC( 87, 25, 23, 4, yes, no, 0, no) \
457 SC( 88, 26, 24, 1, yes, no, 0, no) \
458 SC( 89, 26, 24, 2, yes, no, 0, no) \
459 SC( 90, 26, 24, 3, yes, no, 0, no) \
460 SC( 91, 26, 24, 4, yes, no, 0, no) \
462 SC( 92, 27, 25, 1, yes, no, 0, no) \
463 SC( 93, 27, 25, 2, yes, no, 0, no) \
464 SC( 94, 27, 25, 3, yes, no, 0, no) \
465 SC( 95, 27, 25, 4, yes, no, 0, no) \
467 SC( 96, 28, 26, 1, yes, no, 0, no) \
468 SC( 97, 28, 26, 2, yes, no, 0, no) \
469 SC( 98, 28, 26, 3, yes, no, 0, no) \
470 SC( 99, 28, 26, 4, yes, no, 0, no) \
472 SC(100, 29, 27, 1, yes, no, 0, no) \
473 SC(101, 29, 27, 2, yes, no, 0, no) \
474 SC(102, 29, 27, 3, yes, no, 0, no) \
475 SC(103, 29, 27, 4, yes, no, 0, no) \
477 SC(104, 30, 28, 1, yes, no, 0, no) \
478 SC(105, 30, 28, 2, yes, no, 0, no) \
479 SC(106, 30, 28, 3, yes, no, 0, no) \
481 #define SIZE_CLASSES_DEFINED
486 #define LG_CEIL_NSIZES 7
488 #define LG_TINY_MAXCLASS "NA"
489 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
490 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
491 #define LG_LARGE_MINCLASS 16
492 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
493 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
496 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 16)
497 #define SIZE_CLASSES \
498 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
499 SC( 0, 3, 3, 0, no, yes, 1, 3) \
500 SC( 1, 3, 3, 1, no, yes, 1, 3) \
501 SC( 2, 3, 3, 2, no, yes, 3, 3) \
502 SC( 3, 3, 3, 3, no, yes, 1, 3) \
504 SC( 4, 5, 3, 1, no, yes, 5, 3) \
505 SC( 5, 5, 3, 2, no, yes, 3, 3) \
506 SC( 6, 5, 3, 3, no, yes, 7, 3) \
507 SC( 7, 5, 3, 4, no, yes, 1, 3) \
509 SC( 8, 6, 4, 1, no, yes, 5, 4) \
510 SC( 9, 6, 4, 2, no, yes, 3, 4) \
511 SC( 10, 6, 4, 3, no, yes, 7, 4) \
512 SC( 11, 6, 4, 4, no, yes, 1, 4) \
514 SC( 12, 7, 5, 1, no, yes, 5, 5) \
515 SC( 13, 7, 5, 2, no, yes, 3, 5) \
516 SC( 14, 7, 5, 3, no, yes, 7, 5) \
517 SC( 15, 7, 5, 4, no, yes, 1, 5) \
519 SC( 16, 8, 6, 1, no, yes, 5, 6) \
520 SC( 17, 8, 6, 2, no, yes, 3, 6) \
521 SC( 18, 8, 6, 3, no, yes, 7, 6) \
522 SC( 19, 8, 6, 4, no, yes, 1, 6) \
524 SC( 20, 9, 7, 1, no, yes, 5, 7) \
525 SC( 21, 9, 7, 2, no, yes, 3, 7) \
526 SC( 22, 9, 7, 3, no, yes, 7, 7) \
527 SC( 23, 9, 7, 4, no, yes, 1, 7) \
529 SC( 24, 10, 8, 1, no, yes, 5, 8) \
530 SC( 25, 10, 8, 2, no, yes, 3, 8) \
531 SC( 26, 10, 8, 3, no, yes, 7, 8) \
532 SC( 27, 10, 8, 4, no, yes, 1, 8) \
534 SC( 28, 11, 9, 1, no, yes, 5, 9) \
535 SC( 29, 11, 9, 2, no, yes, 3, 9) \
536 SC( 30, 11, 9, 3, no, yes, 7, 9) \
537 SC( 31, 11, 9, 4, no, yes, 1, 9) \
539 SC( 32, 12, 10, 1, no, yes, 5, no) \
540 SC( 33, 12, 10, 2, no, yes, 3, no) \
541 SC( 34, 12, 10, 3, no, yes, 7, no) \
542 SC( 35, 12, 10, 4, no, yes, 1, no) \
544 SC( 36, 13, 11, 1, no, yes, 5, no) \
545 SC( 37, 13, 11, 2, no, yes, 3, no) \
546 SC( 38, 13, 11, 3, no, yes, 7, no) \
547 SC( 39, 13, 11, 4, no, yes, 1, no) \
549 SC( 40, 14, 12, 1, no, yes, 5, no) \
550 SC( 41, 14, 12, 2, no, yes, 3, no) \
551 SC( 42, 14, 12, 3, no, yes, 7, no) \
552 SC( 43, 14, 12, 4, no, yes, 1, no) \
554 SC( 44, 15, 13, 1, no, yes, 5, no) \
555 SC( 45, 15, 13, 2, no, yes, 3, no) \
556 SC( 46, 15, 13, 3, no, yes, 7, no) \
557 SC( 47, 15, 13, 4, yes, yes, 1, no) \
559 SC( 48, 16, 14, 1, no, yes, 5, no) \
560 SC( 49, 16, 14, 2, no, yes, 3, no) \
561 SC( 50, 16, 14, 3, no, yes, 7, no) \
562 SC( 51, 16, 14, 4, yes, yes, 2, no) \
564 SC( 52, 17, 15, 1, no, yes, 5, no) \
565 SC( 53, 17, 15, 2, yes, yes, 3, no) \
566 SC( 54, 17, 15, 3, no, yes, 7, no) \
567 SC( 55, 17, 15, 4, yes, no, 0, no) \
569 SC( 56, 18, 16, 1, yes, no, 0, no) \
570 SC( 57, 18, 16, 2, yes, no, 0, no) \
571 SC( 58, 18, 16, 3, yes, no, 0, no) \
572 SC( 59, 18, 16, 4, yes, no, 0, no) \
574 SC( 60, 19, 17, 1, yes, no, 0, no) \
575 SC( 61, 19, 17, 2, yes, no, 0, no) \
576 SC( 62, 19, 17, 3, yes, no, 0, no) \
577 SC( 63, 19, 17, 4, yes, no, 0, no) \
579 SC( 64, 20, 18, 1, yes, no, 0, no) \
580 SC( 65, 20, 18, 2, yes, no, 0, no) \
581 SC( 66, 20, 18, 3, yes, no, 0, no) \
582 SC( 67, 20, 18, 4, yes, no, 0, no) \
584 SC( 68, 21, 19, 1, yes, no, 0, no) \
585 SC( 69, 21, 19, 2, yes, no, 0, no) \
586 SC( 70, 21, 19, 3, yes, no, 0, no) \
587 SC( 71, 21, 19, 4, yes, no, 0, no) \
589 SC( 72, 22, 20, 1, yes, no, 0, no) \
590 SC( 73, 22, 20, 2, yes, no, 0, no) \
591 SC( 74, 22, 20, 3, yes, no, 0, no) \
592 SC( 75, 22, 20, 4, yes, no, 0, no) \
594 SC( 76, 23, 21, 1, yes, no, 0, no) \
595 SC( 77, 23, 21, 2, yes, no, 0, no) \
596 SC( 78, 23, 21, 3, yes, no, 0, no) \
597 SC( 79, 23, 21, 4, yes, no, 0, no) \
599 SC( 80, 24, 22, 1, yes, no, 0, no) \
600 SC( 81, 24, 22, 2, yes, no, 0, no) \
601 SC( 82, 24, 22, 3, yes, no, 0, no) \
602 SC( 83, 24, 22, 4, yes, no, 0, no) \
604 SC( 84, 25, 23, 1, yes, no, 0, no) \
605 SC( 85, 25, 23, 2, yes, no, 0, no) \
606 SC( 86, 25, 23, 3, yes, no, 0, no) \
607 SC( 87, 25, 23, 4, yes, no, 0, no) \
609 SC( 88, 26, 24, 1, yes, no, 0, no) \
610 SC( 89, 26, 24, 2, yes, no, 0, no) \
611 SC( 90, 26, 24, 3, yes, no, 0, no) \
612 SC( 91, 26, 24, 4, yes, no, 0, no) \
614 SC( 92, 27, 25, 1, yes, no, 0, no) \
615 SC( 93, 27, 25, 2, yes, no, 0, no) \
616 SC( 94, 27, 25, 3, yes, no, 0, no) \
617 SC( 95, 27, 25, 4, yes, no, 0, no) \
619 SC( 96, 28, 26, 1, yes, no, 0, no) \
620 SC( 97, 28, 26, 2, yes, no, 0, no) \
621 SC( 98, 28, 26, 3, yes, no, 0, no) \
622 SC( 99, 28, 26, 4, yes, no, 0, no) \
624 SC(100, 29, 27, 1, yes, no, 0, no) \
625 SC(101, 29, 27, 2, yes, no, 0, no) \
626 SC(102, 29, 27, 3, yes, no, 0, no) \
627 SC(103, 29, 27, 4, yes, no, 0, no) \
629 SC(104, 30, 28, 1, yes, no, 0, no) \
630 SC(105, 30, 28, 2, yes, no, 0, no) \
631 SC(106, 30, 28, 3, yes, no, 0, no) \
633 #define SIZE_CLASSES_DEFINED
638 #define LG_CEIL_NSIZES 7
640 #define LG_TINY_MAXCLASS "NA"
641 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
642 #define SMALL_MAXCLASS ((((size_t)1) << 17) + (((size_t)3) << 15))
643 #define LG_LARGE_MINCLASS 18
644 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
645 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
648 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 12)
649 #define SIZE_CLASSES \
650 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
651 SC( 0, 3, 3, 0, no, yes, 1, 3) \
653 SC( 1, 3, 3, 1, no, yes, 1, 3) \
654 SC( 2, 4, 4, 1, no, yes, 1, 4) \
655 SC( 3, 4, 4, 2, no, yes, 3, 4) \
656 SC( 4, 4, 4, 3, no, yes, 1, 4) \
658 SC( 5, 6, 4, 1, no, yes, 5, 4) \
659 SC( 6, 6, 4, 2, no, yes, 3, 4) \
660 SC( 7, 6, 4, 3, no, yes, 7, 4) \
661 SC( 8, 6, 4, 4, no, yes, 1, 4) \
663 SC( 9, 7, 5, 1, no, yes, 5, 5) \
664 SC( 10, 7, 5, 2, no, yes, 3, 5) \
665 SC( 11, 7, 5, 3, no, yes, 7, 5) \
666 SC( 12, 7, 5, 4, no, yes, 1, 5) \
668 SC( 13, 8, 6, 1, no, yes, 5, 6) \
669 SC( 14, 8, 6, 2, no, yes, 3, 6) \
670 SC( 15, 8, 6, 3, no, yes, 7, 6) \
671 SC( 16, 8, 6, 4, no, yes, 1, 6) \
673 SC( 17, 9, 7, 1, no, yes, 5, 7) \
674 SC( 18, 9, 7, 2, no, yes, 3, 7) \
675 SC( 19, 9, 7, 3, no, yes, 7, 7) \
676 SC( 20, 9, 7, 4, no, yes, 1, 7) \
678 SC( 21, 10, 8, 1, no, yes, 5, 8) \
679 SC( 22, 10, 8, 2, no, yes, 3, 8) \
680 SC( 23, 10, 8, 3, no, yes, 7, 8) \
681 SC( 24, 10, 8, 4, no, yes, 1, 8) \
683 SC( 25, 11, 9, 1, no, yes, 5, 9) \
684 SC( 26, 11, 9, 2, no, yes, 3, 9) \
685 SC( 27, 11, 9, 3, no, yes, 7, 9) \
686 SC( 28, 11, 9, 4, yes, yes, 1, 9) \
688 SC( 29, 12, 10, 1, no, yes, 5, no) \
689 SC( 30, 12, 10, 2, no, yes, 3, no) \
690 SC( 31, 12, 10, 3, no, yes, 7, no) \
691 SC( 32, 12, 10, 4, yes, yes, 2, no) \
693 SC( 33, 13, 11, 1, no, yes, 5, no) \
694 SC( 34, 13, 11, 2, yes, yes, 3, no) \
695 SC( 35, 13, 11, 3, no, yes, 7, no) \
696 SC( 36, 13, 11, 4, yes, no, 0, no) \
698 SC( 37, 14, 12, 1, yes, no, 0, no) \
699 SC( 38, 14, 12, 2, yes, no, 0, no) \
700 SC( 39, 14, 12, 3, yes, no, 0, no) \
701 SC( 40, 14, 12, 4, yes, no, 0, no) \
703 SC( 41, 15, 13, 1, yes, no, 0, no) \
704 SC( 42, 15, 13, 2, yes, no, 0, no) \
705 SC( 43, 15, 13, 3, yes, no, 0, no) \
706 SC( 44, 15, 13, 4, yes, no, 0, no) \
708 SC( 45, 16, 14, 1, yes, no, 0, no) \
709 SC( 46, 16, 14, 2, yes, no, 0, no) \
710 SC( 47, 16, 14, 3, yes, no, 0, no) \
711 SC( 48, 16, 14, 4, yes, no, 0, no) \
713 SC( 49, 17, 15, 1, yes, no, 0, no) \
714 SC( 50, 17, 15, 2, yes, no, 0, no) \
715 SC( 51, 17, 15, 3, yes, no, 0, no) \
716 SC( 52, 17, 15, 4, yes, no, 0, no) \
718 SC( 53, 18, 16, 1, yes, no, 0, no) \
719 SC( 54, 18, 16, 2, yes, no, 0, no) \
720 SC( 55, 18, 16, 3, yes, no, 0, no) \
721 SC( 56, 18, 16, 4, yes, no, 0, no) \
723 SC( 57, 19, 17, 1, yes, no, 0, no) \
724 SC( 58, 19, 17, 2, yes, no, 0, no) \
725 SC( 59, 19, 17, 3, yes, no, 0, no) \
726 SC( 60, 19, 17, 4, yes, no, 0, no) \
728 SC( 61, 20, 18, 1, yes, no, 0, no) \
729 SC( 62, 20, 18, 2, yes, no, 0, no) \
730 SC( 63, 20, 18, 3, yes, no, 0, no) \
731 SC( 64, 20, 18, 4, yes, no, 0, no) \
733 SC( 65, 21, 19, 1, yes, no, 0, no) \
734 SC( 66, 21, 19, 2, yes, no, 0, no) \
735 SC( 67, 21, 19, 3, yes, no, 0, no) \
736 SC( 68, 21, 19, 4, yes, no, 0, no) \
738 SC( 69, 22, 20, 1, yes, no, 0, no) \
739 SC( 70, 22, 20, 2, yes, no, 0, no) \
740 SC( 71, 22, 20, 3, yes, no, 0, no) \
741 SC( 72, 22, 20, 4, yes, no, 0, no) \
743 SC( 73, 23, 21, 1, yes, no, 0, no) \
744 SC( 74, 23, 21, 2, yes, no, 0, no) \
745 SC( 75, 23, 21, 3, yes, no, 0, no) \
746 SC( 76, 23, 21, 4, yes, no, 0, no) \
748 SC( 77, 24, 22, 1, yes, no, 0, no) \
749 SC( 78, 24, 22, 2, yes, no, 0, no) \
750 SC( 79, 24, 22, 3, yes, no, 0, no) \
751 SC( 80, 24, 22, 4, yes, no, 0, no) \
753 SC( 81, 25, 23, 1, yes, no, 0, no) \
754 SC( 82, 25, 23, 2, yes, no, 0, no) \
755 SC( 83, 25, 23, 3, yes, no, 0, no) \
756 SC( 84, 25, 23, 4, yes, no, 0, no) \
758 SC( 85, 26, 24, 1, yes, no, 0, no) \
759 SC( 86, 26, 24, 2, yes, no, 0, no) \
760 SC( 87, 26, 24, 3, yes, no, 0, no) \
761 SC( 88, 26, 24, 4, yes, no, 0, no) \
763 SC( 89, 27, 25, 1, yes, no, 0, no) \
764 SC( 90, 27, 25, 2, yes, no, 0, no) \
765 SC( 91, 27, 25, 3, yes, no, 0, no) \
766 SC( 92, 27, 25, 4, yes, no, 0, no) \
768 SC( 93, 28, 26, 1, yes, no, 0, no) \
769 SC( 94, 28, 26, 2, yes, no, 0, no) \
770 SC( 95, 28, 26, 3, yes, no, 0, no) \
771 SC( 96, 28, 26, 4, yes, no, 0, no) \
773 SC( 97, 29, 27, 1, yes, no, 0, no) \
774 SC( 98, 29, 27, 2, yes, no, 0, no) \
775 SC( 99, 29, 27, 3, yes, no, 0, no) \
776 SC(100, 29, 27, 4, yes, no, 0, no) \
778 SC(101, 30, 28, 1, yes, no, 0, no) \
779 SC(102, 30, 28, 2, yes, no, 0, no) \
780 SC(103, 30, 28, 3, yes, no, 0, no) \
782 #define SIZE_CLASSES_DEFINED
787 #define LG_CEIL_NSIZES 7
789 #define LG_TINY_MAXCLASS 3
790 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
791 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11))
792 #define LG_LARGE_MINCLASS 14
793 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
794 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
797 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 13)
798 #define SIZE_CLASSES \
799 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
800 SC( 0, 3, 3, 0, no, yes, 1, 3) \
802 SC( 1, 3, 3, 1, no, yes, 1, 3) \
803 SC( 2, 4, 4, 1, no, yes, 1, 4) \
804 SC( 3, 4, 4, 2, no, yes, 3, 4) \
805 SC( 4, 4, 4, 3, no, yes, 1, 4) \
807 SC( 5, 6, 4, 1, no, yes, 5, 4) \
808 SC( 6, 6, 4, 2, no, yes, 3, 4) \
809 SC( 7, 6, 4, 3, no, yes, 7, 4) \
810 SC( 8, 6, 4, 4, no, yes, 1, 4) \
812 SC( 9, 7, 5, 1, no, yes, 5, 5) \
813 SC( 10, 7, 5, 2, no, yes, 3, 5) \
814 SC( 11, 7, 5, 3, no, yes, 7, 5) \
815 SC( 12, 7, 5, 4, no, yes, 1, 5) \
817 SC( 13, 8, 6, 1, no, yes, 5, 6) \
818 SC( 14, 8, 6, 2, no, yes, 3, 6) \
819 SC( 15, 8, 6, 3, no, yes, 7, 6) \
820 SC( 16, 8, 6, 4, no, yes, 1, 6) \
822 SC( 17, 9, 7, 1, no, yes, 5, 7) \
823 SC( 18, 9, 7, 2, no, yes, 3, 7) \
824 SC( 19, 9, 7, 3, no, yes, 7, 7) \
825 SC( 20, 9, 7, 4, no, yes, 1, 7) \
827 SC( 21, 10, 8, 1, no, yes, 5, 8) \
828 SC( 22, 10, 8, 2, no, yes, 3, 8) \
829 SC( 23, 10, 8, 3, no, yes, 7, 8) \
830 SC( 24, 10, 8, 4, no, yes, 1, 8) \
832 SC( 25, 11, 9, 1, no, yes, 5, 9) \
833 SC( 26, 11, 9, 2, no, yes, 3, 9) \
834 SC( 27, 11, 9, 3, no, yes, 7, 9) \
835 SC( 28, 11, 9, 4, no, yes, 1, 9) \
837 SC( 29, 12, 10, 1, no, yes, 5, no) \
838 SC( 30, 12, 10, 2, no, yes, 3, no) \
839 SC( 31, 12, 10, 3, no, yes, 7, no) \
840 SC( 32, 12, 10, 4, yes, yes, 1, no) \
842 SC( 33, 13, 11, 1, no, yes, 5, no) \
843 SC( 34, 13, 11, 2, no, yes, 3, no) \
844 SC( 35, 13, 11, 3, no, yes, 7, no) \
845 SC( 36, 13, 11, 4, yes, yes, 2, no) \
847 SC( 37, 14, 12, 1, no, yes, 5, no) \
848 SC( 38, 14, 12, 2, yes, yes, 3, no) \
849 SC( 39, 14, 12, 3, no, yes, 7, no) \
850 SC( 40, 14, 12, 4, yes, no, 0, no) \
852 SC( 41, 15, 13, 1, yes, no, 0, no) \
853 SC( 42, 15, 13, 2, yes, no, 0, no) \
854 SC( 43, 15, 13, 3, yes, no, 0, no) \
855 SC( 44, 15, 13, 4, yes, no, 0, no) \
857 SC( 45, 16, 14, 1, yes, no, 0, no) \
858 SC( 46, 16, 14, 2, yes, no, 0, no) \
859 SC( 47, 16, 14, 3, yes, no, 0, no) \
860 SC( 48, 16, 14, 4, yes, no, 0, no) \
862 SC( 49, 17, 15, 1, yes, no, 0, no) \
863 SC( 50, 17, 15, 2, yes, no, 0, no) \
864 SC( 51, 17, 15, 3, yes, no, 0, no) \
865 SC( 52, 17, 15, 4, yes, no, 0, no) \
867 SC( 53, 18, 16, 1, yes, no, 0, no) \
868 SC( 54, 18, 16, 2, yes, no, 0, no) \
869 SC( 55, 18, 16, 3, yes, no, 0, no) \
870 SC( 56, 18, 16, 4, yes, no, 0, no) \
872 SC( 57, 19, 17, 1, yes, no, 0, no) \
873 SC( 58, 19, 17, 2, yes, no, 0, no) \
874 SC( 59, 19, 17, 3, yes, no, 0, no) \
875 SC( 60, 19, 17, 4, yes, no, 0, no) \
877 SC( 61, 20, 18, 1, yes, no, 0, no) \
878 SC( 62, 20, 18, 2, yes, no, 0, no) \
879 SC( 63, 20, 18, 3, yes, no, 0, no) \
880 SC( 64, 20, 18, 4, yes, no, 0, no) \
882 SC( 65, 21, 19, 1, yes, no, 0, no) \
883 SC( 66, 21, 19, 2, yes, no, 0, no) \
884 SC( 67, 21, 19, 3, yes, no, 0, no) \
885 SC( 68, 21, 19, 4, yes, no, 0, no) \
887 SC( 69, 22, 20, 1, yes, no, 0, no) \
888 SC( 70, 22, 20, 2, yes, no, 0, no) \
889 SC( 71, 22, 20, 3, yes, no, 0, no) \
890 SC( 72, 22, 20, 4, yes, no, 0, no) \
892 SC( 73, 23, 21, 1, yes, no, 0, no) \
893 SC( 74, 23, 21, 2, yes, no, 0, no) \
894 SC( 75, 23, 21, 3, yes, no, 0, no) \
895 SC( 76, 23, 21, 4, yes, no, 0, no) \
897 SC( 77, 24, 22, 1, yes, no, 0, no) \
898 SC( 78, 24, 22, 2, yes, no, 0, no) \
899 SC( 79, 24, 22, 3, yes, no, 0, no) \
900 SC( 80, 24, 22, 4, yes, no, 0, no) \
902 SC( 81, 25, 23, 1, yes, no, 0, no) \
903 SC( 82, 25, 23, 2, yes, no, 0, no) \
904 SC( 83, 25, 23, 3, yes, no, 0, no) \
905 SC( 84, 25, 23, 4, yes, no, 0, no) \
907 SC( 85, 26, 24, 1, yes, no, 0, no) \
908 SC( 86, 26, 24, 2, yes, no, 0, no) \
909 SC( 87, 26, 24, 3, yes, no, 0, no) \
910 SC( 88, 26, 24, 4, yes, no, 0, no) \
912 SC( 89, 27, 25, 1, yes, no, 0, no) \
913 SC( 90, 27, 25, 2, yes, no, 0, no) \
914 SC( 91, 27, 25, 3, yes, no, 0, no) \
915 SC( 92, 27, 25, 4, yes, no, 0, no) \
917 SC( 93, 28, 26, 1, yes, no, 0, no) \
918 SC( 94, 28, 26, 2, yes, no, 0, no) \
919 SC( 95, 28, 26, 3, yes, no, 0, no) \
920 SC( 96, 28, 26, 4, yes, no, 0, no) \
922 SC( 97, 29, 27, 1, yes, no, 0, no) \
923 SC( 98, 29, 27, 2, yes, no, 0, no) \
924 SC( 99, 29, 27, 3, yes, no, 0, no) \
925 SC(100, 29, 27, 4, yes, no, 0, no) \
927 SC(101, 30, 28, 1, yes, no, 0, no) \
928 SC(102, 30, 28, 2, yes, no, 0, no) \
929 SC(103, 30, 28, 3, yes, no, 0, no) \
931 #define SIZE_CLASSES_DEFINED
936 #define LG_CEIL_NSIZES 7
938 #define LG_TINY_MAXCLASS 3
939 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
940 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12))
941 #define LG_LARGE_MINCLASS 15
942 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
943 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
946 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 14)
947 #define SIZE_CLASSES \
948 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
949 SC( 0, 3, 3, 0, no, yes, 1, 3) \
951 SC( 1, 3, 3, 1, no, yes, 1, 3) \
952 SC( 2, 4, 4, 1, no, yes, 1, 4) \
953 SC( 3, 4, 4, 2, no, yes, 3, 4) \
954 SC( 4, 4, 4, 3, no, yes, 1, 4) \
956 SC( 5, 6, 4, 1, no, yes, 5, 4) \
957 SC( 6, 6, 4, 2, no, yes, 3, 4) \
958 SC( 7, 6, 4, 3, no, yes, 7, 4) \
959 SC( 8, 6, 4, 4, no, yes, 1, 4) \
961 SC( 9, 7, 5, 1, no, yes, 5, 5) \
962 SC( 10, 7, 5, 2, no, yes, 3, 5) \
963 SC( 11, 7, 5, 3, no, yes, 7, 5) \
964 SC( 12, 7, 5, 4, no, yes, 1, 5) \
966 SC( 13, 8, 6, 1, no, yes, 5, 6) \
967 SC( 14, 8, 6, 2, no, yes, 3, 6) \
968 SC( 15, 8, 6, 3, no, yes, 7, 6) \
969 SC( 16, 8, 6, 4, no, yes, 1, 6) \
971 SC( 17, 9, 7, 1, no, yes, 5, 7) \
972 SC( 18, 9, 7, 2, no, yes, 3, 7) \
973 SC( 19, 9, 7, 3, no, yes, 7, 7) \
974 SC( 20, 9, 7, 4, no, yes, 1, 7) \
976 SC( 21, 10, 8, 1, no, yes, 5, 8) \
977 SC( 22, 10, 8, 2, no, yes, 3, 8) \
978 SC( 23, 10, 8, 3, no, yes, 7, 8) \
979 SC( 24, 10, 8, 4, no, yes, 1, 8) \
981 SC( 25, 11, 9, 1, no, yes, 5, 9) \
982 SC( 26, 11, 9, 2, no, yes, 3, 9) \
983 SC( 27, 11, 9, 3, no, yes, 7, 9) \
984 SC( 28, 11, 9, 4, no, yes, 1, 9) \
986 SC( 29, 12, 10, 1, no, yes, 5, no) \
987 SC( 30, 12, 10, 2, no, yes, 3, no) \
988 SC( 31, 12, 10, 3, no, yes, 7, no) \
989 SC( 32, 12, 10, 4, no, yes, 1, no) \
991 SC( 33, 13, 11, 1, no, yes, 5, no) \
992 SC( 34, 13, 11, 2, no, yes, 3, no) \
993 SC( 35, 13, 11, 3, no, yes, 7, no) \
994 SC( 36, 13, 11, 4, yes, yes, 1, no) \
996 SC( 37, 14, 12, 1, no, yes, 5, no) \
997 SC( 38, 14, 12, 2, no, yes, 3, no) \
998 SC( 39, 14, 12, 3, no, yes, 7, no) \
999 SC( 40, 14, 12, 4, yes, yes, 2, no) \
1001 SC( 41, 15, 13, 1, no, yes, 5, no) \
1002 SC( 42, 15, 13, 2, yes, yes, 3, no) \
1003 SC( 43, 15, 13, 3, no, yes, 7, no) \
1004 SC( 44, 15, 13, 4, yes, no, 0, no) \
1006 SC( 45, 16, 14, 1, yes, no, 0, no) \
1007 SC( 46, 16, 14, 2, yes, no, 0, no) \
1008 SC( 47, 16, 14, 3, yes, no, 0, no) \
1009 SC( 48, 16, 14, 4, yes, no, 0, no) \
1011 SC( 49, 17, 15, 1, yes, no, 0, no) \
1012 SC( 50, 17, 15, 2, yes, no, 0, no) \
1013 SC( 51, 17, 15, 3, yes, no, 0, no) \
1014 SC( 52, 17, 15, 4, yes, no, 0, no) \
1016 SC( 53, 18, 16, 1, yes, no, 0, no) \
1017 SC( 54, 18, 16, 2, yes, no, 0, no) \
1018 SC( 55, 18, 16, 3, yes, no, 0, no) \
1019 SC( 56, 18, 16, 4, yes, no, 0, no) \
1021 SC( 57, 19, 17, 1, yes, no, 0, no) \
1022 SC( 58, 19, 17, 2, yes, no, 0, no) \
1023 SC( 59, 19, 17, 3, yes, no, 0, no) \
1024 SC( 60, 19, 17, 4, yes, no, 0, no) \
1026 SC( 61, 20, 18, 1, yes, no, 0, no) \
1027 SC( 62, 20, 18, 2, yes, no, 0, no) \
1028 SC( 63, 20, 18, 3, yes, no, 0, no) \
1029 SC( 64, 20, 18, 4, yes, no, 0, no) \
1031 SC( 65, 21, 19, 1, yes, no, 0, no) \
1032 SC( 66, 21, 19, 2, yes, no, 0, no) \
1033 SC( 67, 21, 19, 3, yes, no, 0, no) \
1034 SC( 68, 21, 19, 4, yes, no, 0, no) \
1036 SC( 69, 22, 20, 1, yes, no, 0, no) \
1037 SC( 70, 22, 20, 2, yes, no, 0, no) \
1038 SC( 71, 22, 20, 3, yes, no, 0, no) \
1039 SC( 72, 22, 20, 4, yes, no, 0, no) \
1041 SC( 73, 23, 21, 1, yes, no, 0, no) \
1042 SC( 74, 23, 21, 2, yes, no, 0, no) \
1043 SC( 75, 23, 21, 3, yes, no, 0, no) \
1044 SC( 76, 23, 21, 4, yes, no, 0, no) \
1046 SC( 77, 24, 22, 1, yes, no, 0, no) \
1047 SC( 78, 24, 22, 2, yes, no, 0, no) \
1048 SC( 79, 24, 22, 3, yes, no, 0, no) \
1049 SC( 80, 24, 22, 4, yes, no, 0, no) \
1051 SC( 81, 25, 23, 1, yes, no, 0, no) \
1052 SC( 82, 25, 23, 2, yes, no, 0, no) \
1053 SC( 83, 25, 23, 3, yes, no, 0, no) \
1054 SC( 84, 25, 23, 4, yes, no, 0, no) \
1056 SC( 85, 26, 24, 1, yes, no, 0, no) \
1057 SC( 86, 26, 24, 2, yes, no, 0, no) \
1058 SC( 87, 26, 24, 3, yes, no, 0, no) \
1059 SC( 88, 26, 24, 4, yes, no, 0, no) \
1061 SC( 89, 27, 25, 1, yes, no, 0, no) \
1062 SC( 90, 27, 25, 2, yes, no, 0, no) \
1063 SC( 91, 27, 25, 3, yes, no, 0, no) \
1064 SC( 92, 27, 25, 4, yes, no, 0, no) \
1066 SC( 93, 28, 26, 1, yes, no, 0, no) \
1067 SC( 94, 28, 26, 2, yes, no, 0, no) \
1068 SC( 95, 28, 26, 3, yes, no, 0, no) \
1069 SC( 96, 28, 26, 4, yes, no, 0, no) \
1071 SC( 97, 29, 27, 1, yes, no, 0, no) \
1072 SC( 98, 29, 27, 2, yes, no, 0, no) \
1073 SC( 99, 29, 27, 3, yes, no, 0, no) \
1074 SC(100, 29, 27, 4, yes, no, 0, no) \
1076 SC(101, 30, 28, 1, yes, no, 0, no) \
1077 SC(102, 30, 28, 2, yes, no, 0, no) \
1078 SC(103, 30, 28, 3, yes, no, 0, no) \
1080 #define SIZE_CLASSES_DEFINED
1085 #define LG_CEIL_NSIZES 7
1087 #define LG_TINY_MAXCLASS 3
1088 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
1089 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
1090 #define LG_LARGE_MINCLASS 16
1091 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
1092 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
1095 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 16)
1096 #define SIZE_CLASSES \
1097 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
1098 SC( 0, 3, 3, 0, no, yes, 1, 3) \
1100 SC( 1, 3, 3, 1, no, yes, 1, 3) \
1101 SC( 2, 4, 4, 1, no, yes, 1, 4) \
1102 SC( 3, 4, 4, 2, no, yes, 3, 4) \
1103 SC( 4, 4, 4, 3, no, yes, 1, 4) \
1105 SC( 5, 6, 4, 1, no, yes, 5, 4) \
1106 SC( 6, 6, 4, 2, no, yes, 3, 4) \
1107 SC( 7, 6, 4, 3, no, yes, 7, 4) \
1108 SC( 8, 6, 4, 4, no, yes, 1, 4) \
1110 SC( 9, 7, 5, 1, no, yes, 5, 5) \
1111 SC( 10, 7, 5, 2, no, yes, 3, 5) \
1112 SC( 11, 7, 5, 3, no, yes, 7, 5) \
1113 SC( 12, 7, 5, 4, no, yes, 1, 5) \
1115 SC( 13, 8, 6, 1, no, yes, 5, 6) \
1116 SC( 14, 8, 6, 2, no, yes, 3, 6) \
1117 SC( 15, 8, 6, 3, no, yes, 7, 6) \
1118 SC( 16, 8, 6, 4, no, yes, 1, 6) \
1120 SC( 17, 9, 7, 1, no, yes, 5, 7) \
1121 SC( 18, 9, 7, 2, no, yes, 3, 7) \
1122 SC( 19, 9, 7, 3, no, yes, 7, 7) \
1123 SC( 20, 9, 7, 4, no, yes, 1, 7) \
1125 SC( 21, 10, 8, 1, no, yes, 5, 8) \
1126 SC( 22, 10, 8, 2, no, yes, 3, 8) \
1127 SC( 23, 10, 8, 3, no, yes, 7, 8) \
1128 SC( 24, 10, 8, 4, no, yes, 1, 8) \
1130 SC( 25, 11, 9, 1, no, yes, 5, 9) \
1131 SC( 26, 11, 9, 2, no, yes, 3, 9) \
1132 SC( 27, 11, 9, 3, no, yes, 7, 9) \
1133 SC( 28, 11, 9, 4, no, yes, 1, 9) \
1135 SC( 29, 12, 10, 1, no, yes, 5, no) \
1136 SC( 30, 12, 10, 2, no, yes, 3, no) \
1137 SC( 31, 12, 10, 3, no, yes, 7, no) \
1138 SC( 32, 12, 10, 4, no, yes, 1, no) \
1140 SC( 33, 13, 11, 1, no, yes, 5, no) \
1141 SC( 34, 13, 11, 2, no, yes, 3, no) \
1142 SC( 35, 13, 11, 3, no, yes, 7, no) \
1143 SC( 36, 13, 11, 4, no, yes, 1, no) \
1145 SC( 37, 14, 12, 1, no, yes, 5, no) \
1146 SC( 38, 14, 12, 2, no, yes, 3, no) \
1147 SC( 39, 14, 12, 3, no, yes, 7, no) \
1148 SC( 40, 14, 12, 4, no, yes, 1, no) \
1150 SC( 41, 15, 13, 1, no, yes, 5, no) \
1151 SC( 42, 15, 13, 2, no, yes, 3, no) \
1152 SC( 43, 15, 13, 3, no, yes, 7, no) \
1153 SC( 44, 15, 13, 4, yes, yes, 1, no) \
1155 SC( 45, 16, 14, 1, no, yes, 5, no) \
1156 SC( 46, 16, 14, 2, no, yes, 3, no) \
1157 SC( 47, 16, 14, 3, no, yes, 7, no) \
1158 SC( 48, 16, 14, 4, yes, yes, 2, no) \
1160 SC( 49, 17, 15, 1, no, yes, 5, no) \
1161 SC( 50, 17, 15, 2, yes, yes, 3, no) \
1162 SC( 51, 17, 15, 3, no, yes, 7, no) \
1163 SC( 52, 17, 15, 4, yes, no, 0, no) \
1165 SC( 53, 18, 16, 1, yes, no, 0, no) \
1166 SC( 54, 18, 16, 2, yes, no, 0, no) \
1167 SC( 55, 18, 16, 3, yes, no, 0, no) \
1168 SC( 56, 18, 16, 4, yes, no, 0, no) \
1170 SC( 57, 19, 17, 1, yes, no, 0, no) \
1171 SC( 58, 19, 17, 2, yes, no, 0, no) \
1172 SC( 59, 19, 17, 3, yes, no, 0, no) \
1173 SC( 60, 19, 17, 4, yes, no, 0, no) \
1175 SC( 61, 20, 18, 1, yes, no, 0, no) \
1176 SC( 62, 20, 18, 2, yes, no, 0, no) \
1177 SC( 63, 20, 18, 3, yes, no, 0, no) \
1178 SC( 64, 20, 18, 4, yes, no, 0, no) \
1180 SC( 65, 21, 19, 1, yes, no, 0, no) \
1181 SC( 66, 21, 19, 2, yes, no, 0, no) \
1182 SC( 67, 21, 19, 3, yes, no, 0, no) \
1183 SC( 68, 21, 19, 4, yes, no, 0, no) \
1185 SC( 69, 22, 20, 1, yes, no, 0, no) \
1186 SC( 70, 22, 20, 2, yes, no, 0, no) \
1187 SC( 71, 22, 20, 3, yes, no, 0, no) \
1188 SC( 72, 22, 20, 4, yes, no, 0, no) \
1190 SC( 73, 23, 21, 1, yes, no, 0, no) \
1191 SC( 74, 23, 21, 2, yes, no, 0, no) \
1192 SC( 75, 23, 21, 3, yes, no, 0, no) \
1193 SC( 76, 23, 21, 4, yes, no, 0, no) \
1195 SC( 77, 24, 22, 1, yes, no, 0, no) \
1196 SC( 78, 24, 22, 2, yes, no, 0, no) \
1197 SC( 79, 24, 22, 3, yes, no, 0, no) \
1198 SC( 80, 24, 22, 4, yes, no, 0, no) \
1200 SC( 81, 25, 23, 1, yes, no, 0, no) \
1201 SC( 82, 25, 23, 2, yes, no, 0, no) \
1202 SC( 83, 25, 23, 3, yes, no, 0, no) \
1203 SC( 84, 25, 23, 4, yes, no, 0, no) \
1205 SC( 85, 26, 24, 1, yes, no, 0, no) \
1206 SC( 86, 26, 24, 2, yes, no, 0, no) \
1207 SC( 87, 26, 24, 3, yes, no, 0, no) \
1208 SC( 88, 26, 24, 4, yes, no, 0, no) \
1210 SC( 89, 27, 25, 1, yes, no, 0, no) \
1211 SC( 90, 27, 25, 2, yes, no, 0, no) \
1212 SC( 91, 27, 25, 3, yes, no, 0, no) \
1213 SC( 92, 27, 25, 4, yes, no, 0, no) \
1215 SC( 93, 28, 26, 1, yes, no, 0, no) \
1216 SC( 94, 28, 26, 2, yes, no, 0, no) \
1217 SC( 95, 28, 26, 3, yes, no, 0, no) \
1218 SC( 96, 28, 26, 4, yes, no, 0, no) \
1220 SC( 97, 29, 27, 1, yes, no, 0, no) \
1221 SC( 98, 29, 27, 2, yes, no, 0, no) \
1222 SC( 99, 29, 27, 3, yes, no, 0, no) \
1223 SC(100, 29, 27, 4, yes, no, 0, no) \
1225 SC(101, 30, 28, 1, yes, no, 0, no) \
1226 SC(102, 30, 28, 2, yes, no, 0, no) \
1227 SC(103, 30, 28, 3, yes, no, 0, no) \
1229 #define SIZE_CLASSES_DEFINED
1234 #define LG_CEIL_NSIZES 7
1236 #define LG_TINY_MAXCLASS 3
1237 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
1238 #define SMALL_MAXCLASS ((((size_t)1) << 17) + (((size_t)3) << 15))
1239 #define LG_LARGE_MINCLASS 18
1240 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
1241 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
1244 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 12)
1245 #define SIZE_CLASSES \
1246 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
1247 SC( 0, 4, 4, 0, no, yes, 1, 4) \
1248 SC( 1, 4, 4, 1, no, yes, 1, 4) \
1249 SC( 2, 4, 4, 2, no, yes, 3, 4) \
1250 SC( 3, 4, 4, 3, no, yes, 1, 4) \
1252 SC( 4, 6, 4, 1, no, yes, 5, 4) \
1253 SC( 5, 6, 4, 2, no, yes, 3, 4) \
1254 SC( 6, 6, 4, 3, no, yes, 7, 4) \
1255 SC( 7, 6, 4, 4, no, yes, 1, 4) \
1257 SC( 8, 7, 5, 1, no, yes, 5, 5) \
1258 SC( 9, 7, 5, 2, no, yes, 3, 5) \
1259 SC( 10, 7, 5, 3, no, yes, 7, 5) \
1260 SC( 11, 7, 5, 4, no, yes, 1, 5) \
1262 SC( 12, 8, 6, 1, no, yes, 5, 6) \
1263 SC( 13, 8, 6, 2, no, yes, 3, 6) \
1264 SC( 14, 8, 6, 3, no, yes, 7, 6) \
1265 SC( 15, 8, 6, 4, no, yes, 1, 6) \
1267 SC( 16, 9, 7, 1, no, yes, 5, 7) \
1268 SC( 17, 9, 7, 2, no, yes, 3, 7) \
1269 SC( 18, 9, 7, 3, no, yes, 7, 7) \
1270 SC( 19, 9, 7, 4, no, yes, 1, 7) \
1272 SC( 20, 10, 8, 1, no, yes, 5, 8) \
1273 SC( 21, 10, 8, 2, no, yes, 3, 8) \
1274 SC( 22, 10, 8, 3, no, yes, 7, 8) \
1275 SC( 23, 10, 8, 4, no, yes, 1, 8) \
1277 SC( 24, 11, 9, 1, no, yes, 5, 9) \
1278 SC( 25, 11, 9, 2, no, yes, 3, 9) \
1279 SC( 26, 11, 9, 3, no, yes, 7, 9) \
1280 SC( 27, 11, 9, 4, yes, yes, 1, 9) \
1282 SC( 28, 12, 10, 1, no, yes, 5, no) \
1283 SC( 29, 12, 10, 2, no, yes, 3, no) \
1284 SC( 30, 12, 10, 3, no, yes, 7, no) \
1285 SC( 31, 12, 10, 4, yes, yes, 2, no) \
1287 SC( 32, 13, 11, 1, no, yes, 5, no) \
1288 SC( 33, 13, 11, 2, yes, yes, 3, no) \
1289 SC( 34, 13, 11, 3, no, yes, 7, no) \
1290 SC( 35, 13, 11, 4, yes, no, 0, no) \
1292 SC( 36, 14, 12, 1, yes, no, 0, no) \
1293 SC( 37, 14, 12, 2, yes, no, 0, no) \
1294 SC( 38, 14, 12, 3, yes, no, 0, no) \
1295 SC( 39, 14, 12, 4, yes, no, 0, no) \
1297 SC( 40, 15, 13, 1, yes, no, 0, no) \
1298 SC( 41, 15, 13, 2, yes, no, 0, no) \
1299 SC( 42, 15, 13, 3, yes, no, 0, no) \
1300 SC( 43, 15, 13, 4, yes, no, 0, no) \
1302 SC( 44, 16, 14, 1, yes, no, 0, no) \
1303 SC( 45, 16, 14, 2, yes, no, 0, no) \
1304 SC( 46, 16, 14, 3, yes, no, 0, no) \
1305 SC( 47, 16, 14, 4, yes, no, 0, no) \
1307 SC( 48, 17, 15, 1, yes, no, 0, no) \
1308 SC( 49, 17, 15, 2, yes, no, 0, no) \
1309 SC( 50, 17, 15, 3, yes, no, 0, no) \
1310 SC( 51, 17, 15, 4, yes, no, 0, no) \
1312 SC( 52, 18, 16, 1, yes, no, 0, no) \
1313 SC( 53, 18, 16, 2, yes, no, 0, no) \
1314 SC( 54, 18, 16, 3, yes, no, 0, no) \
1315 SC( 55, 18, 16, 4, yes, no, 0, no) \
1317 SC( 56, 19, 17, 1, yes, no, 0, no) \
1318 SC( 57, 19, 17, 2, yes, no, 0, no) \
1319 SC( 58, 19, 17, 3, yes, no, 0, no) \
1320 SC( 59, 19, 17, 4, yes, no, 0, no) \
1322 SC( 60, 20, 18, 1, yes, no, 0, no) \
1323 SC( 61, 20, 18, 2, yes, no, 0, no) \
1324 SC( 62, 20, 18, 3, yes, no, 0, no) \
1325 SC( 63, 20, 18, 4, yes, no, 0, no) \
1327 SC( 64, 21, 19, 1, yes, no, 0, no) \
1328 SC( 65, 21, 19, 2, yes, no, 0, no) \
1329 SC( 66, 21, 19, 3, yes, no, 0, no) \
1330 SC( 67, 21, 19, 4, yes, no, 0, no) \
1332 SC( 68, 22, 20, 1, yes, no, 0, no) \
1333 SC( 69, 22, 20, 2, yes, no, 0, no) \
1334 SC( 70, 22, 20, 3, yes, no, 0, no) \
1335 SC( 71, 22, 20, 4, yes, no, 0, no) \
1337 SC( 72, 23, 21, 1, yes, no, 0, no) \
1338 SC( 73, 23, 21, 2, yes, no, 0, no) \
1339 SC( 74, 23, 21, 3, yes, no, 0, no) \
1340 SC( 75, 23, 21, 4, yes, no, 0, no) \
1342 SC( 76, 24, 22, 1, yes, no, 0, no) \
1343 SC( 77, 24, 22, 2, yes, no, 0, no) \
1344 SC( 78, 24, 22, 3, yes, no, 0, no) \
1345 SC( 79, 24, 22, 4, yes, no, 0, no) \
1347 SC( 80, 25, 23, 1, yes, no, 0, no) \
1348 SC( 81, 25, 23, 2, yes, no, 0, no) \
1349 SC( 82, 25, 23, 3, yes, no, 0, no) \
1350 SC( 83, 25, 23, 4, yes, no, 0, no) \
1352 SC( 84, 26, 24, 1, yes, no, 0, no) \
1353 SC( 85, 26, 24, 2, yes, no, 0, no) \
1354 SC( 86, 26, 24, 3, yes, no, 0, no) \
1355 SC( 87, 26, 24, 4, yes, no, 0, no) \
1357 SC( 88, 27, 25, 1, yes, no, 0, no) \
1358 SC( 89, 27, 25, 2, yes, no, 0, no) \
1359 SC( 90, 27, 25, 3, yes, no, 0, no) \
1360 SC( 91, 27, 25, 4, yes, no, 0, no) \
1362 SC( 92, 28, 26, 1, yes, no, 0, no) \
1363 SC( 93, 28, 26, 2, yes, no, 0, no) \
1364 SC( 94, 28, 26, 3, yes, no, 0, no) \
1365 SC( 95, 28, 26, 4, yes, no, 0, no) \
1367 SC( 96, 29, 27, 1, yes, no, 0, no) \
1368 SC( 97, 29, 27, 2, yes, no, 0, no) \
1369 SC( 98, 29, 27, 3, yes, no, 0, no) \
1370 SC( 99, 29, 27, 4, yes, no, 0, no) \
1372 SC(100, 30, 28, 1, yes, no, 0, no) \
1373 SC(101, 30, 28, 2, yes, no, 0, no) \
1374 SC(102, 30, 28, 3, yes, no, 0, no) \
1376 #define SIZE_CLASSES_DEFINED
1381 #define LG_CEIL_NSIZES 7
1383 #define LG_TINY_MAXCLASS "NA"
1384 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
1385 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11))
1386 #define LG_LARGE_MINCLASS 14
1387 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
1388 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
1391 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 13)
1392 #define SIZE_CLASSES \
1393 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
1394 SC( 0, 4, 4, 0, no, yes, 1, 4) \
1395 SC( 1, 4, 4, 1, no, yes, 1, 4) \
1396 SC( 2, 4, 4, 2, no, yes, 3, 4) \
1397 SC( 3, 4, 4, 3, no, yes, 1, 4) \
1399 SC( 4, 6, 4, 1, no, yes, 5, 4) \
1400 SC( 5, 6, 4, 2, no, yes, 3, 4) \
1401 SC( 6, 6, 4, 3, no, yes, 7, 4) \
1402 SC( 7, 6, 4, 4, no, yes, 1, 4) \
1404 SC( 8, 7, 5, 1, no, yes, 5, 5) \
1405 SC( 9, 7, 5, 2, no, yes, 3, 5) \
1406 SC( 10, 7, 5, 3, no, yes, 7, 5) \
1407 SC( 11, 7, 5, 4, no, yes, 1, 5) \
1409 SC( 12, 8, 6, 1, no, yes, 5, 6) \
1410 SC( 13, 8, 6, 2, no, yes, 3, 6) \
1411 SC( 14, 8, 6, 3, no, yes, 7, 6) \
1412 SC( 15, 8, 6, 4, no, yes, 1, 6) \
1414 SC( 16, 9, 7, 1, no, yes, 5, 7) \
1415 SC( 17, 9, 7, 2, no, yes, 3, 7) \
1416 SC( 18, 9, 7, 3, no, yes, 7, 7) \
1417 SC( 19, 9, 7, 4, no, yes, 1, 7) \
1419 SC( 20, 10, 8, 1, no, yes, 5, 8) \
1420 SC( 21, 10, 8, 2, no, yes, 3, 8) \
1421 SC( 22, 10, 8, 3, no, yes, 7, 8) \
1422 SC( 23, 10, 8, 4, no, yes, 1, 8) \
1424 SC( 24, 11, 9, 1, no, yes, 5, 9) \
1425 SC( 25, 11, 9, 2, no, yes, 3, 9) \
1426 SC( 26, 11, 9, 3, no, yes, 7, 9) \
1427 SC( 27, 11, 9, 4, no, yes, 1, 9) \
1429 SC( 28, 12, 10, 1, no, yes, 5, no) \
1430 SC( 29, 12, 10, 2, no, yes, 3, no) \
1431 SC( 30, 12, 10, 3, no, yes, 7, no) \
1432 SC( 31, 12, 10, 4, yes, yes, 1, no) \
1434 SC( 32, 13, 11, 1, no, yes, 5, no) \
1435 SC( 33, 13, 11, 2, no, yes, 3, no) \
1436 SC( 34, 13, 11, 3, no, yes, 7, no) \
1437 SC( 35, 13, 11, 4, yes, yes, 2, no) \
1439 SC( 36, 14, 12, 1, no, yes, 5, no) \
1440 SC( 37, 14, 12, 2, yes, yes, 3, no) \
1441 SC( 38, 14, 12, 3, no, yes, 7, no) \
1442 SC( 39, 14, 12, 4, yes, no, 0, no) \
1444 SC( 40, 15, 13, 1, yes, no, 0, no) \
1445 SC( 41, 15, 13, 2, yes, no, 0, no) \
1446 SC( 42, 15, 13, 3, yes, no, 0, no) \
1447 SC( 43, 15, 13, 4, yes, no, 0, no) \
1449 SC( 44, 16, 14, 1, yes, no, 0, no) \
1450 SC( 45, 16, 14, 2, yes, no, 0, no) \
1451 SC( 46, 16, 14, 3, yes, no, 0, no) \
1452 SC( 47, 16, 14, 4, yes, no, 0, no) \
1454 SC( 48, 17, 15, 1, yes, no, 0, no) \
1455 SC( 49, 17, 15, 2, yes, no, 0, no) \
1456 SC( 50, 17, 15, 3, yes, no, 0, no) \
1457 SC( 51, 17, 15, 4, yes, no, 0, no) \
1459 SC( 52, 18, 16, 1, yes, no, 0, no) \
1460 SC( 53, 18, 16, 2, yes, no, 0, no) \
1461 SC( 54, 18, 16, 3, yes, no, 0, no) \
1462 SC( 55, 18, 16, 4, yes, no, 0, no) \
1464 SC( 56, 19, 17, 1, yes, no, 0, no) \
1465 SC( 57, 19, 17, 2, yes, no, 0, no) \
1466 SC( 58, 19, 17, 3, yes, no, 0, no) \
1467 SC( 59, 19, 17, 4, yes, no, 0, no) \
1469 SC( 60, 20, 18, 1, yes, no, 0, no) \
1470 SC( 61, 20, 18, 2, yes, no, 0, no) \
1471 SC( 62, 20, 18, 3, yes, no, 0, no) \
1472 SC( 63, 20, 18, 4, yes, no, 0, no) \
1474 SC( 64, 21, 19, 1, yes, no, 0, no) \
1475 SC( 65, 21, 19, 2, yes, no, 0, no) \
1476 SC( 66, 21, 19, 3, yes, no, 0, no) \
1477 SC( 67, 21, 19, 4, yes, no, 0, no) \
1479 SC( 68, 22, 20, 1, yes, no, 0, no) \
1480 SC( 69, 22, 20, 2, yes, no, 0, no) \
1481 SC( 70, 22, 20, 3, yes, no, 0, no) \
1482 SC( 71, 22, 20, 4, yes, no, 0, no) \
1484 SC( 72, 23, 21, 1, yes, no, 0, no) \
1485 SC( 73, 23, 21, 2, yes, no, 0, no) \
1486 SC( 74, 23, 21, 3, yes, no, 0, no) \
1487 SC( 75, 23, 21, 4, yes, no, 0, no) \
1489 SC( 76, 24, 22, 1, yes, no, 0, no) \
1490 SC( 77, 24, 22, 2, yes, no, 0, no) \
1491 SC( 78, 24, 22, 3, yes, no, 0, no) \
1492 SC( 79, 24, 22, 4, yes, no, 0, no) \
1494 SC( 80, 25, 23, 1, yes, no, 0, no) \
1495 SC( 81, 25, 23, 2, yes, no, 0, no) \
1496 SC( 82, 25, 23, 3, yes, no, 0, no) \
1497 SC( 83, 25, 23, 4, yes, no, 0, no) \
1499 SC( 84, 26, 24, 1, yes, no, 0, no) \
1500 SC( 85, 26, 24, 2, yes, no, 0, no) \
1501 SC( 86, 26, 24, 3, yes, no, 0, no) \
1502 SC( 87, 26, 24, 4, yes, no, 0, no) \
1504 SC( 88, 27, 25, 1, yes, no, 0, no) \
1505 SC( 89, 27, 25, 2, yes, no, 0, no) \
1506 SC( 90, 27, 25, 3, yes, no, 0, no) \
1507 SC( 91, 27, 25, 4, yes, no, 0, no) \
1509 SC( 92, 28, 26, 1, yes, no, 0, no) \
1510 SC( 93, 28, 26, 2, yes, no, 0, no) \
1511 SC( 94, 28, 26, 3, yes, no, 0, no) \
1512 SC( 95, 28, 26, 4, yes, no, 0, no) \
1514 SC( 96, 29, 27, 1, yes, no, 0, no) \
1515 SC( 97, 29, 27, 2, yes, no, 0, no) \
1516 SC( 98, 29, 27, 3, yes, no, 0, no) \
1517 SC( 99, 29, 27, 4, yes, no, 0, no) \
1519 SC(100, 30, 28, 1, yes, no, 0, no) \
1520 SC(101, 30, 28, 2, yes, no, 0, no) \
1521 SC(102, 30, 28, 3, yes, no, 0, no) \
1523 #define SIZE_CLASSES_DEFINED
1528 #define LG_CEIL_NSIZES 7
1530 #define LG_TINY_MAXCLASS "NA"
1531 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
1532 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12))
1533 #define LG_LARGE_MINCLASS 15
1534 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
1535 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
1538 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 14)
1539 #define SIZE_CLASSES \
1540 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
1541 SC( 0, 4, 4, 0, no, yes, 1, 4) \
1542 SC( 1, 4, 4, 1, no, yes, 1, 4) \
1543 SC( 2, 4, 4, 2, no, yes, 3, 4) \
1544 SC( 3, 4, 4, 3, no, yes, 1, 4) \
1546 SC( 4, 6, 4, 1, no, yes, 5, 4) \
1547 SC( 5, 6, 4, 2, no, yes, 3, 4) \
1548 SC( 6, 6, 4, 3, no, yes, 7, 4) \
1549 SC( 7, 6, 4, 4, no, yes, 1, 4) \
1551 SC( 8, 7, 5, 1, no, yes, 5, 5) \
1552 SC( 9, 7, 5, 2, no, yes, 3, 5) \
1553 SC( 10, 7, 5, 3, no, yes, 7, 5) \
1554 SC( 11, 7, 5, 4, no, yes, 1, 5) \
1556 SC( 12, 8, 6, 1, no, yes, 5, 6) \
1557 SC( 13, 8, 6, 2, no, yes, 3, 6) \
1558 SC( 14, 8, 6, 3, no, yes, 7, 6) \
1559 SC( 15, 8, 6, 4, no, yes, 1, 6) \
1561 SC( 16, 9, 7, 1, no, yes, 5, 7) \
1562 SC( 17, 9, 7, 2, no, yes, 3, 7) \
1563 SC( 18, 9, 7, 3, no, yes, 7, 7) \
1564 SC( 19, 9, 7, 4, no, yes, 1, 7) \
1566 SC( 20, 10, 8, 1, no, yes, 5, 8) \
1567 SC( 21, 10, 8, 2, no, yes, 3, 8) \
1568 SC( 22, 10, 8, 3, no, yes, 7, 8) \
1569 SC( 23, 10, 8, 4, no, yes, 1, 8) \
1571 SC( 24, 11, 9, 1, no, yes, 5, 9) \
1572 SC( 25, 11, 9, 2, no, yes, 3, 9) \
1573 SC( 26, 11, 9, 3, no, yes, 7, 9) \
1574 SC( 27, 11, 9, 4, no, yes, 1, 9) \
1576 SC( 28, 12, 10, 1, no, yes, 5, no) \
1577 SC( 29, 12, 10, 2, no, yes, 3, no) \
1578 SC( 30, 12, 10, 3, no, yes, 7, no) \
1579 SC( 31, 12, 10, 4, no, yes, 1, no) \
1581 SC( 32, 13, 11, 1, no, yes, 5, no) \
1582 SC( 33, 13, 11, 2, no, yes, 3, no) \
1583 SC( 34, 13, 11, 3, no, yes, 7, no) \
1584 SC( 35, 13, 11, 4, yes, yes, 1, no) \
1586 SC( 36, 14, 12, 1, no, yes, 5, no) \
1587 SC( 37, 14, 12, 2, no, yes, 3, no) \
1588 SC( 38, 14, 12, 3, no, yes, 7, no) \
1589 SC( 39, 14, 12, 4, yes, yes, 2, no) \
1591 SC( 40, 15, 13, 1, no, yes, 5, no) \
1592 SC( 41, 15, 13, 2, yes, yes, 3, no) \
1593 SC( 42, 15, 13, 3, no, yes, 7, no) \
1594 SC( 43, 15, 13, 4, yes, no, 0, no) \
1596 SC( 44, 16, 14, 1, yes, no, 0, no) \
1597 SC( 45, 16, 14, 2, yes, no, 0, no) \
1598 SC( 46, 16, 14, 3, yes, no, 0, no) \
1599 SC( 47, 16, 14, 4, yes, no, 0, no) \
1601 SC( 48, 17, 15, 1, yes, no, 0, no) \
1602 SC( 49, 17, 15, 2, yes, no, 0, no) \
1603 SC( 50, 17, 15, 3, yes, no, 0, no) \
1604 SC( 51, 17, 15, 4, yes, no, 0, no) \
1606 SC( 52, 18, 16, 1, yes, no, 0, no) \
1607 SC( 53, 18, 16, 2, yes, no, 0, no) \
1608 SC( 54, 18, 16, 3, yes, no, 0, no) \
1609 SC( 55, 18, 16, 4, yes, no, 0, no) \
1611 SC( 56, 19, 17, 1, yes, no, 0, no) \
1612 SC( 57, 19, 17, 2, yes, no, 0, no) \
1613 SC( 58, 19, 17, 3, yes, no, 0, no) \
1614 SC( 59, 19, 17, 4, yes, no, 0, no) \
1616 SC( 60, 20, 18, 1, yes, no, 0, no) \
1617 SC( 61, 20, 18, 2, yes, no, 0, no) \
1618 SC( 62, 20, 18, 3, yes, no, 0, no) \
1619 SC( 63, 20, 18, 4, yes, no, 0, no) \
1621 SC( 64, 21, 19, 1, yes, no, 0, no) \
1622 SC( 65, 21, 19, 2, yes, no, 0, no) \
1623 SC( 66, 21, 19, 3, yes, no, 0, no) \
1624 SC( 67, 21, 19, 4, yes, no, 0, no) \
1626 SC( 68, 22, 20, 1, yes, no, 0, no) \
1627 SC( 69, 22, 20, 2, yes, no, 0, no) \
1628 SC( 70, 22, 20, 3, yes, no, 0, no) \
1629 SC( 71, 22, 20, 4, yes, no, 0, no) \
1631 SC( 72, 23, 21, 1, yes, no, 0, no) \
1632 SC( 73, 23, 21, 2, yes, no, 0, no) \
1633 SC( 74, 23, 21, 3, yes, no, 0, no) \
1634 SC( 75, 23, 21, 4, yes, no, 0, no) \
1636 SC( 76, 24, 22, 1, yes, no, 0, no) \
1637 SC( 77, 24, 22, 2, yes, no, 0, no) \
1638 SC( 78, 24, 22, 3, yes, no, 0, no) \
1639 SC( 79, 24, 22, 4, yes, no, 0, no) \
1641 SC( 80, 25, 23, 1, yes, no, 0, no) \
1642 SC( 81, 25, 23, 2, yes, no, 0, no) \
1643 SC( 82, 25, 23, 3, yes, no, 0, no) \
1644 SC( 83, 25, 23, 4, yes, no, 0, no) \
1646 SC( 84, 26, 24, 1, yes, no, 0, no) \
1647 SC( 85, 26, 24, 2, yes, no, 0, no) \
1648 SC( 86, 26, 24, 3, yes, no, 0, no) \
1649 SC( 87, 26, 24, 4, yes, no, 0, no) \
1651 SC( 88, 27, 25, 1, yes, no, 0, no) \
1652 SC( 89, 27, 25, 2, yes, no, 0, no) \
1653 SC( 90, 27, 25, 3, yes, no, 0, no) \
1654 SC( 91, 27, 25, 4, yes, no, 0, no) \
1656 SC( 92, 28, 26, 1, yes, no, 0, no) \
1657 SC( 93, 28, 26, 2, yes, no, 0, no) \
1658 SC( 94, 28, 26, 3, yes, no, 0, no) \
1659 SC( 95, 28, 26, 4, yes, no, 0, no) \
1661 SC( 96, 29, 27, 1, yes, no, 0, no) \
1662 SC( 97, 29, 27, 2, yes, no, 0, no) \
1663 SC( 98, 29, 27, 3, yes, no, 0, no) \
1664 SC( 99, 29, 27, 4, yes, no, 0, no) \
1666 SC(100, 30, 28, 1, yes, no, 0, no) \
1667 SC(101, 30, 28, 2, yes, no, 0, no) \
1668 SC(102, 30, 28, 3, yes, no, 0, no) \
1670 #define SIZE_CLASSES_DEFINED
1675 #define LG_CEIL_NSIZES 7
1677 #define LG_TINY_MAXCLASS "NA"
1678 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
1679 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
1680 #define LG_LARGE_MINCLASS 16
1681 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
1682 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
1685 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 16)
1686 #define SIZE_CLASSES \
1687 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
1688 SC( 0, 4, 4, 0, no, yes, 1, 4) \
1689 SC( 1, 4, 4, 1, no, yes, 1, 4) \
1690 SC( 2, 4, 4, 2, no, yes, 3, 4) \
1691 SC( 3, 4, 4, 3, no, yes, 1, 4) \
1693 SC( 4, 6, 4, 1, no, yes, 5, 4) \
1694 SC( 5, 6, 4, 2, no, yes, 3, 4) \
1695 SC( 6, 6, 4, 3, no, yes, 7, 4) \
1696 SC( 7, 6, 4, 4, no, yes, 1, 4) \
1698 SC( 8, 7, 5, 1, no, yes, 5, 5) \
1699 SC( 9, 7, 5, 2, no, yes, 3, 5) \
1700 SC( 10, 7, 5, 3, no, yes, 7, 5) \
1701 SC( 11, 7, 5, 4, no, yes, 1, 5) \
1703 SC( 12, 8, 6, 1, no, yes, 5, 6) \
1704 SC( 13, 8, 6, 2, no, yes, 3, 6) \
1705 SC( 14, 8, 6, 3, no, yes, 7, 6) \
1706 SC( 15, 8, 6, 4, no, yes, 1, 6) \
1708 SC( 16, 9, 7, 1, no, yes, 5, 7) \
1709 SC( 17, 9, 7, 2, no, yes, 3, 7) \
1710 SC( 18, 9, 7, 3, no, yes, 7, 7) \
1711 SC( 19, 9, 7, 4, no, yes, 1, 7) \
1713 SC( 20, 10, 8, 1, no, yes, 5, 8) \
1714 SC( 21, 10, 8, 2, no, yes, 3, 8) \
1715 SC( 22, 10, 8, 3, no, yes, 7, 8) \
1716 SC( 23, 10, 8, 4, no, yes, 1, 8) \
1718 SC( 24, 11, 9, 1, no, yes, 5, 9) \
1719 SC( 25, 11, 9, 2, no, yes, 3, 9) \
1720 SC( 26, 11, 9, 3, no, yes, 7, 9) \
1721 SC( 27, 11, 9, 4, no, yes, 1, 9) \
1723 SC( 28, 12, 10, 1, no, yes, 5, no) \
1724 SC( 29, 12, 10, 2, no, yes, 3, no) \
1725 SC( 30, 12, 10, 3, no, yes, 7, no) \
1726 SC( 31, 12, 10, 4, no, yes, 1, no) \
1728 SC( 32, 13, 11, 1, no, yes, 5, no) \
1729 SC( 33, 13, 11, 2, no, yes, 3, no) \
1730 SC( 34, 13, 11, 3, no, yes, 7, no) \
1731 SC( 35, 13, 11, 4, no, yes, 1, no) \
1733 SC( 36, 14, 12, 1, no, yes, 5, no) \
1734 SC( 37, 14, 12, 2, no, yes, 3, no) \
1735 SC( 38, 14, 12, 3, no, yes, 7, no) \
1736 SC( 39, 14, 12, 4, no, yes, 1, no) \
1738 SC( 40, 15, 13, 1, no, yes, 5, no) \
1739 SC( 41, 15, 13, 2, no, yes, 3, no) \
1740 SC( 42, 15, 13, 3, no, yes, 7, no) \
1741 SC( 43, 15, 13, 4, yes, yes, 1, no) \
1743 SC( 44, 16, 14, 1, no, yes, 5, no) \
1744 SC( 45, 16, 14, 2, no, yes, 3, no) \
1745 SC( 46, 16, 14, 3, no, yes, 7, no) \
1746 SC( 47, 16, 14, 4, yes, yes, 2, no) \
1748 SC( 48, 17, 15, 1, no, yes, 5, no) \
1749 SC( 49, 17, 15, 2, yes, yes, 3, no) \
1750 SC( 50, 17, 15, 3, no, yes, 7, no) \
1751 SC( 51, 17, 15, 4, yes, no, 0, no) \
1753 SC( 52, 18, 16, 1, yes, no, 0, no) \
1754 SC( 53, 18, 16, 2, yes, no, 0, no) \
1755 SC( 54, 18, 16, 3, yes, no, 0, no) \
1756 SC( 55, 18, 16, 4, yes, no, 0, no) \
1758 SC( 56, 19, 17, 1, yes, no, 0, no) \
1759 SC( 57, 19, 17, 2, yes, no, 0, no) \
1760 SC( 58, 19, 17, 3, yes, no, 0, no) \
1761 SC( 59, 19, 17, 4, yes, no, 0, no) \
1763 SC( 60, 20, 18, 1, yes, no, 0, no) \
1764 SC( 61, 20, 18, 2, yes, no, 0, no) \
1765 SC( 62, 20, 18, 3, yes, no, 0, no) \
1766 SC( 63, 20, 18, 4, yes, no, 0, no) \
1768 SC( 64, 21, 19, 1, yes, no, 0, no) \
1769 SC( 65, 21, 19, 2, yes, no, 0, no) \
1770 SC( 66, 21, 19, 3, yes, no, 0, no) \
1771 SC( 67, 21, 19, 4, yes, no, 0, no) \
1773 SC( 68, 22, 20, 1, yes, no, 0, no) \
1774 SC( 69, 22, 20, 2, yes, no, 0, no) \
1775 SC( 70, 22, 20, 3, yes, no, 0, no) \
1776 SC( 71, 22, 20, 4, yes, no, 0, no) \
1778 SC( 72, 23, 21, 1, yes, no, 0, no) \
1779 SC( 73, 23, 21, 2, yes, no, 0, no) \
1780 SC( 74, 23, 21, 3, yes, no, 0, no) \
1781 SC( 75, 23, 21, 4, yes, no, 0, no) \
1783 SC( 76, 24, 22, 1, yes, no, 0, no) \
1784 SC( 77, 24, 22, 2, yes, no, 0, no) \
1785 SC( 78, 24, 22, 3, yes, no, 0, no) \
1786 SC( 79, 24, 22, 4, yes, no, 0, no) \
1788 SC( 80, 25, 23, 1, yes, no, 0, no) \
1789 SC( 81, 25, 23, 2, yes, no, 0, no) \
1790 SC( 82, 25, 23, 3, yes, no, 0, no) \
1791 SC( 83, 25, 23, 4, yes, no, 0, no) \
1793 SC( 84, 26, 24, 1, yes, no, 0, no) \
1794 SC( 85, 26, 24, 2, yes, no, 0, no) \
1795 SC( 86, 26, 24, 3, yes, no, 0, no) \
1796 SC( 87, 26, 24, 4, yes, no, 0, no) \
1798 SC( 88, 27, 25, 1, yes, no, 0, no) \
1799 SC( 89, 27, 25, 2, yes, no, 0, no) \
1800 SC( 90, 27, 25, 3, yes, no, 0, no) \
1801 SC( 91, 27, 25, 4, yes, no, 0, no) \
1803 SC( 92, 28, 26, 1, yes, no, 0, no) \
1804 SC( 93, 28, 26, 2, yes, no, 0, no) \
1805 SC( 94, 28, 26, 3, yes, no, 0, no) \
1806 SC( 95, 28, 26, 4, yes, no, 0, no) \
1808 SC( 96, 29, 27, 1, yes, no, 0, no) \
1809 SC( 97, 29, 27, 2, yes, no, 0, no) \
1810 SC( 98, 29, 27, 3, yes, no, 0, no) \
1811 SC( 99, 29, 27, 4, yes, no, 0, no) \
1813 SC(100, 30, 28, 1, yes, no, 0, no) \
1814 SC(101, 30, 28, 2, yes, no, 0, no) \
1815 SC(102, 30, 28, 3, yes, no, 0, no) \
1817 #define SIZE_CLASSES_DEFINED
1822 #define LG_CEIL_NSIZES 7
1824 #define LG_TINY_MAXCLASS "NA"
1825 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
1826 #define SMALL_MAXCLASS ((((size_t)1) << 17) + (((size_t)3) << 15))
1827 #define LG_LARGE_MINCLASS 18
1828 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
1829 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28))
1832 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 12)
1833 #define SIZE_CLASSES \
1834 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
1835 SC( 0, 3, 3, 0, no, yes, 1, 3) \
1836 SC( 1, 3, 3, 1, no, yes, 1, 3) \
1837 SC( 2, 3, 3, 2, no, yes, 3, 3) \
1838 SC( 3, 3, 3, 3, no, yes, 1, 3) \
1840 SC( 4, 5, 3, 1, no, yes, 5, 3) \
1841 SC( 5, 5, 3, 2, no, yes, 3, 3) \
1842 SC( 6, 5, 3, 3, no, yes, 7, 3) \
1843 SC( 7, 5, 3, 4, no, yes, 1, 3) \
1845 SC( 8, 6, 4, 1, no, yes, 5, 4) \
1846 SC( 9, 6, 4, 2, no, yes, 3, 4) \
1847 SC( 10, 6, 4, 3, no, yes, 7, 4) \
1848 SC( 11, 6, 4, 4, no, yes, 1, 4) \
1850 SC( 12, 7, 5, 1, no, yes, 5, 5) \
1851 SC( 13, 7, 5, 2, no, yes, 3, 5) \
1852 SC( 14, 7, 5, 3, no, yes, 7, 5) \
1853 SC( 15, 7, 5, 4, no, yes, 1, 5) \
1855 SC( 16, 8, 6, 1, no, yes, 5, 6) \
1856 SC( 17, 8, 6, 2, no, yes, 3, 6) \
1857 SC( 18, 8, 6, 3, no, yes, 7, 6) \
1858 SC( 19, 8, 6, 4, no, yes, 1, 6) \
1860 SC( 20, 9, 7, 1, no, yes, 5, 7) \
1861 SC( 21, 9, 7, 2, no, yes, 3, 7) \
1862 SC( 22, 9, 7, 3, no, yes, 7, 7) \
1863 SC( 23, 9, 7, 4, no, yes, 1, 7) \
1865 SC( 24, 10, 8, 1, no, yes, 5, 8) \
1866 SC( 25, 10, 8, 2, no, yes, 3, 8) \
1867 SC( 26, 10, 8, 3, no, yes, 7, 8) \
1868 SC( 27, 10, 8, 4, no, yes, 1, 8) \
1870 SC( 28, 11, 9, 1, no, yes, 5, 9) \
1871 SC( 29, 11, 9, 2, no, yes, 3, 9) \
1872 SC( 30, 11, 9, 3, no, yes, 7, 9) \
1873 SC( 31, 11, 9, 4, yes, yes, 1, 9) \
1875 SC( 32, 12, 10, 1, no, yes, 5, no) \
1876 SC( 33, 12, 10, 2, no, yes, 3, no) \
1877 SC( 34, 12, 10, 3, no, yes, 7, no) \
1878 SC( 35, 12, 10, 4, yes, yes, 2, no) \
1880 SC( 36, 13, 11, 1, no, yes, 5, no) \
1881 SC( 37, 13, 11, 2, yes, yes, 3, no) \
1882 SC( 38, 13, 11, 3, no, yes, 7, no) \
1883 SC( 39, 13, 11, 4, yes, no, 0, no) \
1885 SC( 40, 14, 12, 1, yes, no, 0, no) \
1886 SC( 41, 14, 12, 2, yes, no, 0, no) \
1887 SC( 42, 14, 12, 3, yes, no, 0, no) \
1888 SC( 43, 14, 12, 4, yes, no, 0, no) \
1890 SC( 44, 15, 13, 1, yes, no, 0, no) \
1891 SC( 45, 15, 13, 2, yes, no, 0, no) \
1892 SC( 46, 15, 13, 3, yes, no, 0, no) \
1893 SC( 47, 15, 13, 4, yes, no, 0, no) \
1895 SC( 48, 16, 14, 1, yes, no, 0, no) \
1896 SC( 49, 16, 14, 2, yes, no, 0, no) \
1897 SC( 50, 16, 14, 3, yes, no, 0, no) \
1898 SC( 51, 16, 14, 4, yes, no, 0, no) \
1900 SC( 52, 17, 15, 1, yes, no, 0, no) \
1901 SC( 53, 17, 15, 2, yes, no, 0, no) \
1902 SC( 54, 17, 15, 3, yes, no, 0, no) \
1903 SC( 55, 17, 15, 4, yes, no, 0, no) \
1905 SC( 56, 18, 16, 1, yes, no, 0, no) \
1906 SC( 57, 18, 16, 2, yes, no, 0, no) \
1907 SC( 58, 18, 16, 3, yes, no, 0, no) \
1908 SC( 59, 18, 16, 4, yes, no, 0, no) \
1910 SC( 60, 19, 17, 1, yes, no, 0, no) \
1911 SC( 61, 19, 17, 2, yes, no, 0, no) \
1912 SC( 62, 19, 17, 3, yes, no, 0, no) \
1913 SC( 63, 19, 17, 4, yes, no, 0, no) \
1915 SC( 64, 20, 18, 1, yes, no, 0, no) \
1916 SC( 65, 20, 18, 2, yes, no, 0, no) \
1917 SC( 66, 20, 18, 3, yes, no, 0, no) \
1918 SC( 67, 20, 18, 4, yes, no, 0, no) \
1920 SC( 68, 21, 19, 1, yes, no, 0, no) \
1921 SC( 69, 21, 19, 2, yes, no, 0, no) \
1922 SC( 70, 21, 19, 3, yes, no, 0, no) \
1923 SC( 71, 21, 19, 4, yes, no, 0, no) \
1925 SC( 72, 22, 20, 1, yes, no, 0, no) \
1926 SC( 73, 22, 20, 2, yes, no, 0, no) \
1927 SC( 74, 22, 20, 3, yes, no, 0, no) \
1928 SC( 75, 22, 20, 4, yes, no, 0, no) \
1930 SC( 76, 23, 21, 1, yes, no, 0, no) \
1931 SC( 77, 23, 21, 2, yes, no, 0, no) \
1932 SC( 78, 23, 21, 3, yes, no, 0, no) \
1933 SC( 79, 23, 21, 4, yes, no, 0, no) \
1935 SC( 80, 24, 22, 1, yes, no, 0, no) \
1936 SC( 81, 24, 22, 2, yes, no, 0, no) \
1937 SC( 82, 24, 22, 3, yes, no, 0, no) \
1938 SC( 83, 24, 22, 4, yes, no, 0, no) \
1940 SC( 84, 25, 23, 1, yes, no, 0, no) \
1941 SC( 85, 25, 23, 2, yes, no, 0, no) \
1942 SC( 86, 25, 23, 3, yes, no, 0, no) \
1943 SC( 87, 25, 23, 4, yes, no, 0, no) \
1945 SC( 88, 26, 24, 1, yes, no, 0, no) \
1946 SC( 89, 26, 24, 2, yes, no, 0, no) \
1947 SC( 90, 26, 24, 3, yes, no, 0, no) \
1948 SC( 91, 26, 24, 4, yes, no, 0, no) \
1950 SC( 92, 27, 25, 1, yes, no, 0, no) \
1951 SC( 93, 27, 25, 2, yes, no, 0, no) \
1952 SC( 94, 27, 25, 3, yes, no, 0, no) \
1953 SC( 95, 27, 25, 4, yes, no, 0, no) \
1955 SC( 96, 28, 26, 1, yes, no, 0, no) \
1956 SC( 97, 28, 26, 2, yes, no, 0, no) \
1957 SC( 98, 28, 26, 3, yes, no, 0, no) \
1958 SC( 99, 28, 26, 4, yes, no, 0, no) \
1960 SC(100, 29, 27, 1, yes, no, 0, no) \
1961 SC(101, 29, 27, 2, yes, no, 0, no) \
1962 SC(102, 29, 27, 3, yes, no, 0, no) \
1963 SC(103, 29, 27, 4, yes, no, 0, no) \
1965 SC(104, 30, 28, 1, yes, no, 0, no) \
1966 SC(105, 30, 28, 2, yes, no, 0, no) \
1967 SC(106, 30, 28, 3, yes, no, 0, no) \
1968 SC(107, 30, 28, 4, yes, no, 0, no) \
1970 SC(108, 31, 29, 1, yes, no, 0, no) \
1971 SC(109, 31, 29, 2, yes, no, 0, no) \
1972 SC(110, 31, 29, 3, yes, no, 0, no) \
1973 SC(111, 31, 29, 4, yes, no, 0, no) \
1975 SC(112, 32, 30, 1, yes, no, 0, no) \
1976 SC(113, 32, 30, 2, yes, no, 0, no) \
1977 SC(114, 32, 30, 3, yes, no, 0, no) \
1978 SC(115, 32, 30, 4, yes, no, 0, no) \
1980 SC(116, 33, 31, 1, yes, no, 0, no) \
1981 SC(117, 33, 31, 2, yes, no, 0, no) \
1982 SC(118, 33, 31, 3, yes, no, 0, no) \
1983 SC(119, 33, 31, 4, yes, no, 0, no) \
1985 SC(120, 34, 32, 1, yes, no, 0, no) \
1986 SC(121, 34, 32, 2, yes, no, 0, no) \
1987 SC(122, 34, 32, 3, yes, no, 0, no) \
1988 SC(123, 34, 32, 4, yes, no, 0, no) \
1990 SC(124, 35, 33, 1, yes, no, 0, no) \
1991 SC(125, 35, 33, 2, yes, no, 0, no) \
1992 SC(126, 35, 33, 3, yes, no, 0, no) \
1993 SC(127, 35, 33, 4, yes, no, 0, no) \
1995 SC(128, 36, 34, 1, yes, no, 0, no) \
1996 SC(129, 36, 34, 2, yes, no, 0, no) \
1997 SC(130, 36, 34, 3, yes, no, 0, no) \
1998 SC(131, 36, 34, 4, yes, no, 0, no) \
2000 SC(132, 37, 35, 1, yes, no, 0, no) \
2001 SC(133, 37, 35, 2, yes, no, 0, no) \
2002 SC(134, 37, 35, 3, yes, no, 0, no) \
2003 SC(135, 37, 35, 4, yes, no, 0, no) \
2005 SC(136, 38, 36, 1, yes, no, 0, no) \
2006 SC(137, 38, 36, 2, yes, no, 0, no) \
2007 SC(138, 38, 36, 3, yes, no, 0, no) \
2008 SC(139, 38, 36, 4, yes, no, 0, no) \
2010 SC(140, 39, 37, 1, yes, no, 0, no) \
2011 SC(141, 39, 37, 2, yes, no, 0, no) \
2012 SC(142, 39, 37, 3, yes, no, 0, no) \
2013 SC(143, 39, 37, 4, yes, no, 0, no) \
2015 SC(144, 40, 38, 1, yes, no, 0, no) \
2016 SC(145, 40, 38, 2, yes, no, 0, no) \
2017 SC(146, 40, 38, 3, yes, no, 0, no) \
2018 SC(147, 40, 38, 4, yes, no, 0, no) \
2020 SC(148, 41, 39, 1, yes, no, 0, no) \
2021 SC(149, 41, 39, 2, yes, no, 0, no) \
2022 SC(150, 41, 39, 3, yes, no, 0, no) \
2023 SC(151, 41, 39, 4, yes, no, 0, no) \
2025 SC(152, 42, 40, 1, yes, no, 0, no) \
2026 SC(153, 42, 40, 2, yes, no, 0, no) \
2027 SC(154, 42, 40, 3, yes, no, 0, no) \
2028 SC(155, 42, 40, 4, yes, no, 0, no) \
2030 SC(156, 43, 41, 1, yes, no, 0, no) \
2031 SC(157, 43, 41, 2, yes, no, 0, no) \
2032 SC(158, 43, 41, 3, yes, no, 0, no) \
2033 SC(159, 43, 41, 4, yes, no, 0, no) \
2035 SC(160, 44, 42, 1, yes, no, 0, no) \
2036 SC(161, 44, 42, 2, yes, no, 0, no) \
2037 SC(162, 44, 42, 3, yes, no, 0, no) \
2038 SC(163, 44, 42, 4, yes, no, 0, no) \
2040 SC(164, 45, 43, 1, yes, no, 0, no) \
2041 SC(165, 45, 43, 2, yes, no, 0, no) \
2042 SC(166, 45, 43, 3, yes, no, 0, no) \
2043 SC(167, 45, 43, 4, yes, no, 0, no) \
2045 SC(168, 46, 44, 1, yes, no, 0, no) \
2046 SC(169, 46, 44, 2, yes, no, 0, no) \
2047 SC(170, 46, 44, 3, yes, no, 0, no) \
2048 SC(171, 46, 44, 4, yes, no, 0, no) \
2050 SC(172, 47, 45, 1, yes, no, 0, no) \
2051 SC(173, 47, 45, 2, yes, no, 0, no) \
2052 SC(174, 47, 45, 3, yes, no, 0, no) \
2053 SC(175, 47, 45, 4, yes, no, 0, no) \
2055 SC(176, 48, 46, 1, yes, no, 0, no) \
2056 SC(177, 48, 46, 2, yes, no, 0, no) \
2057 SC(178, 48, 46, 3, yes, no, 0, no) \
2058 SC(179, 48, 46, 4, yes, no, 0, no) \
2060 SC(180, 49, 47, 1, yes, no, 0, no) \
2061 SC(181, 49, 47, 2, yes, no, 0, no) \
2062 SC(182, 49, 47, 3, yes, no, 0, no) \
2063 SC(183, 49, 47, 4, yes, no, 0, no) \
2065 SC(184, 50, 48, 1, yes, no, 0, no) \
2066 SC(185, 50, 48, 2, yes, no, 0, no) \
2067 SC(186, 50, 48, 3, yes, no, 0, no) \
2068 SC(187, 50, 48, 4, yes, no, 0, no) \
2070 SC(188, 51, 49, 1, yes, no, 0, no) \
2071 SC(189, 51, 49, 2, yes, no, 0, no) \
2072 SC(190, 51, 49, 3, yes, no, 0, no) \
2073 SC(191, 51, 49, 4, yes, no, 0, no) \
2075 SC(192, 52, 50, 1, yes, no, 0, no) \
2076 SC(193, 52, 50, 2, yes, no, 0, no) \
2077 SC(194, 52, 50, 3, yes, no, 0, no) \
2078 SC(195, 52, 50, 4, yes, no, 0, no) \
2080 SC(196, 53, 51, 1, yes, no, 0, no) \
2081 SC(197, 53, 51, 2, yes, no, 0, no) \
2082 SC(198, 53, 51, 3, yes, no, 0, no) \
2083 SC(199, 53, 51, 4, yes, no, 0, no) \
2085 SC(200, 54, 52, 1, yes, no, 0, no) \
2086 SC(201, 54, 52, 2, yes, no, 0, no) \
2087 SC(202, 54, 52, 3, yes, no, 0, no) \
2088 SC(203, 54, 52, 4, yes, no, 0, no) \
2090 SC(204, 55, 53, 1, yes, no, 0, no) \
2091 SC(205, 55, 53, 2, yes, no, 0, no) \
2092 SC(206, 55, 53, 3, yes, no, 0, no) \
2093 SC(207, 55, 53, 4, yes, no, 0, no) \
2095 SC(208, 56, 54, 1, yes, no, 0, no) \
2096 SC(209, 56, 54, 2, yes, no, 0, no) \
2097 SC(210, 56, 54, 3, yes, no, 0, no) \
2098 SC(211, 56, 54, 4, yes, no, 0, no) \
2100 SC(212, 57, 55, 1, yes, no, 0, no) \
2101 SC(213, 57, 55, 2, yes, no, 0, no) \
2102 SC(214, 57, 55, 3, yes, no, 0, no) \
2103 SC(215, 57, 55, 4, yes, no, 0, no) \
2105 SC(216, 58, 56, 1, yes, no, 0, no) \
2106 SC(217, 58, 56, 2, yes, no, 0, no) \
2107 SC(218, 58, 56, 3, yes, no, 0, no) \
2108 SC(219, 58, 56, 4, yes, no, 0, no) \
2110 SC(220, 59, 57, 1, yes, no, 0, no) \
2111 SC(221, 59, 57, 2, yes, no, 0, no) \
2112 SC(222, 59, 57, 3, yes, no, 0, no) \
2113 SC(223, 59, 57, 4, yes, no, 0, no) \
2115 SC(224, 60, 58, 1, yes, no, 0, no) \
2116 SC(225, 60, 58, 2, yes, no, 0, no) \
2117 SC(226, 60, 58, 3, yes, no, 0, no) \
2118 SC(227, 60, 58, 4, yes, no, 0, no) \
2120 SC(228, 61, 59, 1, yes, no, 0, no) \
2121 SC(229, 61, 59, 2, yes, no, 0, no) \
2122 SC(230, 61, 59, 3, yes, no, 0, no) \
2123 SC(231, 61, 59, 4, yes, no, 0, no) \
2125 SC(232, 62, 60, 1, yes, no, 0, no) \
2126 SC(233, 62, 60, 2, yes, no, 0, no) \
2127 SC(234, 62, 60, 3, yes, no, 0, no) \
2129 #define SIZE_CLASSES_DEFINED
2134 #define LG_CEIL_NSIZES 8
2136 #define LG_TINY_MAXCLASS "NA"
2137 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
2138 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11))
2139 #define LG_LARGE_MINCLASS 14
2140 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
2141 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
2144 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 13)
2145 #define SIZE_CLASSES \
2146 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
2147 SC( 0, 3, 3, 0, no, yes, 1, 3) \
2148 SC( 1, 3, 3, 1, no, yes, 1, 3) \
2149 SC( 2, 3, 3, 2, no, yes, 3, 3) \
2150 SC( 3, 3, 3, 3, no, yes, 1, 3) \
2152 SC( 4, 5, 3, 1, no, yes, 5, 3) \
2153 SC( 5, 5, 3, 2, no, yes, 3, 3) \
2154 SC( 6, 5, 3, 3, no, yes, 7, 3) \
2155 SC( 7, 5, 3, 4, no, yes, 1, 3) \
2157 SC( 8, 6, 4, 1, no, yes, 5, 4) \
2158 SC( 9, 6, 4, 2, no, yes, 3, 4) \
2159 SC( 10, 6, 4, 3, no, yes, 7, 4) \
2160 SC( 11, 6, 4, 4, no, yes, 1, 4) \
2162 SC( 12, 7, 5, 1, no, yes, 5, 5) \
2163 SC( 13, 7, 5, 2, no, yes, 3, 5) \
2164 SC( 14, 7, 5, 3, no, yes, 7, 5) \
2165 SC( 15, 7, 5, 4, no, yes, 1, 5) \
2167 SC( 16, 8, 6, 1, no, yes, 5, 6) \
2168 SC( 17, 8, 6, 2, no, yes, 3, 6) \
2169 SC( 18, 8, 6, 3, no, yes, 7, 6) \
2170 SC( 19, 8, 6, 4, no, yes, 1, 6) \
2172 SC( 20, 9, 7, 1, no, yes, 5, 7) \
2173 SC( 21, 9, 7, 2, no, yes, 3, 7) \
2174 SC( 22, 9, 7, 3, no, yes, 7, 7) \
2175 SC( 23, 9, 7, 4, no, yes, 1, 7) \
2177 SC( 24, 10, 8, 1, no, yes, 5, 8) \
2178 SC( 25, 10, 8, 2, no, yes, 3, 8) \
2179 SC( 26, 10, 8, 3, no, yes, 7, 8) \
2180 SC( 27, 10, 8, 4, no, yes, 1, 8) \
2182 SC( 28, 11, 9, 1, no, yes, 5, 9) \
2183 SC( 29, 11, 9, 2, no, yes, 3, 9) \
2184 SC( 30, 11, 9, 3, no, yes, 7, 9) \
2185 SC( 31, 11, 9, 4, no, yes, 1, 9) \
2187 SC( 32, 12, 10, 1, no, yes, 5, no) \
2188 SC( 33, 12, 10, 2, no, yes, 3, no) \
2189 SC( 34, 12, 10, 3, no, yes, 7, no) \
2190 SC( 35, 12, 10, 4, yes, yes, 1, no) \
2192 SC( 36, 13, 11, 1, no, yes, 5, no) \
2193 SC( 37, 13, 11, 2, no, yes, 3, no) \
2194 SC( 38, 13, 11, 3, no, yes, 7, no) \
2195 SC( 39, 13, 11, 4, yes, yes, 2, no) \
2197 SC( 40, 14, 12, 1, no, yes, 5, no) \
2198 SC( 41, 14, 12, 2, yes, yes, 3, no) \
2199 SC( 42, 14, 12, 3, no, yes, 7, no) \
2200 SC( 43, 14, 12, 4, yes, no, 0, no) \
2202 SC( 44, 15, 13, 1, yes, no, 0, no) \
2203 SC( 45, 15, 13, 2, yes, no, 0, no) \
2204 SC( 46, 15, 13, 3, yes, no, 0, no) \
2205 SC( 47, 15, 13, 4, yes, no, 0, no) \
2207 SC( 48, 16, 14, 1, yes, no, 0, no) \
2208 SC( 49, 16, 14, 2, yes, no, 0, no) \
2209 SC( 50, 16, 14, 3, yes, no, 0, no) \
2210 SC( 51, 16, 14, 4, yes, no, 0, no) \
2212 SC( 52, 17, 15, 1, yes, no, 0, no) \
2213 SC( 53, 17, 15, 2, yes, no, 0, no) \
2214 SC( 54, 17, 15, 3, yes, no, 0, no) \
2215 SC( 55, 17, 15, 4, yes, no, 0, no) \
2217 SC( 56, 18, 16, 1, yes, no, 0, no) \
2218 SC( 57, 18, 16, 2, yes, no, 0, no) \
2219 SC( 58, 18, 16, 3, yes, no, 0, no) \
2220 SC( 59, 18, 16, 4, yes, no, 0, no) \
2222 SC( 60, 19, 17, 1, yes, no, 0, no) \
2223 SC( 61, 19, 17, 2, yes, no, 0, no) \
2224 SC( 62, 19, 17, 3, yes, no, 0, no) \
2225 SC( 63, 19, 17, 4, yes, no, 0, no) \
2227 SC( 64, 20, 18, 1, yes, no, 0, no) \
2228 SC( 65, 20, 18, 2, yes, no, 0, no) \
2229 SC( 66, 20, 18, 3, yes, no, 0, no) \
2230 SC( 67, 20, 18, 4, yes, no, 0, no) \
2232 SC( 68, 21, 19, 1, yes, no, 0, no) \
2233 SC( 69, 21, 19, 2, yes, no, 0, no) \
2234 SC( 70, 21, 19, 3, yes, no, 0, no) \
2235 SC( 71, 21, 19, 4, yes, no, 0, no) \
2237 SC( 72, 22, 20, 1, yes, no, 0, no) \
2238 SC( 73, 22, 20, 2, yes, no, 0, no) \
2239 SC( 74, 22, 20, 3, yes, no, 0, no) \
2240 SC( 75, 22, 20, 4, yes, no, 0, no) \
2242 SC( 76, 23, 21, 1, yes, no, 0, no) \
2243 SC( 77, 23, 21, 2, yes, no, 0, no) \
2244 SC( 78, 23, 21, 3, yes, no, 0, no) \
2245 SC( 79, 23, 21, 4, yes, no, 0, no) \
2247 SC( 80, 24, 22, 1, yes, no, 0, no) \
2248 SC( 81, 24, 22, 2, yes, no, 0, no) \
2249 SC( 82, 24, 22, 3, yes, no, 0, no) \
2250 SC( 83, 24, 22, 4, yes, no, 0, no) \
2252 SC( 84, 25, 23, 1, yes, no, 0, no) \
2253 SC( 85, 25, 23, 2, yes, no, 0, no) \
2254 SC( 86, 25, 23, 3, yes, no, 0, no) \
2255 SC( 87, 25, 23, 4, yes, no, 0, no) \
2257 SC( 88, 26, 24, 1, yes, no, 0, no) \
2258 SC( 89, 26, 24, 2, yes, no, 0, no) \
2259 SC( 90, 26, 24, 3, yes, no, 0, no) \
2260 SC( 91, 26, 24, 4, yes, no, 0, no) \
2262 SC( 92, 27, 25, 1, yes, no, 0, no) \
2263 SC( 93, 27, 25, 2, yes, no, 0, no) \
2264 SC( 94, 27, 25, 3, yes, no, 0, no) \
2265 SC( 95, 27, 25, 4, yes, no, 0, no) \
2267 SC( 96, 28, 26, 1, yes, no, 0, no) \
2268 SC( 97, 28, 26, 2, yes, no, 0, no) \
2269 SC( 98, 28, 26, 3, yes, no, 0, no) \
2270 SC( 99, 28, 26, 4, yes, no, 0, no) \
2272 SC(100, 29, 27, 1, yes, no, 0, no) \
2273 SC(101, 29, 27, 2, yes, no, 0, no) \
2274 SC(102, 29, 27, 3, yes, no, 0, no) \
2275 SC(103, 29, 27, 4, yes, no, 0, no) \
2277 SC(104, 30, 28, 1, yes, no, 0, no) \
2278 SC(105, 30, 28, 2, yes, no, 0, no) \
2279 SC(106, 30, 28, 3, yes, no, 0, no) \
2280 SC(107, 30, 28, 4, yes, no, 0, no) \
2282 SC(108, 31, 29, 1, yes, no, 0, no) \
2283 SC(109, 31, 29, 2, yes, no, 0, no) \
2284 SC(110, 31, 29, 3, yes, no, 0, no) \
2285 SC(111, 31, 29, 4, yes, no, 0, no) \
2287 SC(112, 32, 30, 1, yes, no, 0, no) \
2288 SC(113, 32, 30, 2, yes, no, 0, no) \
2289 SC(114, 32, 30, 3, yes, no, 0, no) \
2290 SC(115, 32, 30, 4, yes, no, 0, no) \
2292 SC(116, 33, 31, 1, yes, no, 0, no) \
2293 SC(117, 33, 31, 2, yes, no, 0, no) \
2294 SC(118, 33, 31, 3, yes, no, 0, no) \
2295 SC(119, 33, 31, 4, yes, no, 0, no) \
2297 SC(120, 34, 32, 1, yes, no, 0, no) \
2298 SC(121, 34, 32, 2, yes, no, 0, no) \
2299 SC(122, 34, 32, 3, yes, no, 0, no) \
2300 SC(123, 34, 32, 4, yes, no, 0, no) \
2302 SC(124, 35, 33, 1, yes, no, 0, no) \
2303 SC(125, 35, 33, 2, yes, no, 0, no) \
2304 SC(126, 35, 33, 3, yes, no, 0, no) \
2305 SC(127, 35, 33, 4, yes, no, 0, no) \
2307 SC(128, 36, 34, 1, yes, no, 0, no) \
2308 SC(129, 36, 34, 2, yes, no, 0, no) \
2309 SC(130, 36, 34, 3, yes, no, 0, no) \
2310 SC(131, 36, 34, 4, yes, no, 0, no) \
2312 SC(132, 37, 35, 1, yes, no, 0, no) \
2313 SC(133, 37, 35, 2, yes, no, 0, no) \
2314 SC(134, 37, 35, 3, yes, no, 0, no) \
2315 SC(135, 37, 35, 4, yes, no, 0, no) \
2317 SC(136, 38, 36, 1, yes, no, 0, no) \
2318 SC(137, 38, 36, 2, yes, no, 0, no) \
2319 SC(138, 38, 36, 3, yes, no, 0, no) \
2320 SC(139, 38, 36, 4, yes, no, 0, no) \
2322 SC(140, 39, 37, 1, yes, no, 0, no) \
2323 SC(141, 39, 37, 2, yes, no, 0, no) \
2324 SC(142, 39, 37, 3, yes, no, 0, no) \
2325 SC(143, 39, 37, 4, yes, no, 0, no) \
2327 SC(144, 40, 38, 1, yes, no, 0, no) \
2328 SC(145, 40, 38, 2, yes, no, 0, no) \
2329 SC(146, 40, 38, 3, yes, no, 0, no) \
2330 SC(147, 40, 38, 4, yes, no, 0, no) \
2332 SC(148, 41, 39, 1, yes, no, 0, no) \
2333 SC(149, 41, 39, 2, yes, no, 0, no) \
2334 SC(150, 41, 39, 3, yes, no, 0, no) \
2335 SC(151, 41, 39, 4, yes, no, 0, no) \
2337 SC(152, 42, 40, 1, yes, no, 0, no) \
2338 SC(153, 42, 40, 2, yes, no, 0, no) \
2339 SC(154, 42, 40, 3, yes, no, 0, no) \
2340 SC(155, 42, 40, 4, yes, no, 0, no) \
2342 SC(156, 43, 41, 1, yes, no, 0, no) \
2343 SC(157, 43, 41, 2, yes, no, 0, no) \
2344 SC(158, 43, 41, 3, yes, no, 0, no) \
2345 SC(159, 43, 41, 4, yes, no, 0, no) \
2347 SC(160, 44, 42, 1, yes, no, 0, no) \
2348 SC(161, 44, 42, 2, yes, no, 0, no) \
2349 SC(162, 44, 42, 3, yes, no, 0, no) \
2350 SC(163, 44, 42, 4, yes, no, 0, no) \
2352 SC(164, 45, 43, 1, yes, no, 0, no) \
2353 SC(165, 45, 43, 2, yes, no, 0, no) \
2354 SC(166, 45, 43, 3, yes, no, 0, no) \
2355 SC(167, 45, 43, 4, yes, no, 0, no) \
2357 SC(168, 46, 44, 1, yes, no, 0, no) \
2358 SC(169, 46, 44, 2, yes, no, 0, no) \
2359 SC(170, 46, 44, 3, yes, no, 0, no) \
2360 SC(171, 46, 44, 4, yes, no, 0, no) \
2362 SC(172, 47, 45, 1, yes, no, 0, no) \
2363 SC(173, 47, 45, 2, yes, no, 0, no) \
2364 SC(174, 47, 45, 3, yes, no, 0, no) \
2365 SC(175, 47, 45, 4, yes, no, 0, no) \
2367 SC(176, 48, 46, 1, yes, no, 0, no) \
2368 SC(177, 48, 46, 2, yes, no, 0, no) \
2369 SC(178, 48, 46, 3, yes, no, 0, no) \
2370 SC(179, 48, 46, 4, yes, no, 0, no) \
2372 SC(180, 49, 47, 1, yes, no, 0, no) \
2373 SC(181, 49, 47, 2, yes, no, 0, no) \
2374 SC(182, 49, 47, 3, yes, no, 0, no) \
2375 SC(183, 49, 47, 4, yes, no, 0, no) \
2377 SC(184, 50, 48, 1, yes, no, 0, no) \
2378 SC(185, 50, 48, 2, yes, no, 0, no) \
2379 SC(186, 50, 48, 3, yes, no, 0, no) \
2380 SC(187, 50, 48, 4, yes, no, 0, no) \
2382 SC(188, 51, 49, 1, yes, no, 0, no) \
2383 SC(189, 51, 49, 2, yes, no, 0, no) \
2384 SC(190, 51, 49, 3, yes, no, 0, no) \
2385 SC(191, 51, 49, 4, yes, no, 0, no) \
2387 SC(192, 52, 50, 1, yes, no, 0, no) \
2388 SC(193, 52, 50, 2, yes, no, 0, no) \
2389 SC(194, 52, 50, 3, yes, no, 0, no) \
2390 SC(195, 52, 50, 4, yes, no, 0, no) \
2392 SC(196, 53, 51, 1, yes, no, 0, no) \
2393 SC(197, 53, 51, 2, yes, no, 0, no) \
2394 SC(198, 53, 51, 3, yes, no, 0, no) \
2395 SC(199, 53, 51, 4, yes, no, 0, no) \
2397 SC(200, 54, 52, 1, yes, no, 0, no) \
2398 SC(201, 54, 52, 2, yes, no, 0, no) \
2399 SC(202, 54, 52, 3, yes, no, 0, no) \
2400 SC(203, 54, 52, 4, yes, no, 0, no) \
2402 SC(204, 55, 53, 1, yes, no, 0, no) \
2403 SC(205, 55, 53, 2, yes, no, 0, no) \
2404 SC(206, 55, 53, 3, yes, no, 0, no) \
2405 SC(207, 55, 53, 4, yes, no, 0, no) \
2407 SC(208, 56, 54, 1, yes, no, 0, no) \
2408 SC(209, 56, 54, 2, yes, no, 0, no) \
2409 SC(210, 56, 54, 3, yes, no, 0, no) \
2410 SC(211, 56, 54, 4, yes, no, 0, no) \
2412 SC(212, 57, 55, 1, yes, no, 0, no) \
2413 SC(213, 57, 55, 2, yes, no, 0, no) \
2414 SC(214, 57, 55, 3, yes, no, 0, no) \
2415 SC(215, 57, 55, 4, yes, no, 0, no) \
2417 SC(216, 58, 56, 1, yes, no, 0, no) \
2418 SC(217, 58, 56, 2, yes, no, 0, no) \
2419 SC(218, 58, 56, 3, yes, no, 0, no) \
2420 SC(219, 58, 56, 4, yes, no, 0, no) \
2422 SC(220, 59, 57, 1, yes, no, 0, no) \
2423 SC(221, 59, 57, 2, yes, no, 0, no) \
2424 SC(222, 59, 57, 3, yes, no, 0, no) \
2425 SC(223, 59, 57, 4, yes, no, 0, no) \
2427 SC(224, 60, 58, 1, yes, no, 0, no) \
2428 SC(225, 60, 58, 2, yes, no, 0, no) \
2429 SC(226, 60, 58, 3, yes, no, 0, no) \
2430 SC(227, 60, 58, 4, yes, no, 0, no) \
2432 SC(228, 61, 59, 1, yes, no, 0, no) \
2433 SC(229, 61, 59, 2, yes, no, 0, no) \
2434 SC(230, 61, 59, 3, yes, no, 0, no) \
2435 SC(231, 61, 59, 4, yes, no, 0, no) \
2437 SC(232, 62, 60, 1, yes, no, 0, no) \
2438 SC(233, 62, 60, 2, yes, no, 0, no) \
2439 SC(234, 62, 60, 3, yes, no, 0, no) \
2441 #define SIZE_CLASSES_DEFINED
2446 #define LG_CEIL_NSIZES 8
2448 #define LG_TINY_MAXCLASS "NA"
2449 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
2450 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12))
2451 #define LG_LARGE_MINCLASS 15
2452 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
2453 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
2456 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 14)
2457 #define SIZE_CLASSES \
2458 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
2459 SC( 0, 3, 3, 0, no, yes, 1, 3) \
2460 SC( 1, 3, 3, 1, no, yes, 1, 3) \
2461 SC( 2, 3, 3, 2, no, yes, 3, 3) \
2462 SC( 3, 3, 3, 3, no, yes, 1, 3) \
2464 SC( 4, 5, 3, 1, no, yes, 5, 3) \
2465 SC( 5, 5, 3, 2, no, yes, 3, 3) \
2466 SC( 6, 5, 3, 3, no, yes, 7, 3) \
2467 SC( 7, 5, 3, 4, no, yes, 1, 3) \
2469 SC( 8, 6, 4, 1, no, yes, 5, 4) \
2470 SC( 9, 6, 4, 2, no, yes, 3, 4) \
2471 SC( 10, 6, 4, 3, no, yes, 7, 4) \
2472 SC( 11, 6, 4, 4, no, yes, 1, 4) \
2474 SC( 12, 7, 5, 1, no, yes, 5, 5) \
2475 SC( 13, 7, 5, 2, no, yes, 3, 5) \
2476 SC( 14, 7, 5, 3, no, yes, 7, 5) \
2477 SC( 15, 7, 5, 4, no, yes, 1, 5) \
2479 SC( 16, 8, 6, 1, no, yes, 5, 6) \
2480 SC( 17, 8, 6, 2, no, yes, 3, 6) \
2481 SC( 18, 8, 6, 3, no, yes, 7, 6) \
2482 SC( 19, 8, 6, 4, no, yes, 1, 6) \
2484 SC( 20, 9, 7, 1, no, yes, 5, 7) \
2485 SC( 21, 9, 7, 2, no, yes, 3, 7) \
2486 SC( 22, 9, 7, 3, no, yes, 7, 7) \
2487 SC( 23, 9, 7, 4, no, yes, 1, 7) \
2489 SC( 24, 10, 8, 1, no, yes, 5, 8) \
2490 SC( 25, 10, 8, 2, no, yes, 3, 8) \
2491 SC( 26, 10, 8, 3, no, yes, 7, 8) \
2492 SC( 27, 10, 8, 4, no, yes, 1, 8) \
2494 SC( 28, 11, 9, 1, no, yes, 5, 9) \
2495 SC( 29, 11, 9, 2, no, yes, 3, 9) \
2496 SC( 30, 11, 9, 3, no, yes, 7, 9) \
2497 SC( 31, 11, 9, 4, no, yes, 1, 9) \
2499 SC( 32, 12, 10, 1, no, yes, 5, no) \
2500 SC( 33, 12, 10, 2, no, yes, 3, no) \
2501 SC( 34, 12, 10, 3, no, yes, 7, no) \
2502 SC( 35, 12, 10, 4, no, yes, 1, no) \
2504 SC( 36, 13, 11, 1, no, yes, 5, no) \
2505 SC( 37, 13, 11, 2, no, yes, 3, no) \
2506 SC( 38, 13, 11, 3, no, yes, 7, no) \
2507 SC( 39, 13, 11, 4, yes, yes, 1, no) \
2509 SC( 40, 14, 12, 1, no, yes, 5, no) \
2510 SC( 41, 14, 12, 2, no, yes, 3, no) \
2511 SC( 42, 14, 12, 3, no, yes, 7, no) \
2512 SC( 43, 14, 12, 4, yes, yes, 2, no) \
2514 SC( 44, 15, 13, 1, no, yes, 5, no) \
2515 SC( 45, 15, 13, 2, yes, yes, 3, no) \
2516 SC( 46, 15, 13, 3, no, yes, 7, no) \
2517 SC( 47, 15, 13, 4, yes, no, 0, no) \
2519 SC( 48, 16, 14, 1, yes, no, 0, no) \
2520 SC( 49, 16, 14, 2, yes, no, 0, no) \
2521 SC( 50, 16, 14, 3, yes, no, 0, no) \
2522 SC( 51, 16, 14, 4, yes, no, 0, no) \
2524 SC( 52, 17, 15, 1, yes, no, 0, no) \
2525 SC( 53, 17, 15, 2, yes, no, 0, no) \
2526 SC( 54, 17, 15, 3, yes, no, 0, no) \
2527 SC( 55, 17, 15, 4, yes, no, 0, no) \
2529 SC( 56, 18, 16, 1, yes, no, 0, no) \
2530 SC( 57, 18, 16, 2, yes, no, 0, no) \
2531 SC( 58, 18, 16, 3, yes, no, 0, no) \
2532 SC( 59, 18, 16, 4, yes, no, 0, no) \
2534 SC( 60, 19, 17, 1, yes, no, 0, no) \
2535 SC( 61, 19, 17, 2, yes, no, 0, no) \
2536 SC( 62, 19, 17, 3, yes, no, 0, no) \
2537 SC( 63, 19, 17, 4, yes, no, 0, no) \
2539 SC( 64, 20, 18, 1, yes, no, 0, no) \
2540 SC( 65, 20, 18, 2, yes, no, 0, no) \
2541 SC( 66, 20, 18, 3, yes, no, 0, no) \
2542 SC( 67, 20, 18, 4, yes, no, 0, no) \
2544 SC( 68, 21, 19, 1, yes, no, 0, no) \
2545 SC( 69, 21, 19, 2, yes, no, 0, no) \
2546 SC( 70, 21, 19, 3, yes, no, 0, no) \
2547 SC( 71, 21, 19, 4, yes, no, 0, no) \
2549 SC( 72, 22, 20, 1, yes, no, 0, no) \
2550 SC( 73, 22, 20, 2, yes, no, 0, no) \
2551 SC( 74, 22, 20, 3, yes, no, 0, no) \
2552 SC( 75, 22, 20, 4, yes, no, 0, no) \
2554 SC( 76, 23, 21, 1, yes, no, 0, no) \
2555 SC( 77, 23, 21, 2, yes, no, 0, no) \
2556 SC( 78, 23, 21, 3, yes, no, 0, no) \
2557 SC( 79, 23, 21, 4, yes, no, 0, no) \
2559 SC( 80, 24, 22, 1, yes, no, 0, no) \
2560 SC( 81, 24, 22, 2, yes, no, 0, no) \
2561 SC( 82, 24, 22, 3, yes, no, 0, no) \
2562 SC( 83, 24, 22, 4, yes, no, 0, no) \
2564 SC( 84, 25, 23, 1, yes, no, 0, no) \
2565 SC( 85, 25, 23, 2, yes, no, 0, no) \
2566 SC( 86, 25, 23, 3, yes, no, 0, no) \
2567 SC( 87, 25, 23, 4, yes, no, 0, no) \
2569 SC( 88, 26, 24, 1, yes, no, 0, no) \
2570 SC( 89, 26, 24, 2, yes, no, 0, no) \
2571 SC( 90, 26, 24, 3, yes, no, 0, no) \
2572 SC( 91, 26, 24, 4, yes, no, 0, no) \
2574 SC( 92, 27, 25, 1, yes, no, 0, no) \
2575 SC( 93, 27, 25, 2, yes, no, 0, no) \
2576 SC( 94, 27, 25, 3, yes, no, 0, no) \
2577 SC( 95, 27, 25, 4, yes, no, 0, no) \
2579 SC( 96, 28, 26, 1, yes, no, 0, no) \
2580 SC( 97, 28, 26, 2, yes, no, 0, no) \
2581 SC( 98, 28, 26, 3, yes, no, 0, no) \
2582 SC( 99, 28, 26, 4, yes, no, 0, no) \
2584 SC(100, 29, 27, 1, yes, no, 0, no) \
2585 SC(101, 29, 27, 2, yes, no, 0, no) \
2586 SC(102, 29, 27, 3, yes, no, 0, no) \
2587 SC(103, 29, 27, 4, yes, no, 0, no) \
2589 SC(104, 30, 28, 1, yes, no, 0, no) \
2590 SC(105, 30, 28, 2, yes, no, 0, no) \
2591 SC(106, 30, 28, 3, yes, no, 0, no) \
2592 SC(107, 30, 28, 4, yes, no, 0, no) \
2594 SC(108, 31, 29, 1, yes, no, 0, no) \
2595 SC(109, 31, 29, 2, yes, no, 0, no) \
2596 SC(110, 31, 29, 3, yes, no, 0, no) \
2597 SC(111, 31, 29, 4, yes, no, 0, no) \
2599 SC(112, 32, 30, 1, yes, no, 0, no) \
2600 SC(113, 32, 30, 2, yes, no, 0, no) \
2601 SC(114, 32, 30, 3, yes, no, 0, no) \
2602 SC(115, 32, 30, 4, yes, no, 0, no) \
2604 SC(116, 33, 31, 1, yes, no, 0, no) \
2605 SC(117, 33, 31, 2, yes, no, 0, no) \
2606 SC(118, 33, 31, 3, yes, no, 0, no) \
2607 SC(119, 33, 31, 4, yes, no, 0, no) \
2609 SC(120, 34, 32, 1, yes, no, 0, no) \
2610 SC(121, 34, 32, 2, yes, no, 0, no) \
2611 SC(122, 34, 32, 3, yes, no, 0, no) \
2612 SC(123, 34, 32, 4, yes, no, 0, no) \
2614 SC(124, 35, 33, 1, yes, no, 0, no) \
2615 SC(125, 35, 33, 2, yes, no, 0, no) \
2616 SC(126, 35, 33, 3, yes, no, 0, no) \
2617 SC(127, 35, 33, 4, yes, no, 0, no) \
2619 SC(128, 36, 34, 1, yes, no, 0, no) \
2620 SC(129, 36, 34, 2, yes, no, 0, no) \
2621 SC(130, 36, 34, 3, yes, no, 0, no) \
2622 SC(131, 36, 34, 4, yes, no, 0, no) \
2624 SC(132, 37, 35, 1, yes, no, 0, no) \
2625 SC(133, 37, 35, 2, yes, no, 0, no) \
2626 SC(134, 37, 35, 3, yes, no, 0, no) \
2627 SC(135, 37, 35, 4, yes, no, 0, no) \
2629 SC(136, 38, 36, 1, yes, no, 0, no) \
2630 SC(137, 38, 36, 2, yes, no, 0, no) \
2631 SC(138, 38, 36, 3, yes, no, 0, no) \
2632 SC(139, 38, 36, 4, yes, no, 0, no) \
2634 SC(140, 39, 37, 1, yes, no, 0, no) \
2635 SC(141, 39, 37, 2, yes, no, 0, no) \
2636 SC(142, 39, 37, 3, yes, no, 0, no) \
2637 SC(143, 39, 37, 4, yes, no, 0, no) \
2639 SC(144, 40, 38, 1, yes, no, 0, no) \
2640 SC(145, 40, 38, 2, yes, no, 0, no) \
2641 SC(146, 40, 38, 3, yes, no, 0, no) \
2642 SC(147, 40, 38, 4, yes, no, 0, no) \
2644 SC(148, 41, 39, 1, yes, no, 0, no) \
2645 SC(149, 41, 39, 2, yes, no, 0, no) \
2646 SC(150, 41, 39, 3, yes, no, 0, no) \
2647 SC(151, 41, 39, 4, yes, no, 0, no) \
2649 SC(152, 42, 40, 1, yes, no, 0, no) \
2650 SC(153, 42, 40, 2, yes, no, 0, no) \
2651 SC(154, 42, 40, 3, yes, no, 0, no) \
2652 SC(155, 42, 40, 4, yes, no, 0, no) \
2654 SC(156, 43, 41, 1, yes, no, 0, no) \
2655 SC(157, 43, 41, 2, yes, no, 0, no) \
2656 SC(158, 43, 41, 3, yes, no, 0, no) \
2657 SC(159, 43, 41, 4, yes, no, 0, no) \
2659 SC(160, 44, 42, 1, yes, no, 0, no) \
2660 SC(161, 44, 42, 2, yes, no, 0, no) \
2661 SC(162, 44, 42, 3, yes, no, 0, no) \
2662 SC(163, 44, 42, 4, yes, no, 0, no) \
2664 SC(164, 45, 43, 1, yes, no, 0, no) \
2665 SC(165, 45, 43, 2, yes, no, 0, no) \
2666 SC(166, 45, 43, 3, yes, no, 0, no) \
2667 SC(167, 45, 43, 4, yes, no, 0, no) \
2669 SC(168, 46, 44, 1, yes, no, 0, no) \
2670 SC(169, 46, 44, 2, yes, no, 0, no) \
2671 SC(170, 46, 44, 3, yes, no, 0, no) \
2672 SC(171, 46, 44, 4, yes, no, 0, no) \
2674 SC(172, 47, 45, 1, yes, no, 0, no) \
2675 SC(173, 47, 45, 2, yes, no, 0, no) \
2676 SC(174, 47, 45, 3, yes, no, 0, no) \
2677 SC(175, 47, 45, 4, yes, no, 0, no) \
2679 SC(176, 48, 46, 1, yes, no, 0, no) \
2680 SC(177, 48, 46, 2, yes, no, 0, no) \
2681 SC(178, 48, 46, 3, yes, no, 0, no) \
2682 SC(179, 48, 46, 4, yes, no, 0, no) \
2684 SC(180, 49, 47, 1, yes, no, 0, no) \
2685 SC(181, 49, 47, 2, yes, no, 0, no) \
2686 SC(182, 49, 47, 3, yes, no, 0, no) \
2687 SC(183, 49, 47, 4, yes, no, 0, no) \
2689 SC(184, 50, 48, 1, yes, no, 0, no) \
2690 SC(185, 50, 48, 2, yes, no, 0, no) \
2691 SC(186, 50, 48, 3, yes, no, 0, no) \
2692 SC(187, 50, 48, 4, yes, no, 0, no) \
2694 SC(188, 51, 49, 1, yes, no, 0, no) \
2695 SC(189, 51, 49, 2, yes, no, 0, no) \
2696 SC(190, 51, 49, 3, yes, no, 0, no) \
2697 SC(191, 51, 49, 4, yes, no, 0, no) \
2699 SC(192, 52, 50, 1, yes, no, 0, no) \
2700 SC(193, 52, 50, 2, yes, no, 0, no) \
2701 SC(194, 52, 50, 3, yes, no, 0, no) \
2702 SC(195, 52, 50, 4, yes, no, 0, no) \
2704 SC(196, 53, 51, 1, yes, no, 0, no) \
2705 SC(197, 53, 51, 2, yes, no, 0, no) \
2706 SC(198, 53, 51, 3, yes, no, 0, no) \
2707 SC(199, 53, 51, 4, yes, no, 0, no) \
2709 SC(200, 54, 52, 1, yes, no, 0, no) \
2710 SC(201, 54, 52, 2, yes, no, 0, no) \
2711 SC(202, 54, 52, 3, yes, no, 0, no) \
2712 SC(203, 54, 52, 4, yes, no, 0, no) \
2714 SC(204, 55, 53, 1, yes, no, 0, no) \
2715 SC(205, 55, 53, 2, yes, no, 0, no) \
2716 SC(206, 55, 53, 3, yes, no, 0, no) \
2717 SC(207, 55, 53, 4, yes, no, 0, no) \
2719 SC(208, 56, 54, 1, yes, no, 0, no) \
2720 SC(209, 56, 54, 2, yes, no, 0, no) \
2721 SC(210, 56, 54, 3, yes, no, 0, no) \
2722 SC(211, 56, 54, 4, yes, no, 0, no) \
2724 SC(212, 57, 55, 1, yes, no, 0, no) \
2725 SC(213, 57, 55, 2, yes, no, 0, no) \
2726 SC(214, 57, 55, 3, yes, no, 0, no) \
2727 SC(215, 57, 55, 4, yes, no, 0, no) \
2729 SC(216, 58, 56, 1, yes, no, 0, no) \
2730 SC(217, 58, 56, 2, yes, no, 0, no) \
2731 SC(218, 58, 56, 3, yes, no, 0, no) \
2732 SC(219, 58, 56, 4, yes, no, 0, no) \
2734 SC(220, 59, 57, 1, yes, no, 0, no) \
2735 SC(221, 59, 57, 2, yes, no, 0, no) \
2736 SC(222, 59, 57, 3, yes, no, 0, no) \
2737 SC(223, 59, 57, 4, yes, no, 0, no) \
2739 SC(224, 60, 58, 1, yes, no, 0, no) \
2740 SC(225, 60, 58, 2, yes, no, 0, no) \
2741 SC(226, 60, 58, 3, yes, no, 0, no) \
2742 SC(227, 60, 58, 4, yes, no, 0, no) \
2744 SC(228, 61, 59, 1, yes, no, 0, no) \
2745 SC(229, 61, 59, 2, yes, no, 0, no) \
2746 SC(230, 61, 59, 3, yes, no, 0, no) \
2747 SC(231, 61, 59, 4, yes, no, 0, no) \
2749 SC(232, 62, 60, 1, yes, no, 0, no) \
2750 SC(233, 62, 60, 2, yes, no, 0, no) \
2751 SC(234, 62, 60, 3, yes, no, 0, no) \
2753 #define SIZE_CLASSES_DEFINED
2758 #define LG_CEIL_NSIZES 8
2760 #define LG_TINY_MAXCLASS "NA"
2761 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
2762 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
2763 #define LG_LARGE_MINCLASS 16
2764 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
2765 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
2768 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 16)
2769 #define SIZE_CLASSES \
2770 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
2771 SC( 0, 3, 3, 0, no, yes, 1, 3) \
2772 SC( 1, 3, 3, 1, no, yes, 1, 3) \
2773 SC( 2, 3, 3, 2, no, yes, 3, 3) \
2774 SC( 3, 3, 3, 3, no, yes, 1, 3) \
2776 SC( 4, 5, 3, 1, no, yes, 5, 3) \
2777 SC( 5, 5, 3, 2, no, yes, 3, 3) \
2778 SC( 6, 5, 3, 3, no, yes, 7, 3) \
2779 SC( 7, 5, 3, 4, no, yes, 1, 3) \
2781 SC( 8, 6, 4, 1, no, yes, 5, 4) \
2782 SC( 9, 6, 4, 2, no, yes, 3, 4) \
2783 SC( 10, 6, 4, 3, no, yes, 7, 4) \
2784 SC( 11, 6, 4, 4, no, yes, 1, 4) \
2786 SC( 12, 7, 5, 1, no, yes, 5, 5) \
2787 SC( 13, 7, 5, 2, no, yes, 3, 5) \
2788 SC( 14, 7, 5, 3, no, yes, 7, 5) \
2789 SC( 15, 7, 5, 4, no, yes, 1, 5) \
2791 SC( 16, 8, 6, 1, no, yes, 5, 6) \
2792 SC( 17, 8, 6, 2, no, yes, 3, 6) \
2793 SC( 18, 8, 6, 3, no, yes, 7, 6) \
2794 SC( 19, 8, 6, 4, no, yes, 1, 6) \
2796 SC( 20, 9, 7, 1, no, yes, 5, 7) \
2797 SC( 21, 9, 7, 2, no, yes, 3, 7) \
2798 SC( 22, 9, 7, 3, no, yes, 7, 7) \
2799 SC( 23, 9, 7, 4, no, yes, 1, 7) \
2801 SC( 24, 10, 8, 1, no, yes, 5, 8) \
2802 SC( 25, 10, 8, 2, no, yes, 3, 8) \
2803 SC( 26, 10, 8, 3, no, yes, 7, 8) \
2804 SC( 27, 10, 8, 4, no, yes, 1, 8) \
2806 SC( 28, 11, 9, 1, no, yes, 5, 9) \
2807 SC( 29, 11, 9, 2, no, yes, 3, 9) \
2808 SC( 30, 11, 9, 3, no, yes, 7, 9) \
2809 SC( 31, 11, 9, 4, no, yes, 1, 9) \
2811 SC( 32, 12, 10, 1, no, yes, 5, no) \
2812 SC( 33, 12, 10, 2, no, yes, 3, no) \
2813 SC( 34, 12, 10, 3, no, yes, 7, no) \
2814 SC( 35, 12, 10, 4, no, yes, 1, no) \
2816 SC( 36, 13, 11, 1, no, yes, 5, no) \
2817 SC( 37, 13, 11, 2, no, yes, 3, no) \
2818 SC( 38, 13, 11, 3, no, yes, 7, no) \
2819 SC( 39, 13, 11, 4, no, yes, 1, no) \
2821 SC( 40, 14, 12, 1, no, yes, 5, no) \
2822 SC( 41, 14, 12, 2, no, yes, 3, no) \
2823 SC( 42, 14, 12, 3, no, yes, 7, no) \
2824 SC( 43, 14, 12, 4, no, yes, 1, no) \
2826 SC( 44, 15, 13, 1, no, yes, 5, no) \
2827 SC( 45, 15, 13, 2, no, yes, 3, no) \
2828 SC( 46, 15, 13, 3, no, yes, 7, no) \
2829 SC( 47, 15, 13, 4, yes, yes, 1, no) \
2831 SC( 48, 16, 14, 1, no, yes, 5, no) \
2832 SC( 49, 16, 14, 2, no, yes, 3, no) \
2833 SC( 50, 16, 14, 3, no, yes, 7, no) \
2834 SC( 51, 16, 14, 4, yes, yes, 2, no) \
2836 SC( 52, 17, 15, 1, no, yes, 5, no) \
2837 SC( 53, 17, 15, 2, yes, yes, 3, no) \
2838 SC( 54, 17, 15, 3, no, yes, 7, no) \
2839 SC( 55, 17, 15, 4, yes, no, 0, no) \
2841 SC( 56, 18, 16, 1, yes, no, 0, no) \
2842 SC( 57, 18, 16, 2, yes, no, 0, no) \
2843 SC( 58, 18, 16, 3, yes, no, 0, no) \
2844 SC( 59, 18, 16, 4, yes, no, 0, no) \
2846 SC( 60, 19, 17, 1, yes, no, 0, no) \
2847 SC( 61, 19, 17, 2, yes, no, 0, no) \
2848 SC( 62, 19, 17, 3, yes, no, 0, no) \
2849 SC( 63, 19, 17, 4, yes, no, 0, no) \
2851 SC( 64, 20, 18, 1, yes, no, 0, no) \
2852 SC( 65, 20, 18, 2, yes, no, 0, no) \
2853 SC( 66, 20, 18, 3, yes, no, 0, no) \
2854 SC( 67, 20, 18, 4, yes, no, 0, no) \
2856 SC( 68, 21, 19, 1, yes, no, 0, no) \
2857 SC( 69, 21, 19, 2, yes, no, 0, no) \
2858 SC( 70, 21, 19, 3, yes, no, 0, no) \
2859 SC( 71, 21, 19, 4, yes, no, 0, no) \
2861 SC( 72, 22, 20, 1, yes, no, 0, no) \
2862 SC( 73, 22, 20, 2, yes, no, 0, no) \
2863 SC( 74, 22, 20, 3, yes, no, 0, no) \
2864 SC( 75, 22, 20, 4, yes, no, 0, no) \
2866 SC( 76, 23, 21, 1, yes, no, 0, no) \
2867 SC( 77, 23, 21, 2, yes, no, 0, no) \
2868 SC( 78, 23, 21, 3, yes, no, 0, no) \
2869 SC( 79, 23, 21, 4, yes, no, 0, no) \
2871 SC( 80, 24, 22, 1, yes, no, 0, no) \
2872 SC( 81, 24, 22, 2, yes, no, 0, no) \
2873 SC( 82, 24, 22, 3, yes, no, 0, no) \
2874 SC( 83, 24, 22, 4, yes, no, 0, no) \
2876 SC( 84, 25, 23, 1, yes, no, 0, no) \
2877 SC( 85, 25, 23, 2, yes, no, 0, no) \
2878 SC( 86, 25, 23, 3, yes, no, 0, no) \
2879 SC( 87, 25, 23, 4, yes, no, 0, no) \
2881 SC( 88, 26, 24, 1, yes, no, 0, no) \
2882 SC( 89, 26, 24, 2, yes, no, 0, no) \
2883 SC( 90, 26, 24, 3, yes, no, 0, no) \
2884 SC( 91, 26, 24, 4, yes, no, 0, no) \
2886 SC( 92, 27, 25, 1, yes, no, 0, no) \
2887 SC( 93, 27, 25, 2, yes, no, 0, no) \
2888 SC( 94, 27, 25, 3, yes, no, 0, no) \
2889 SC( 95, 27, 25, 4, yes, no, 0, no) \
2891 SC( 96, 28, 26, 1, yes, no, 0, no) \
2892 SC( 97, 28, 26, 2, yes, no, 0, no) \
2893 SC( 98, 28, 26, 3, yes, no, 0, no) \
2894 SC( 99, 28, 26, 4, yes, no, 0, no) \
2896 SC(100, 29, 27, 1, yes, no, 0, no) \
2897 SC(101, 29, 27, 2, yes, no, 0, no) \
2898 SC(102, 29, 27, 3, yes, no, 0, no) \
2899 SC(103, 29, 27, 4, yes, no, 0, no) \
2901 SC(104, 30, 28, 1, yes, no, 0, no) \
2902 SC(105, 30, 28, 2, yes, no, 0, no) \
2903 SC(106, 30, 28, 3, yes, no, 0, no) \
2904 SC(107, 30, 28, 4, yes, no, 0, no) \
2906 SC(108, 31, 29, 1, yes, no, 0, no) \
2907 SC(109, 31, 29, 2, yes, no, 0, no) \
2908 SC(110, 31, 29, 3, yes, no, 0, no) \
2909 SC(111, 31, 29, 4, yes, no, 0, no) \
2911 SC(112, 32, 30, 1, yes, no, 0, no) \
2912 SC(113, 32, 30, 2, yes, no, 0, no) \
2913 SC(114, 32, 30, 3, yes, no, 0, no) \
2914 SC(115, 32, 30, 4, yes, no, 0, no) \
2916 SC(116, 33, 31, 1, yes, no, 0, no) \
2917 SC(117, 33, 31, 2, yes, no, 0, no) \
2918 SC(118, 33, 31, 3, yes, no, 0, no) \
2919 SC(119, 33, 31, 4, yes, no, 0, no) \
2921 SC(120, 34, 32, 1, yes, no, 0, no) \
2922 SC(121, 34, 32, 2, yes, no, 0, no) \
2923 SC(122, 34, 32, 3, yes, no, 0, no) \
2924 SC(123, 34, 32, 4, yes, no, 0, no) \
2926 SC(124, 35, 33, 1, yes, no, 0, no) \
2927 SC(125, 35, 33, 2, yes, no, 0, no) \
2928 SC(126, 35, 33, 3, yes, no, 0, no) \
2929 SC(127, 35, 33, 4, yes, no, 0, no) \
2931 SC(128, 36, 34, 1, yes, no, 0, no) \
2932 SC(129, 36, 34, 2, yes, no, 0, no) \
2933 SC(130, 36, 34, 3, yes, no, 0, no) \
2934 SC(131, 36, 34, 4, yes, no, 0, no) \
2936 SC(132, 37, 35, 1, yes, no, 0, no) \
2937 SC(133, 37, 35, 2, yes, no, 0, no) \
2938 SC(134, 37, 35, 3, yes, no, 0, no) \
2939 SC(135, 37, 35, 4, yes, no, 0, no) \
2941 SC(136, 38, 36, 1, yes, no, 0, no) \
2942 SC(137, 38, 36, 2, yes, no, 0, no) \
2943 SC(138, 38, 36, 3, yes, no, 0, no) \
2944 SC(139, 38, 36, 4, yes, no, 0, no) \
2946 SC(140, 39, 37, 1, yes, no, 0, no) \
2947 SC(141, 39, 37, 2, yes, no, 0, no) \
2948 SC(142, 39, 37, 3, yes, no, 0, no) \
2949 SC(143, 39, 37, 4, yes, no, 0, no) \
2951 SC(144, 40, 38, 1, yes, no, 0, no) \
2952 SC(145, 40, 38, 2, yes, no, 0, no) \
2953 SC(146, 40, 38, 3, yes, no, 0, no) \
2954 SC(147, 40, 38, 4, yes, no, 0, no) \
2956 SC(148, 41, 39, 1, yes, no, 0, no) \
2957 SC(149, 41, 39, 2, yes, no, 0, no) \
2958 SC(150, 41, 39, 3, yes, no, 0, no) \
2959 SC(151, 41, 39, 4, yes, no, 0, no) \
2961 SC(152, 42, 40, 1, yes, no, 0, no) \
2962 SC(153, 42, 40, 2, yes, no, 0, no) \
2963 SC(154, 42, 40, 3, yes, no, 0, no) \
2964 SC(155, 42, 40, 4, yes, no, 0, no) \
2966 SC(156, 43, 41, 1, yes, no, 0, no) \
2967 SC(157, 43, 41, 2, yes, no, 0, no) \
2968 SC(158, 43, 41, 3, yes, no, 0, no) \
2969 SC(159, 43, 41, 4, yes, no, 0, no) \
2971 SC(160, 44, 42, 1, yes, no, 0, no) \
2972 SC(161, 44, 42, 2, yes, no, 0, no) \
2973 SC(162, 44, 42, 3, yes, no, 0, no) \
2974 SC(163, 44, 42, 4, yes, no, 0, no) \
2976 SC(164, 45, 43, 1, yes, no, 0, no) \
2977 SC(165, 45, 43, 2, yes, no, 0, no) \
2978 SC(166, 45, 43, 3, yes, no, 0, no) \
2979 SC(167, 45, 43, 4, yes, no, 0, no) \
2981 SC(168, 46, 44, 1, yes, no, 0, no) \
2982 SC(169, 46, 44, 2, yes, no, 0, no) \
2983 SC(170, 46, 44, 3, yes, no, 0, no) \
2984 SC(171, 46, 44, 4, yes, no, 0, no) \
2986 SC(172, 47, 45, 1, yes, no, 0, no) \
2987 SC(173, 47, 45, 2, yes, no, 0, no) \
2988 SC(174, 47, 45, 3, yes, no, 0, no) \
2989 SC(175, 47, 45, 4, yes, no, 0, no) \
2991 SC(176, 48, 46, 1, yes, no, 0, no) \
2992 SC(177, 48, 46, 2, yes, no, 0, no) \
2993 SC(178, 48, 46, 3, yes, no, 0, no) \
2994 SC(179, 48, 46, 4, yes, no, 0, no) \
2996 SC(180, 49, 47, 1, yes, no, 0, no) \
2997 SC(181, 49, 47, 2, yes, no, 0, no) \
2998 SC(182, 49, 47, 3, yes, no, 0, no) \
2999 SC(183, 49, 47, 4, yes, no, 0, no) \
3001 SC(184, 50, 48, 1, yes, no, 0, no) \
3002 SC(185, 50, 48, 2, yes, no, 0, no) \
3003 SC(186, 50, 48, 3, yes, no, 0, no) \
3004 SC(187, 50, 48, 4, yes, no, 0, no) \
3006 SC(188, 51, 49, 1, yes, no, 0, no) \
3007 SC(189, 51, 49, 2, yes, no, 0, no) \
3008 SC(190, 51, 49, 3, yes, no, 0, no) \
3009 SC(191, 51, 49, 4, yes, no, 0, no) \
3011 SC(192, 52, 50, 1, yes, no, 0, no) \
3012 SC(193, 52, 50, 2, yes, no, 0, no) \
3013 SC(194, 52, 50, 3, yes, no, 0, no) \
3014 SC(195, 52, 50, 4, yes, no, 0, no) \
3016 SC(196, 53, 51, 1, yes, no, 0, no) \
3017 SC(197, 53, 51, 2, yes, no, 0, no) \
3018 SC(198, 53, 51, 3, yes, no, 0, no) \
3019 SC(199, 53, 51, 4, yes, no, 0, no) \
3021 SC(200, 54, 52, 1, yes, no, 0, no) \
3022 SC(201, 54, 52, 2, yes, no, 0, no) \
3023 SC(202, 54, 52, 3, yes, no, 0, no) \
3024 SC(203, 54, 52, 4, yes, no, 0, no) \
3026 SC(204, 55, 53, 1, yes, no, 0, no) \
3027 SC(205, 55, 53, 2, yes, no, 0, no) \
3028 SC(206, 55, 53, 3, yes, no, 0, no) \
3029 SC(207, 55, 53, 4, yes, no, 0, no) \
3031 SC(208, 56, 54, 1, yes, no, 0, no) \
3032 SC(209, 56, 54, 2, yes, no, 0, no) \
3033 SC(210, 56, 54, 3, yes, no, 0, no) \
3034 SC(211, 56, 54, 4, yes, no, 0, no) \
3036 SC(212, 57, 55, 1, yes, no, 0, no) \
3037 SC(213, 57, 55, 2, yes, no, 0, no) \
3038 SC(214, 57, 55, 3, yes, no, 0, no) \
3039 SC(215, 57, 55, 4, yes, no, 0, no) \
3041 SC(216, 58, 56, 1, yes, no, 0, no) \
3042 SC(217, 58, 56, 2, yes, no, 0, no) \
3043 SC(218, 58, 56, 3, yes, no, 0, no) \
3044 SC(219, 58, 56, 4, yes, no, 0, no) \
3046 SC(220, 59, 57, 1, yes, no, 0, no) \
3047 SC(221, 59, 57, 2, yes, no, 0, no) \
3048 SC(222, 59, 57, 3, yes, no, 0, no) \
3049 SC(223, 59, 57, 4, yes, no, 0, no) \
3051 SC(224, 60, 58, 1, yes, no, 0, no) \
3052 SC(225, 60, 58, 2, yes, no, 0, no) \
3053 SC(226, 60, 58, 3, yes, no, 0, no) \
3054 SC(227, 60, 58, 4, yes, no, 0, no) \
3056 SC(228, 61, 59, 1, yes, no, 0, no) \
3057 SC(229, 61, 59, 2, yes, no, 0, no) \
3058 SC(230, 61, 59, 3, yes, no, 0, no) \
3059 SC(231, 61, 59, 4, yes, no, 0, no) \
3061 SC(232, 62, 60, 1, yes, no, 0, no) \
3062 SC(233, 62, 60, 2, yes, no, 0, no) \
3063 SC(234, 62, 60, 3, yes, no, 0, no) \
3065 #define SIZE_CLASSES_DEFINED
3070 #define LG_CEIL_NSIZES 8
3072 #define LG_TINY_MAXCLASS "NA"
3073 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
3074 #define SMALL_MAXCLASS ((((size_t)1) << 17) + (((size_t)3) << 15))
3075 #define LG_LARGE_MINCLASS 18
3076 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
3077 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
3080 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 12)
3081 #define SIZE_CLASSES \
3082 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
3083 SC( 0, 3, 3, 0, no, yes, 1, 3) \
3085 SC( 1, 3, 3, 1, no, yes, 1, 3) \
3086 SC( 2, 4, 4, 1, no, yes, 1, 4) \
3087 SC( 3, 4, 4, 2, no, yes, 3, 4) \
3088 SC( 4, 4, 4, 3, no, yes, 1, 4) \
3090 SC( 5, 6, 4, 1, no, yes, 5, 4) \
3091 SC( 6, 6, 4, 2, no, yes, 3, 4) \
3092 SC( 7, 6, 4, 3, no, yes, 7, 4) \
3093 SC( 8, 6, 4, 4, no, yes, 1, 4) \
3095 SC( 9, 7, 5, 1, no, yes, 5, 5) \
3096 SC( 10, 7, 5, 2, no, yes, 3, 5) \
3097 SC( 11, 7, 5, 3, no, yes, 7, 5) \
3098 SC( 12, 7, 5, 4, no, yes, 1, 5) \
3100 SC( 13, 8, 6, 1, no, yes, 5, 6) \
3101 SC( 14, 8, 6, 2, no, yes, 3, 6) \
3102 SC( 15, 8, 6, 3, no, yes, 7, 6) \
3103 SC( 16, 8, 6, 4, no, yes, 1, 6) \
3105 SC( 17, 9, 7, 1, no, yes, 5, 7) \
3106 SC( 18, 9, 7, 2, no, yes, 3, 7) \
3107 SC( 19, 9, 7, 3, no, yes, 7, 7) \
3108 SC( 20, 9, 7, 4, no, yes, 1, 7) \
3110 SC( 21, 10, 8, 1, no, yes, 5, 8) \
3111 SC( 22, 10, 8, 2, no, yes, 3, 8) \
3112 SC( 23, 10, 8, 3, no, yes, 7, 8) \
3113 SC( 24, 10, 8, 4, no, yes, 1, 8) \
3115 SC( 25, 11, 9, 1, no, yes, 5, 9) \
3116 SC( 26, 11, 9, 2, no, yes, 3, 9) \
3117 SC( 27, 11, 9, 3, no, yes, 7, 9) \
3118 SC( 28, 11, 9, 4, yes, yes, 1, 9) \
3120 SC( 29, 12, 10, 1, no, yes, 5, no) \
3121 SC( 30, 12, 10, 2, no, yes, 3, no) \
3122 SC( 31, 12, 10, 3, no, yes, 7, no) \
3123 SC( 32, 12, 10, 4, yes, yes, 2, no) \
3125 SC( 33, 13, 11, 1, no, yes, 5, no) \
3126 SC( 34, 13, 11, 2, yes, yes, 3, no) \
3127 SC( 35, 13, 11, 3, no, yes, 7, no) \
3128 SC( 36, 13, 11, 4, yes, no, 0, no) \
3130 SC( 37, 14, 12, 1, yes, no, 0, no) \
3131 SC( 38, 14, 12, 2, yes, no, 0, no) \
3132 SC( 39, 14, 12, 3, yes, no, 0, no) \
3133 SC( 40, 14, 12, 4, yes, no, 0, no) \
3135 SC( 41, 15, 13, 1, yes, no, 0, no) \
3136 SC( 42, 15, 13, 2, yes, no, 0, no) \
3137 SC( 43, 15, 13, 3, yes, no, 0, no) \
3138 SC( 44, 15, 13, 4, yes, no, 0, no) \
3140 SC( 45, 16, 14, 1, yes, no, 0, no) \
3141 SC( 46, 16, 14, 2, yes, no, 0, no) \
3142 SC( 47, 16, 14, 3, yes, no, 0, no) \
3143 SC( 48, 16, 14, 4, yes, no, 0, no) \
3145 SC( 49, 17, 15, 1, yes, no, 0, no) \
3146 SC( 50, 17, 15, 2, yes, no, 0, no) \
3147 SC( 51, 17, 15, 3, yes, no, 0, no) \
3148 SC( 52, 17, 15, 4, yes, no, 0, no) \
3150 SC( 53, 18, 16, 1, yes, no, 0, no) \
3151 SC( 54, 18, 16, 2, yes, no, 0, no) \
3152 SC( 55, 18, 16, 3, yes, no, 0, no) \
3153 SC( 56, 18, 16, 4, yes, no, 0, no) \
3155 SC( 57, 19, 17, 1, yes, no, 0, no) \
3156 SC( 58, 19, 17, 2, yes, no, 0, no) \
3157 SC( 59, 19, 17, 3, yes, no, 0, no) \
3158 SC( 60, 19, 17, 4, yes, no, 0, no) \
3160 SC( 61, 20, 18, 1, yes, no, 0, no) \
3161 SC( 62, 20, 18, 2, yes, no, 0, no) \
3162 SC( 63, 20, 18, 3, yes, no, 0, no) \
3163 SC( 64, 20, 18, 4, yes, no, 0, no) \
3165 SC( 65, 21, 19, 1, yes, no, 0, no) \
3166 SC( 66, 21, 19, 2, yes, no, 0, no) \
3167 SC( 67, 21, 19, 3, yes, no, 0, no) \
3168 SC( 68, 21, 19, 4, yes, no, 0, no) \
3170 SC( 69, 22, 20, 1, yes, no, 0, no) \
3171 SC( 70, 22, 20, 2, yes, no, 0, no) \
3172 SC( 71, 22, 20, 3, yes, no, 0, no) \
3173 SC( 72, 22, 20, 4, yes, no, 0, no) \
3175 SC( 73, 23, 21, 1, yes, no, 0, no) \
3176 SC( 74, 23, 21, 2, yes, no, 0, no) \
3177 SC( 75, 23, 21, 3, yes, no, 0, no) \
3178 SC( 76, 23, 21, 4, yes, no, 0, no) \
3180 SC( 77, 24, 22, 1, yes, no, 0, no) \
3181 SC( 78, 24, 22, 2, yes, no, 0, no) \
3182 SC( 79, 24, 22, 3, yes, no, 0, no) \
3183 SC( 80, 24, 22, 4, yes, no, 0, no) \
3185 SC( 81, 25, 23, 1, yes, no, 0, no) \
3186 SC( 82, 25, 23, 2, yes, no, 0, no) \
3187 SC( 83, 25, 23, 3, yes, no, 0, no) \
3188 SC( 84, 25, 23, 4, yes, no, 0, no) \
3190 SC( 85, 26, 24, 1, yes, no, 0, no) \
3191 SC( 86, 26, 24, 2, yes, no, 0, no) \
3192 SC( 87, 26, 24, 3, yes, no, 0, no) \
3193 SC( 88, 26, 24, 4, yes, no, 0, no) \
3195 SC( 89, 27, 25, 1, yes, no, 0, no) \
3196 SC( 90, 27, 25, 2, yes, no, 0, no) \
3197 SC( 91, 27, 25, 3, yes, no, 0, no) \
3198 SC( 92, 27, 25, 4, yes, no, 0, no) \
3200 SC( 93, 28, 26, 1, yes, no, 0, no) \
3201 SC( 94, 28, 26, 2, yes, no, 0, no) \
3202 SC( 95, 28, 26, 3, yes, no, 0, no) \
3203 SC( 96, 28, 26, 4, yes, no, 0, no) \
3205 SC( 97, 29, 27, 1, yes, no, 0, no) \
3206 SC( 98, 29, 27, 2, yes, no, 0, no) \
3207 SC( 99, 29, 27, 3, yes, no, 0, no) \
3208 SC(100, 29, 27, 4, yes, no, 0, no) \
3210 SC(101, 30, 28, 1, yes, no, 0, no) \
3211 SC(102, 30, 28, 2, yes, no, 0, no) \
3212 SC(103, 30, 28, 3, yes, no, 0, no) \
3213 SC(104, 30, 28, 4, yes, no, 0, no) \
3215 SC(105, 31, 29, 1, yes, no, 0, no) \
3216 SC(106, 31, 29, 2, yes, no, 0, no) \
3217 SC(107, 31, 29, 3, yes, no, 0, no) \
3218 SC(108, 31, 29, 4, yes, no, 0, no) \
3220 SC(109, 32, 30, 1, yes, no, 0, no) \
3221 SC(110, 32, 30, 2, yes, no, 0, no) \
3222 SC(111, 32, 30, 3, yes, no, 0, no) \
3223 SC(112, 32, 30, 4, yes, no, 0, no) \
3225 SC(113, 33, 31, 1, yes, no, 0, no) \
3226 SC(114, 33, 31, 2, yes, no, 0, no) \
3227 SC(115, 33, 31, 3, yes, no, 0, no) \
3228 SC(116, 33, 31, 4, yes, no, 0, no) \
3230 SC(117, 34, 32, 1, yes, no, 0, no) \
3231 SC(118, 34, 32, 2, yes, no, 0, no) \
3232 SC(119, 34, 32, 3, yes, no, 0, no) \
3233 SC(120, 34, 32, 4, yes, no, 0, no) \
3235 SC(121, 35, 33, 1, yes, no, 0, no) \
3236 SC(122, 35, 33, 2, yes, no, 0, no) \
3237 SC(123, 35, 33, 3, yes, no, 0, no) \
3238 SC(124, 35, 33, 4, yes, no, 0, no) \
3240 SC(125, 36, 34, 1, yes, no, 0, no) \
3241 SC(126, 36, 34, 2, yes, no, 0, no) \
3242 SC(127, 36, 34, 3, yes, no, 0, no) \
3243 SC(128, 36, 34, 4, yes, no, 0, no) \
3245 SC(129, 37, 35, 1, yes, no, 0, no) \
3246 SC(130, 37, 35, 2, yes, no, 0, no) \
3247 SC(131, 37, 35, 3, yes, no, 0, no) \
3248 SC(132, 37, 35, 4, yes, no, 0, no) \
3250 SC(133, 38, 36, 1, yes, no, 0, no) \
3251 SC(134, 38, 36, 2, yes, no, 0, no) \
3252 SC(135, 38, 36, 3, yes, no, 0, no) \
3253 SC(136, 38, 36, 4, yes, no, 0, no) \
3255 SC(137, 39, 37, 1, yes, no, 0, no) \
3256 SC(138, 39, 37, 2, yes, no, 0, no) \
3257 SC(139, 39, 37, 3, yes, no, 0, no) \
3258 SC(140, 39, 37, 4, yes, no, 0, no) \
3260 SC(141, 40, 38, 1, yes, no, 0, no) \
3261 SC(142, 40, 38, 2, yes, no, 0, no) \
3262 SC(143, 40, 38, 3, yes, no, 0, no) \
3263 SC(144, 40, 38, 4, yes, no, 0, no) \
3265 SC(145, 41, 39, 1, yes, no, 0, no) \
3266 SC(146, 41, 39, 2, yes, no, 0, no) \
3267 SC(147, 41, 39, 3, yes, no, 0, no) \
3268 SC(148, 41, 39, 4, yes, no, 0, no) \
3270 SC(149, 42, 40, 1, yes, no, 0, no) \
3271 SC(150, 42, 40, 2, yes, no, 0, no) \
3272 SC(151, 42, 40, 3, yes, no, 0, no) \
3273 SC(152, 42, 40, 4, yes, no, 0, no) \
3275 SC(153, 43, 41, 1, yes, no, 0, no) \
3276 SC(154, 43, 41, 2, yes, no, 0, no) \
3277 SC(155, 43, 41, 3, yes, no, 0, no) \
3278 SC(156, 43, 41, 4, yes, no, 0, no) \
3280 SC(157, 44, 42, 1, yes, no, 0, no) \
3281 SC(158, 44, 42, 2, yes, no, 0, no) \
3282 SC(159, 44, 42, 3, yes, no, 0, no) \
3283 SC(160, 44, 42, 4, yes, no, 0, no) \
3285 SC(161, 45, 43, 1, yes, no, 0, no) \
3286 SC(162, 45, 43, 2, yes, no, 0, no) \
3287 SC(163, 45, 43, 3, yes, no, 0, no) \
3288 SC(164, 45, 43, 4, yes, no, 0, no) \
3290 SC(165, 46, 44, 1, yes, no, 0, no) \
3291 SC(166, 46, 44, 2, yes, no, 0, no) \
3292 SC(167, 46, 44, 3, yes, no, 0, no) \
3293 SC(168, 46, 44, 4, yes, no, 0, no) \
3295 SC(169, 47, 45, 1, yes, no, 0, no) \
3296 SC(170, 47, 45, 2, yes, no, 0, no) \
3297 SC(171, 47, 45, 3, yes, no, 0, no) \
3298 SC(172, 47, 45, 4, yes, no, 0, no) \
3300 SC(173, 48, 46, 1, yes, no, 0, no) \
3301 SC(174, 48, 46, 2, yes, no, 0, no) \
3302 SC(175, 48, 46, 3, yes, no, 0, no) \
3303 SC(176, 48, 46, 4, yes, no, 0, no) \
3305 SC(177, 49, 47, 1, yes, no, 0, no) \
3306 SC(178, 49, 47, 2, yes, no, 0, no) \
3307 SC(179, 49, 47, 3, yes, no, 0, no) \
3308 SC(180, 49, 47, 4, yes, no, 0, no) \
3310 SC(181, 50, 48, 1, yes, no, 0, no) \
3311 SC(182, 50, 48, 2, yes, no, 0, no) \
3312 SC(183, 50, 48, 3, yes, no, 0, no) \
3313 SC(184, 50, 48, 4, yes, no, 0, no) \
3315 SC(185, 51, 49, 1, yes, no, 0, no) \
3316 SC(186, 51, 49, 2, yes, no, 0, no) \
3317 SC(187, 51, 49, 3, yes, no, 0, no) \
3318 SC(188, 51, 49, 4, yes, no, 0, no) \
3320 SC(189, 52, 50, 1, yes, no, 0, no) \
3321 SC(190, 52, 50, 2, yes, no, 0, no) \
3322 SC(191, 52, 50, 3, yes, no, 0, no) \
3323 SC(192, 52, 50, 4, yes, no, 0, no) \
3325 SC(193, 53, 51, 1, yes, no, 0, no) \
3326 SC(194, 53, 51, 2, yes, no, 0, no) \
3327 SC(195, 53, 51, 3, yes, no, 0, no) \
3328 SC(196, 53, 51, 4, yes, no, 0, no) \
3330 SC(197, 54, 52, 1, yes, no, 0, no) \
3331 SC(198, 54, 52, 2, yes, no, 0, no) \
3332 SC(199, 54, 52, 3, yes, no, 0, no) \
3333 SC(200, 54, 52, 4, yes, no, 0, no) \
3335 SC(201, 55, 53, 1, yes, no, 0, no) \
3336 SC(202, 55, 53, 2, yes, no, 0, no) \
3337 SC(203, 55, 53, 3, yes, no, 0, no) \
3338 SC(204, 55, 53, 4, yes, no, 0, no) \
3340 SC(205, 56, 54, 1, yes, no, 0, no) \
3341 SC(206, 56, 54, 2, yes, no, 0, no) \
3342 SC(207, 56, 54, 3, yes, no, 0, no) \
3343 SC(208, 56, 54, 4, yes, no, 0, no) \
3345 SC(209, 57, 55, 1, yes, no, 0, no) \
3346 SC(210, 57, 55, 2, yes, no, 0, no) \
3347 SC(211, 57, 55, 3, yes, no, 0, no) \
3348 SC(212, 57, 55, 4, yes, no, 0, no) \
3350 SC(213, 58, 56, 1, yes, no, 0, no) \
3351 SC(214, 58, 56, 2, yes, no, 0, no) \
3352 SC(215, 58, 56, 3, yes, no, 0, no) \
3353 SC(216, 58, 56, 4, yes, no, 0, no) \
3355 SC(217, 59, 57, 1, yes, no, 0, no) \
3356 SC(218, 59, 57, 2, yes, no, 0, no) \
3357 SC(219, 59, 57, 3, yes, no, 0, no) \
3358 SC(220, 59, 57, 4, yes, no, 0, no) \
3360 SC(221, 60, 58, 1, yes, no, 0, no) \
3361 SC(222, 60, 58, 2, yes, no, 0, no) \
3362 SC(223, 60, 58, 3, yes, no, 0, no) \
3363 SC(224, 60, 58, 4, yes, no, 0, no) \
3365 SC(225, 61, 59, 1, yes, no, 0, no) \
3366 SC(226, 61, 59, 2, yes, no, 0, no) \
3367 SC(227, 61, 59, 3, yes, no, 0, no) \
3368 SC(228, 61, 59, 4, yes, no, 0, no) \
3370 SC(229, 62, 60, 1, yes, no, 0, no) \
3371 SC(230, 62, 60, 2, yes, no, 0, no) \
3372 SC(231, 62, 60, 3, yes, no, 0, no) \
3374 #define SIZE_CLASSES_DEFINED
3379 #define LG_CEIL_NSIZES 8
3381 #define LG_TINY_MAXCLASS 3
3382 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
3383 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11))
3384 #define LG_LARGE_MINCLASS 14
3385 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
3386 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
3389 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 13)
3390 #define SIZE_CLASSES \
3391 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
3392 SC( 0, 3, 3, 0, no, yes, 1, 3) \
3394 SC( 1, 3, 3, 1, no, yes, 1, 3) \
3395 SC( 2, 4, 4, 1, no, yes, 1, 4) \
3396 SC( 3, 4, 4, 2, no, yes, 3, 4) \
3397 SC( 4, 4, 4, 3, no, yes, 1, 4) \
3399 SC( 5, 6, 4, 1, no, yes, 5, 4) \
3400 SC( 6, 6, 4, 2, no, yes, 3, 4) \
3401 SC( 7, 6, 4, 3, no, yes, 7, 4) \
3402 SC( 8, 6, 4, 4, no, yes, 1, 4) \
3404 SC( 9, 7, 5, 1, no, yes, 5, 5) \
3405 SC( 10, 7, 5, 2, no, yes, 3, 5) \
3406 SC( 11, 7, 5, 3, no, yes, 7, 5) \
3407 SC( 12, 7, 5, 4, no, yes, 1, 5) \
3409 SC( 13, 8, 6, 1, no, yes, 5, 6) \
3410 SC( 14, 8, 6, 2, no, yes, 3, 6) \
3411 SC( 15, 8, 6, 3, no, yes, 7, 6) \
3412 SC( 16, 8, 6, 4, no, yes, 1, 6) \
3414 SC( 17, 9, 7, 1, no, yes, 5, 7) \
3415 SC( 18, 9, 7, 2, no, yes, 3, 7) \
3416 SC( 19, 9, 7, 3, no, yes, 7, 7) \
3417 SC( 20, 9, 7, 4, no, yes, 1, 7) \
3419 SC( 21, 10, 8, 1, no, yes, 5, 8) \
3420 SC( 22, 10, 8, 2, no, yes, 3, 8) \
3421 SC( 23, 10, 8, 3, no, yes, 7, 8) \
3422 SC( 24, 10, 8, 4, no, yes, 1, 8) \
3424 SC( 25, 11, 9, 1, no, yes, 5, 9) \
3425 SC( 26, 11, 9, 2, no, yes, 3, 9) \
3426 SC( 27, 11, 9, 3, no, yes, 7, 9) \
3427 SC( 28, 11, 9, 4, no, yes, 1, 9) \
3429 SC( 29, 12, 10, 1, no, yes, 5, no) \
3430 SC( 30, 12, 10, 2, no, yes, 3, no) \
3431 SC( 31, 12, 10, 3, no, yes, 7, no) \
3432 SC( 32, 12, 10, 4, yes, yes, 1, no) \
3434 SC( 33, 13, 11, 1, no, yes, 5, no) \
3435 SC( 34, 13, 11, 2, no, yes, 3, no) \
3436 SC( 35, 13, 11, 3, no, yes, 7, no) \
3437 SC( 36, 13, 11, 4, yes, yes, 2, no) \
3439 SC( 37, 14, 12, 1, no, yes, 5, no) \
3440 SC( 38, 14, 12, 2, yes, yes, 3, no) \
3441 SC( 39, 14, 12, 3, no, yes, 7, no) \
3442 SC( 40, 14, 12, 4, yes, no, 0, no) \
3444 SC( 41, 15, 13, 1, yes, no, 0, no) \
3445 SC( 42, 15, 13, 2, yes, no, 0, no) \
3446 SC( 43, 15, 13, 3, yes, no, 0, no) \
3447 SC( 44, 15, 13, 4, yes, no, 0, no) \
3449 SC( 45, 16, 14, 1, yes, no, 0, no) \
3450 SC( 46, 16, 14, 2, yes, no, 0, no) \
3451 SC( 47, 16, 14, 3, yes, no, 0, no) \
3452 SC( 48, 16, 14, 4, yes, no, 0, no) \
3454 SC( 49, 17, 15, 1, yes, no, 0, no) \
3455 SC( 50, 17, 15, 2, yes, no, 0, no) \
3456 SC( 51, 17, 15, 3, yes, no, 0, no) \
3457 SC( 52, 17, 15, 4, yes, no, 0, no) \
3459 SC( 53, 18, 16, 1, yes, no, 0, no) \
3460 SC( 54, 18, 16, 2, yes, no, 0, no) \
3461 SC( 55, 18, 16, 3, yes, no, 0, no) \
3462 SC( 56, 18, 16, 4, yes, no, 0, no) \
3464 SC( 57, 19, 17, 1, yes, no, 0, no) \
3465 SC( 58, 19, 17, 2, yes, no, 0, no) \
3466 SC( 59, 19, 17, 3, yes, no, 0, no) \
3467 SC( 60, 19, 17, 4, yes, no, 0, no) \
3469 SC( 61, 20, 18, 1, yes, no, 0, no) \
3470 SC( 62, 20, 18, 2, yes, no, 0, no) \
3471 SC( 63, 20, 18, 3, yes, no, 0, no) \
3472 SC( 64, 20, 18, 4, yes, no, 0, no) \
3474 SC( 65, 21, 19, 1, yes, no, 0, no) \
3475 SC( 66, 21, 19, 2, yes, no, 0, no) \
3476 SC( 67, 21, 19, 3, yes, no, 0, no) \
3477 SC( 68, 21, 19, 4, yes, no, 0, no) \
3479 SC( 69, 22, 20, 1, yes, no, 0, no) \
3480 SC( 70, 22, 20, 2, yes, no, 0, no) \
3481 SC( 71, 22, 20, 3, yes, no, 0, no) \
3482 SC( 72, 22, 20, 4, yes, no, 0, no) \
3484 SC( 73, 23, 21, 1, yes, no, 0, no) \
3485 SC( 74, 23, 21, 2, yes, no, 0, no) \
3486 SC( 75, 23, 21, 3, yes, no, 0, no) \
3487 SC( 76, 23, 21, 4, yes, no, 0, no) \
3489 SC( 77, 24, 22, 1, yes, no, 0, no) \
3490 SC( 78, 24, 22, 2, yes, no, 0, no) \
3491 SC( 79, 24, 22, 3, yes, no, 0, no) \
3492 SC( 80, 24, 22, 4, yes, no, 0, no) \
3494 SC( 81, 25, 23, 1, yes, no, 0, no) \
3495 SC( 82, 25, 23, 2, yes, no, 0, no) \
3496 SC( 83, 25, 23, 3, yes, no, 0, no) \
3497 SC( 84, 25, 23, 4, yes, no, 0, no) \
3499 SC( 85, 26, 24, 1, yes, no, 0, no) \
3500 SC( 86, 26, 24, 2, yes, no, 0, no) \
3501 SC( 87, 26, 24, 3, yes, no, 0, no) \
3502 SC( 88, 26, 24, 4, yes, no, 0, no) \
3504 SC( 89, 27, 25, 1, yes, no, 0, no) \
3505 SC( 90, 27, 25, 2, yes, no, 0, no) \
3506 SC( 91, 27, 25, 3, yes, no, 0, no) \
3507 SC( 92, 27, 25, 4, yes, no, 0, no) \
3509 SC( 93, 28, 26, 1, yes, no, 0, no) \
3510 SC( 94, 28, 26, 2, yes, no, 0, no) \
3511 SC( 95, 28, 26, 3, yes, no, 0, no) \
3512 SC( 96, 28, 26, 4, yes, no, 0, no) \
3514 SC( 97, 29, 27, 1, yes, no, 0, no) \
3515 SC( 98, 29, 27, 2, yes, no, 0, no) \
3516 SC( 99, 29, 27, 3, yes, no, 0, no) \
3517 SC(100, 29, 27, 4, yes, no, 0, no) \
3519 SC(101, 30, 28, 1, yes, no, 0, no) \
3520 SC(102, 30, 28, 2, yes, no, 0, no) \
3521 SC(103, 30, 28, 3, yes, no, 0, no) \
3522 SC(104, 30, 28, 4, yes, no, 0, no) \
3524 SC(105, 31, 29, 1, yes, no, 0, no) \
3525 SC(106, 31, 29, 2, yes, no, 0, no) \
3526 SC(107, 31, 29, 3, yes, no, 0, no) \
3527 SC(108, 31, 29, 4, yes, no, 0, no) \
3529 SC(109, 32, 30, 1, yes, no, 0, no) \
3530 SC(110, 32, 30, 2, yes, no, 0, no) \
3531 SC(111, 32, 30, 3, yes, no, 0, no) \
3532 SC(112, 32, 30, 4, yes, no, 0, no) \
3534 SC(113, 33, 31, 1, yes, no, 0, no) \
3535 SC(114, 33, 31, 2, yes, no, 0, no) \
3536 SC(115, 33, 31, 3, yes, no, 0, no) \
3537 SC(116, 33, 31, 4, yes, no, 0, no) \
3539 SC(117, 34, 32, 1, yes, no, 0, no) \
3540 SC(118, 34, 32, 2, yes, no, 0, no) \
3541 SC(119, 34, 32, 3, yes, no, 0, no) \
3542 SC(120, 34, 32, 4, yes, no, 0, no) \
3544 SC(121, 35, 33, 1, yes, no, 0, no) \
3545 SC(122, 35, 33, 2, yes, no, 0, no) \
3546 SC(123, 35, 33, 3, yes, no, 0, no) \
3547 SC(124, 35, 33, 4, yes, no, 0, no) \
3549 SC(125, 36, 34, 1, yes, no, 0, no) \
3550 SC(126, 36, 34, 2, yes, no, 0, no) \
3551 SC(127, 36, 34, 3, yes, no, 0, no) \
3552 SC(128, 36, 34, 4, yes, no, 0, no) \
3554 SC(129, 37, 35, 1, yes, no, 0, no) \
3555 SC(130, 37, 35, 2, yes, no, 0, no) \
3556 SC(131, 37, 35, 3, yes, no, 0, no) \
3557 SC(132, 37, 35, 4, yes, no, 0, no) \
3559 SC(133, 38, 36, 1, yes, no, 0, no) \
3560 SC(134, 38, 36, 2, yes, no, 0, no) \
3561 SC(135, 38, 36, 3, yes, no, 0, no) \
3562 SC(136, 38, 36, 4, yes, no, 0, no) \
3564 SC(137, 39, 37, 1, yes, no, 0, no) \
3565 SC(138, 39, 37, 2, yes, no, 0, no) \
3566 SC(139, 39, 37, 3, yes, no, 0, no) \
3567 SC(140, 39, 37, 4, yes, no, 0, no) \
3569 SC(141, 40, 38, 1, yes, no, 0, no) \
3570 SC(142, 40, 38, 2, yes, no, 0, no) \
3571 SC(143, 40, 38, 3, yes, no, 0, no) \
3572 SC(144, 40, 38, 4, yes, no, 0, no) \
3574 SC(145, 41, 39, 1, yes, no, 0, no) \
3575 SC(146, 41, 39, 2, yes, no, 0, no) \
3576 SC(147, 41, 39, 3, yes, no, 0, no) \
3577 SC(148, 41, 39, 4, yes, no, 0, no) \
3579 SC(149, 42, 40, 1, yes, no, 0, no) \
3580 SC(150, 42, 40, 2, yes, no, 0, no) \
3581 SC(151, 42, 40, 3, yes, no, 0, no) \
3582 SC(152, 42, 40, 4, yes, no, 0, no) \
3584 SC(153, 43, 41, 1, yes, no, 0, no) \
3585 SC(154, 43, 41, 2, yes, no, 0, no) \
3586 SC(155, 43, 41, 3, yes, no, 0, no) \
3587 SC(156, 43, 41, 4, yes, no, 0, no) \
3589 SC(157, 44, 42, 1, yes, no, 0, no) \
3590 SC(158, 44, 42, 2, yes, no, 0, no) \
3591 SC(159, 44, 42, 3, yes, no, 0, no) \
3592 SC(160, 44, 42, 4, yes, no, 0, no) \
3594 SC(161, 45, 43, 1, yes, no, 0, no) \
3595 SC(162, 45, 43, 2, yes, no, 0, no) \
3596 SC(163, 45, 43, 3, yes, no, 0, no) \
3597 SC(164, 45, 43, 4, yes, no, 0, no) \
3599 SC(165, 46, 44, 1, yes, no, 0, no) \
3600 SC(166, 46, 44, 2, yes, no, 0, no) \
3601 SC(167, 46, 44, 3, yes, no, 0, no) \
3602 SC(168, 46, 44, 4, yes, no, 0, no) \
3604 SC(169, 47, 45, 1, yes, no, 0, no) \
3605 SC(170, 47, 45, 2, yes, no, 0, no) \
3606 SC(171, 47, 45, 3, yes, no, 0, no) \
3607 SC(172, 47, 45, 4, yes, no, 0, no) \
3609 SC(173, 48, 46, 1, yes, no, 0, no) \
3610 SC(174, 48, 46, 2, yes, no, 0, no) \
3611 SC(175, 48, 46, 3, yes, no, 0, no) \
3612 SC(176, 48, 46, 4, yes, no, 0, no) \
3614 SC(177, 49, 47, 1, yes, no, 0, no) \
3615 SC(178, 49, 47, 2, yes, no, 0, no) \
3616 SC(179, 49, 47, 3, yes, no, 0, no) \
3617 SC(180, 49, 47, 4, yes, no, 0, no) \
3619 SC(181, 50, 48, 1, yes, no, 0, no) \
3620 SC(182, 50, 48, 2, yes, no, 0, no) \
3621 SC(183, 50, 48, 3, yes, no, 0, no) \
3622 SC(184, 50, 48, 4, yes, no, 0, no) \
3624 SC(185, 51, 49, 1, yes, no, 0, no) \
3625 SC(186, 51, 49, 2, yes, no, 0, no) \
3626 SC(187, 51, 49, 3, yes, no, 0, no) \
3627 SC(188, 51, 49, 4, yes, no, 0, no) \
3629 SC(189, 52, 50, 1, yes, no, 0, no) \
3630 SC(190, 52, 50, 2, yes, no, 0, no) \
3631 SC(191, 52, 50, 3, yes, no, 0, no) \
3632 SC(192, 52, 50, 4, yes, no, 0, no) \
3634 SC(193, 53, 51, 1, yes, no, 0, no) \
3635 SC(194, 53, 51, 2, yes, no, 0, no) \
3636 SC(195, 53, 51, 3, yes, no, 0, no) \
3637 SC(196, 53, 51, 4, yes, no, 0, no) \
3639 SC(197, 54, 52, 1, yes, no, 0, no) \
3640 SC(198, 54, 52, 2, yes, no, 0, no) \
3641 SC(199, 54, 52, 3, yes, no, 0, no) \
3642 SC(200, 54, 52, 4, yes, no, 0, no) \
3644 SC(201, 55, 53, 1, yes, no, 0, no) \
3645 SC(202, 55, 53, 2, yes, no, 0, no) \
3646 SC(203, 55, 53, 3, yes, no, 0, no) \
3647 SC(204, 55, 53, 4, yes, no, 0, no) \
3649 SC(205, 56, 54, 1, yes, no, 0, no) \
3650 SC(206, 56, 54, 2, yes, no, 0, no) \
3651 SC(207, 56, 54, 3, yes, no, 0, no) \
3652 SC(208, 56, 54, 4, yes, no, 0, no) \
3654 SC(209, 57, 55, 1, yes, no, 0, no) \
3655 SC(210, 57, 55, 2, yes, no, 0, no) \
3656 SC(211, 57, 55, 3, yes, no, 0, no) \
3657 SC(212, 57, 55, 4, yes, no, 0, no) \
3659 SC(213, 58, 56, 1, yes, no, 0, no) \
3660 SC(214, 58, 56, 2, yes, no, 0, no) \
3661 SC(215, 58, 56, 3, yes, no, 0, no) \
3662 SC(216, 58, 56, 4, yes, no, 0, no) \
3664 SC(217, 59, 57, 1, yes, no, 0, no) \
3665 SC(218, 59, 57, 2, yes, no, 0, no) \
3666 SC(219, 59, 57, 3, yes, no, 0, no) \
3667 SC(220, 59, 57, 4, yes, no, 0, no) \
3669 SC(221, 60, 58, 1, yes, no, 0, no) \
3670 SC(222, 60, 58, 2, yes, no, 0, no) \
3671 SC(223, 60, 58, 3, yes, no, 0, no) \
3672 SC(224, 60, 58, 4, yes, no, 0, no) \
3674 SC(225, 61, 59, 1, yes, no, 0, no) \
3675 SC(226, 61, 59, 2, yes, no, 0, no) \
3676 SC(227, 61, 59, 3, yes, no, 0, no) \
3677 SC(228, 61, 59, 4, yes, no, 0, no) \
3679 SC(229, 62, 60, 1, yes, no, 0, no) \
3680 SC(230, 62, 60, 2, yes, no, 0, no) \
3681 SC(231, 62, 60, 3, yes, no, 0, no) \
3683 #define SIZE_CLASSES_DEFINED
3688 #define LG_CEIL_NSIZES 8
3690 #define LG_TINY_MAXCLASS 3
3691 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
3692 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12))
3693 #define LG_LARGE_MINCLASS 15
3694 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
3695 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
3698 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 14)
3699 #define SIZE_CLASSES \
3700 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
3701 SC( 0, 3, 3, 0, no, yes, 1, 3) \
3703 SC( 1, 3, 3, 1, no, yes, 1, 3) \
3704 SC( 2, 4, 4, 1, no, yes, 1, 4) \
3705 SC( 3, 4, 4, 2, no, yes, 3, 4) \
3706 SC( 4, 4, 4, 3, no, yes, 1, 4) \
3708 SC( 5, 6, 4, 1, no, yes, 5, 4) \
3709 SC( 6, 6, 4, 2, no, yes, 3, 4) \
3710 SC( 7, 6, 4, 3, no, yes, 7, 4) \
3711 SC( 8, 6, 4, 4, no, yes, 1, 4) \
3713 SC( 9, 7, 5, 1, no, yes, 5, 5) \
3714 SC( 10, 7, 5, 2, no, yes, 3, 5) \
3715 SC( 11, 7, 5, 3, no, yes, 7, 5) \
3716 SC( 12, 7, 5, 4, no, yes, 1, 5) \
3718 SC( 13, 8, 6, 1, no, yes, 5, 6) \
3719 SC( 14, 8, 6, 2, no, yes, 3, 6) \
3720 SC( 15, 8, 6, 3, no, yes, 7, 6) \
3721 SC( 16, 8, 6, 4, no, yes, 1, 6) \
3723 SC( 17, 9, 7, 1, no, yes, 5, 7) \
3724 SC( 18, 9, 7, 2, no, yes, 3, 7) \
3725 SC( 19, 9, 7, 3, no, yes, 7, 7) \
3726 SC( 20, 9, 7, 4, no, yes, 1, 7) \
3728 SC( 21, 10, 8, 1, no, yes, 5, 8) \
3729 SC( 22, 10, 8, 2, no, yes, 3, 8) \
3730 SC( 23, 10, 8, 3, no, yes, 7, 8) \
3731 SC( 24, 10, 8, 4, no, yes, 1, 8) \
3733 SC( 25, 11, 9, 1, no, yes, 5, 9) \
3734 SC( 26, 11, 9, 2, no, yes, 3, 9) \
3735 SC( 27, 11, 9, 3, no, yes, 7, 9) \
3736 SC( 28, 11, 9, 4, no, yes, 1, 9) \
3738 SC( 29, 12, 10, 1, no, yes, 5, no) \
3739 SC( 30, 12, 10, 2, no, yes, 3, no) \
3740 SC( 31, 12, 10, 3, no, yes, 7, no) \
3741 SC( 32, 12, 10, 4, no, yes, 1, no) \
3743 SC( 33, 13, 11, 1, no, yes, 5, no) \
3744 SC( 34, 13, 11, 2, no, yes, 3, no) \
3745 SC( 35, 13, 11, 3, no, yes, 7, no) \
3746 SC( 36, 13, 11, 4, yes, yes, 1, no) \
3748 SC( 37, 14, 12, 1, no, yes, 5, no) \
3749 SC( 38, 14, 12, 2, no, yes, 3, no) \
3750 SC( 39, 14, 12, 3, no, yes, 7, no) \
3751 SC( 40, 14, 12, 4, yes, yes, 2, no) \
3753 SC( 41, 15, 13, 1, no, yes, 5, no) \
3754 SC( 42, 15, 13, 2, yes, yes, 3, no) \
3755 SC( 43, 15, 13, 3, no, yes, 7, no) \
3756 SC( 44, 15, 13, 4, yes, no, 0, no) \
3758 SC( 45, 16, 14, 1, yes, no, 0, no) \
3759 SC( 46, 16, 14, 2, yes, no, 0, no) \
3760 SC( 47, 16, 14, 3, yes, no, 0, no) \
3761 SC( 48, 16, 14, 4, yes, no, 0, no) \
3763 SC( 49, 17, 15, 1, yes, no, 0, no) \
3764 SC( 50, 17, 15, 2, yes, no, 0, no) \
3765 SC( 51, 17, 15, 3, yes, no, 0, no) \
3766 SC( 52, 17, 15, 4, yes, no, 0, no) \
3768 SC( 53, 18, 16, 1, yes, no, 0, no) \
3769 SC( 54, 18, 16, 2, yes, no, 0, no) \
3770 SC( 55, 18, 16, 3, yes, no, 0, no) \
3771 SC( 56, 18, 16, 4, yes, no, 0, no) \
3773 SC( 57, 19, 17, 1, yes, no, 0, no) \
3774 SC( 58, 19, 17, 2, yes, no, 0, no) \
3775 SC( 59, 19, 17, 3, yes, no, 0, no) \
3776 SC( 60, 19, 17, 4, yes, no, 0, no) \
3778 SC( 61, 20, 18, 1, yes, no, 0, no) \
3779 SC( 62, 20, 18, 2, yes, no, 0, no) \
3780 SC( 63, 20, 18, 3, yes, no, 0, no) \
3781 SC( 64, 20, 18, 4, yes, no, 0, no) \
3783 SC( 65, 21, 19, 1, yes, no, 0, no) \
3784 SC( 66, 21, 19, 2, yes, no, 0, no) \
3785 SC( 67, 21, 19, 3, yes, no, 0, no) \
3786 SC( 68, 21, 19, 4, yes, no, 0, no) \
3788 SC( 69, 22, 20, 1, yes, no, 0, no) \
3789 SC( 70, 22, 20, 2, yes, no, 0, no) \
3790 SC( 71, 22, 20, 3, yes, no, 0, no) \
3791 SC( 72, 22, 20, 4, yes, no, 0, no) \
3793 SC( 73, 23, 21, 1, yes, no, 0, no) \
3794 SC( 74, 23, 21, 2, yes, no, 0, no) \
3795 SC( 75, 23, 21, 3, yes, no, 0, no) \
3796 SC( 76, 23, 21, 4, yes, no, 0, no) \
3798 SC( 77, 24, 22, 1, yes, no, 0, no) \
3799 SC( 78, 24, 22, 2, yes, no, 0, no) \
3800 SC( 79, 24, 22, 3, yes, no, 0, no) \
3801 SC( 80, 24, 22, 4, yes, no, 0, no) \
3803 SC( 81, 25, 23, 1, yes, no, 0, no) \
3804 SC( 82, 25, 23, 2, yes, no, 0, no) \
3805 SC( 83, 25, 23, 3, yes, no, 0, no) \
3806 SC( 84, 25, 23, 4, yes, no, 0, no) \
3808 SC( 85, 26, 24, 1, yes, no, 0, no) \
3809 SC( 86, 26, 24, 2, yes, no, 0, no) \
3810 SC( 87, 26, 24, 3, yes, no, 0, no) \
3811 SC( 88, 26, 24, 4, yes, no, 0, no) \
3813 SC( 89, 27, 25, 1, yes, no, 0, no) \
3814 SC( 90, 27, 25, 2, yes, no, 0, no) \
3815 SC( 91, 27, 25, 3, yes, no, 0, no) \
3816 SC( 92, 27, 25, 4, yes, no, 0, no) \
3818 SC( 93, 28, 26, 1, yes, no, 0, no) \
3819 SC( 94, 28, 26, 2, yes, no, 0, no) \
3820 SC( 95, 28, 26, 3, yes, no, 0, no) \
3821 SC( 96, 28, 26, 4, yes, no, 0, no) \
3823 SC( 97, 29, 27, 1, yes, no, 0, no) \
3824 SC( 98, 29, 27, 2, yes, no, 0, no) \
3825 SC( 99, 29, 27, 3, yes, no, 0, no) \
3826 SC(100, 29, 27, 4, yes, no, 0, no) \
3828 SC(101, 30, 28, 1, yes, no, 0, no) \
3829 SC(102, 30, 28, 2, yes, no, 0, no) \
3830 SC(103, 30, 28, 3, yes, no, 0, no) \
3831 SC(104, 30, 28, 4, yes, no, 0, no) \
3833 SC(105, 31, 29, 1, yes, no, 0, no) \
3834 SC(106, 31, 29, 2, yes, no, 0, no) \
3835 SC(107, 31, 29, 3, yes, no, 0, no) \
3836 SC(108, 31, 29, 4, yes, no, 0, no) \
3838 SC(109, 32, 30, 1, yes, no, 0, no) \
3839 SC(110, 32, 30, 2, yes, no, 0, no) \
3840 SC(111, 32, 30, 3, yes, no, 0, no) \
3841 SC(112, 32, 30, 4, yes, no, 0, no) \
3843 SC(113, 33, 31, 1, yes, no, 0, no) \
3844 SC(114, 33, 31, 2, yes, no, 0, no) \
3845 SC(115, 33, 31, 3, yes, no, 0, no) \
3846 SC(116, 33, 31, 4, yes, no, 0, no) \
3848 SC(117, 34, 32, 1, yes, no, 0, no) \
3849 SC(118, 34, 32, 2, yes, no, 0, no) \
3850 SC(119, 34, 32, 3, yes, no, 0, no) \
3851 SC(120, 34, 32, 4, yes, no, 0, no) \
3853 SC(121, 35, 33, 1, yes, no, 0, no) \
3854 SC(122, 35, 33, 2, yes, no, 0, no) \
3855 SC(123, 35, 33, 3, yes, no, 0, no) \
3856 SC(124, 35, 33, 4, yes, no, 0, no) \
3858 SC(125, 36, 34, 1, yes, no, 0, no) \
3859 SC(126, 36, 34, 2, yes, no, 0, no) \
3860 SC(127, 36, 34, 3, yes, no, 0, no) \
3861 SC(128, 36, 34, 4, yes, no, 0, no) \
3863 SC(129, 37, 35, 1, yes, no, 0, no) \
3864 SC(130, 37, 35, 2, yes, no, 0, no) \
3865 SC(131, 37, 35, 3, yes, no, 0, no) \
3866 SC(132, 37, 35, 4, yes, no, 0, no) \
3868 SC(133, 38, 36, 1, yes, no, 0, no) \
3869 SC(134, 38, 36, 2, yes, no, 0, no) \
3870 SC(135, 38, 36, 3, yes, no, 0, no) \
3871 SC(136, 38, 36, 4, yes, no, 0, no) \
3873 SC(137, 39, 37, 1, yes, no, 0, no) \
3874 SC(138, 39, 37, 2, yes, no, 0, no) \
3875 SC(139, 39, 37, 3, yes, no, 0, no) \
3876 SC(140, 39, 37, 4, yes, no, 0, no) \
3878 SC(141, 40, 38, 1, yes, no, 0, no) \
3879 SC(142, 40, 38, 2, yes, no, 0, no) \
3880 SC(143, 40, 38, 3, yes, no, 0, no) \
3881 SC(144, 40, 38, 4, yes, no, 0, no) \
3883 SC(145, 41, 39, 1, yes, no, 0, no) \
3884 SC(146, 41, 39, 2, yes, no, 0, no) \
3885 SC(147, 41, 39, 3, yes, no, 0, no) \
3886 SC(148, 41, 39, 4, yes, no, 0, no) \
3888 SC(149, 42, 40, 1, yes, no, 0, no) \
3889 SC(150, 42, 40, 2, yes, no, 0, no) \
3890 SC(151, 42, 40, 3, yes, no, 0, no) \
3891 SC(152, 42, 40, 4, yes, no, 0, no) \
3893 SC(153, 43, 41, 1, yes, no, 0, no) \
3894 SC(154, 43, 41, 2, yes, no, 0, no) \
3895 SC(155, 43, 41, 3, yes, no, 0, no) \
3896 SC(156, 43, 41, 4, yes, no, 0, no) \
3898 SC(157, 44, 42, 1, yes, no, 0, no) \
3899 SC(158, 44, 42, 2, yes, no, 0, no) \
3900 SC(159, 44, 42, 3, yes, no, 0, no) \
3901 SC(160, 44, 42, 4, yes, no, 0, no) \
3903 SC(161, 45, 43, 1, yes, no, 0, no) \
3904 SC(162, 45, 43, 2, yes, no, 0, no) \
3905 SC(163, 45, 43, 3, yes, no, 0, no) \
3906 SC(164, 45, 43, 4, yes, no, 0, no) \
3908 SC(165, 46, 44, 1, yes, no, 0, no) \
3909 SC(166, 46, 44, 2, yes, no, 0, no) \
3910 SC(167, 46, 44, 3, yes, no, 0, no) \
3911 SC(168, 46, 44, 4, yes, no, 0, no) \
3913 SC(169, 47, 45, 1, yes, no, 0, no) \
3914 SC(170, 47, 45, 2, yes, no, 0, no) \
3915 SC(171, 47, 45, 3, yes, no, 0, no) \
3916 SC(172, 47, 45, 4, yes, no, 0, no) \
3918 SC(173, 48, 46, 1, yes, no, 0, no) \
3919 SC(174, 48, 46, 2, yes, no, 0, no) \
3920 SC(175, 48, 46, 3, yes, no, 0, no) \
3921 SC(176, 48, 46, 4, yes, no, 0, no) \
3923 SC(177, 49, 47, 1, yes, no, 0, no) \
3924 SC(178, 49, 47, 2, yes, no, 0, no) \
3925 SC(179, 49, 47, 3, yes, no, 0, no) \
3926 SC(180, 49, 47, 4, yes, no, 0, no) \
3928 SC(181, 50, 48, 1, yes, no, 0, no) \
3929 SC(182, 50, 48, 2, yes, no, 0, no) \
3930 SC(183, 50, 48, 3, yes, no, 0, no) \
3931 SC(184, 50, 48, 4, yes, no, 0, no) \
3933 SC(185, 51, 49, 1, yes, no, 0, no) \
3934 SC(186, 51, 49, 2, yes, no, 0, no) \
3935 SC(187, 51, 49, 3, yes, no, 0, no) \
3936 SC(188, 51, 49, 4, yes, no, 0, no) \
3938 SC(189, 52, 50, 1, yes, no, 0, no) \
3939 SC(190, 52, 50, 2, yes, no, 0, no) \
3940 SC(191, 52, 50, 3, yes, no, 0, no) \
3941 SC(192, 52, 50, 4, yes, no, 0, no) \
3943 SC(193, 53, 51, 1, yes, no, 0, no) \
3944 SC(194, 53, 51, 2, yes, no, 0, no) \
3945 SC(195, 53, 51, 3, yes, no, 0, no) \
3946 SC(196, 53, 51, 4, yes, no, 0, no) \
3948 SC(197, 54, 52, 1, yes, no, 0, no) \
3949 SC(198, 54, 52, 2, yes, no, 0, no) \
3950 SC(199, 54, 52, 3, yes, no, 0, no) \
3951 SC(200, 54, 52, 4, yes, no, 0, no) \
3953 SC(201, 55, 53, 1, yes, no, 0, no) \
3954 SC(202, 55, 53, 2, yes, no, 0, no) \
3955 SC(203, 55, 53, 3, yes, no, 0, no) \
3956 SC(204, 55, 53, 4, yes, no, 0, no) \
3958 SC(205, 56, 54, 1, yes, no, 0, no) \
3959 SC(206, 56, 54, 2, yes, no, 0, no) \
3960 SC(207, 56, 54, 3, yes, no, 0, no) \
3961 SC(208, 56, 54, 4, yes, no, 0, no) \
3963 SC(209, 57, 55, 1, yes, no, 0, no) \
3964 SC(210, 57, 55, 2, yes, no, 0, no) \
3965 SC(211, 57, 55, 3, yes, no, 0, no) \
3966 SC(212, 57, 55, 4, yes, no, 0, no) \
3968 SC(213, 58, 56, 1, yes, no, 0, no) \
3969 SC(214, 58, 56, 2, yes, no, 0, no) \
3970 SC(215, 58, 56, 3, yes, no, 0, no) \
3971 SC(216, 58, 56, 4, yes, no, 0, no) \
3973 SC(217, 59, 57, 1, yes, no, 0, no) \
3974 SC(218, 59, 57, 2, yes, no, 0, no) \
3975 SC(219, 59, 57, 3, yes, no, 0, no) \
3976 SC(220, 59, 57, 4, yes, no, 0, no) \
3978 SC(221, 60, 58, 1, yes, no, 0, no) \
3979 SC(222, 60, 58, 2, yes, no, 0, no) \
3980 SC(223, 60, 58, 3, yes, no, 0, no) \
3981 SC(224, 60, 58, 4, yes, no, 0, no) \
3983 SC(225, 61, 59, 1, yes, no, 0, no) \
3984 SC(226, 61, 59, 2, yes, no, 0, no) \
3985 SC(227, 61, 59, 3, yes, no, 0, no) \
3986 SC(228, 61, 59, 4, yes, no, 0, no) \
3988 SC(229, 62, 60, 1, yes, no, 0, no) \
3989 SC(230, 62, 60, 2, yes, no, 0, no) \
3990 SC(231, 62, 60, 3, yes, no, 0, no) \
3992 #define SIZE_CLASSES_DEFINED
3997 #define LG_CEIL_NSIZES 8
3999 #define LG_TINY_MAXCLASS 3
4000 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
4001 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
4002 #define LG_LARGE_MINCLASS 16
4003 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
4004 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
4007 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 16)
4008 #define SIZE_CLASSES \
4009 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
4010 SC( 0, 3, 3, 0, no, yes, 1, 3) \
4012 SC( 1, 3, 3, 1, no, yes, 1, 3) \
4013 SC( 2, 4, 4, 1, no, yes, 1, 4) \
4014 SC( 3, 4, 4, 2, no, yes, 3, 4) \
4015 SC( 4, 4, 4, 3, no, yes, 1, 4) \
4017 SC( 5, 6, 4, 1, no, yes, 5, 4) \
4018 SC( 6, 6, 4, 2, no, yes, 3, 4) \
4019 SC( 7, 6, 4, 3, no, yes, 7, 4) \
4020 SC( 8, 6, 4, 4, no, yes, 1, 4) \
4022 SC( 9, 7, 5, 1, no, yes, 5, 5) \
4023 SC( 10, 7, 5, 2, no, yes, 3, 5) \
4024 SC( 11, 7, 5, 3, no, yes, 7, 5) \
4025 SC( 12, 7, 5, 4, no, yes, 1, 5) \
4027 SC( 13, 8, 6, 1, no, yes, 5, 6) \
4028 SC( 14, 8, 6, 2, no, yes, 3, 6) \
4029 SC( 15, 8, 6, 3, no, yes, 7, 6) \
4030 SC( 16, 8, 6, 4, no, yes, 1, 6) \
4032 SC( 17, 9, 7, 1, no, yes, 5, 7) \
4033 SC( 18, 9, 7, 2, no, yes, 3, 7) \
4034 SC( 19, 9, 7, 3, no, yes, 7, 7) \
4035 SC( 20, 9, 7, 4, no, yes, 1, 7) \
4037 SC( 21, 10, 8, 1, no, yes, 5, 8) \
4038 SC( 22, 10, 8, 2, no, yes, 3, 8) \
4039 SC( 23, 10, 8, 3, no, yes, 7, 8) \
4040 SC( 24, 10, 8, 4, no, yes, 1, 8) \
4042 SC( 25, 11, 9, 1, no, yes, 5, 9) \
4043 SC( 26, 11, 9, 2, no, yes, 3, 9) \
4044 SC( 27, 11, 9, 3, no, yes, 7, 9) \
4045 SC( 28, 11, 9, 4, no, yes, 1, 9) \
4047 SC( 29, 12, 10, 1, no, yes, 5, no) \
4048 SC( 30, 12, 10, 2, no, yes, 3, no) \
4049 SC( 31, 12, 10, 3, no, yes, 7, no) \
4050 SC( 32, 12, 10, 4, no, yes, 1, no) \
4052 SC( 33, 13, 11, 1, no, yes, 5, no) \
4053 SC( 34, 13, 11, 2, no, yes, 3, no) \
4054 SC( 35, 13, 11, 3, no, yes, 7, no) \
4055 SC( 36, 13, 11, 4, no, yes, 1, no) \
4057 SC( 37, 14, 12, 1, no, yes, 5, no) \
4058 SC( 38, 14, 12, 2, no, yes, 3, no) \
4059 SC( 39, 14, 12, 3, no, yes, 7, no) \
4060 SC( 40, 14, 12, 4, no, yes, 1, no) \
4062 SC( 41, 15, 13, 1, no, yes, 5, no) \
4063 SC( 42, 15, 13, 2, no, yes, 3, no) \
4064 SC( 43, 15, 13, 3, no, yes, 7, no) \
4065 SC( 44, 15, 13, 4, yes, yes, 1, no) \
4067 SC( 45, 16, 14, 1, no, yes, 5, no) \
4068 SC( 46, 16, 14, 2, no, yes, 3, no) \
4069 SC( 47, 16, 14, 3, no, yes, 7, no) \
4070 SC( 48, 16, 14, 4, yes, yes, 2, no) \
4072 SC( 49, 17, 15, 1, no, yes, 5, no) \
4073 SC( 50, 17, 15, 2, yes, yes, 3, no) \
4074 SC( 51, 17, 15, 3, no, yes, 7, no) \
4075 SC( 52, 17, 15, 4, yes, no, 0, no) \
4077 SC( 53, 18, 16, 1, yes, no, 0, no) \
4078 SC( 54, 18, 16, 2, yes, no, 0, no) \
4079 SC( 55, 18, 16, 3, yes, no, 0, no) \
4080 SC( 56, 18, 16, 4, yes, no, 0, no) \
4082 SC( 57, 19, 17, 1, yes, no, 0, no) \
4083 SC( 58, 19, 17, 2, yes, no, 0, no) \
4084 SC( 59, 19, 17, 3, yes, no, 0, no) \
4085 SC( 60, 19, 17, 4, yes, no, 0, no) \
4087 SC( 61, 20, 18, 1, yes, no, 0, no) \
4088 SC( 62, 20, 18, 2, yes, no, 0, no) \
4089 SC( 63, 20, 18, 3, yes, no, 0, no) \
4090 SC( 64, 20, 18, 4, yes, no, 0, no) \
4092 SC( 65, 21, 19, 1, yes, no, 0, no) \
4093 SC( 66, 21, 19, 2, yes, no, 0, no) \
4094 SC( 67, 21, 19, 3, yes, no, 0, no) \
4095 SC( 68, 21, 19, 4, yes, no, 0, no) \
4097 SC( 69, 22, 20, 1, yes, no, 0, no) \
4098 SC( 70, 22, 20, 2, yes, no, 0, no) \
4099 SC( 71, 22, 20, 3, yes, no, 0, no) \
4100 SC( 72, 22, 20, 4, yes, no, 0, no) \
4102 SC( 73, 23, 21, 1, yes, no, 0, no) \
4103 SC( 74, 23, 21, 2, yes, no, 0, no) \
4104 SC( 75, 23, 21, 3, yes, no, 0, no) \
4105 SC( 76, 23, 21, 4, yes, no, 0, no) \
4107 SC( 77, 24, 22, 1, yes, no, 0, no) \
4108 SC( 78, 24, 22, 2, yes, no, 0, no) \
4109 SC( 79, 24, 22, 3, yes, no, 0, no) \
4110 SC( 80, 24, 22, 4, yes, no, 0, no) \
4112 SC( 81, 25, 23, 1, yes, no, 0, no) \
4113 SC( 82, 25, 23, 2, yes, no, 0, no) \
4114 SC( 83, 25, 23, 3, yes, no, 0, no) \
4115 SC( 84, 25, 23, 4, yes, no, 0, no) \
4117 SC( 85, 26, 24, 1, yes, no, 0, no) \
4118 SC( 86, 26, 24, 2, yes, no, 0, no) \
4119 SC( 87, 26, 24, 3, yes, no, 0, no) \
4120 SC( 88, 26, 24, 4, yes, no, 0, no) \
4122 SC( 89, 27, 25, 1, yes, no, 0, no) \
4123 SC( 90, 27, 25, 2, yes, no, 0, no) \
4124 SC( 91, 27, 25, 3, yes, no, 0, no) \
4125 SC( 92, 27, 25, 4, yes, no, 0, no) \
4127 SC( 93, 28, 26, 1, yes, no, 0, no) \
4128 SC( 94, 28, 26, 2, yes, no, 0, no) \
4129 SC( 95, 28, 26, 3, yes, no, 0, no) \
4130 SC( 96, 28, 26, 4, yes, no, 0, no) \
4132 SC( 97, 29, 27, 1, yes, no, 0, no) \
4133 SC( 98, 29, 27, 2, yes, no, 0, no) \
4134 SC( 99, 29, 27, 3, yes, no, 0, no) \
4135 SC(100, 29, 27, 4, yes, no, 0, no) \
4137 SC(101, 30, 28, 1, yes, no, 0, no) \
4138 SC(102, 30, 28, 2, yes, no, 0, no) \
4139 SC(103, 30, 28, 3, yes, no, 0, no) \
4140 SC(104, 30, 28, 4, yes, no, 0, no) \
4142 SC(105, 31, 29, 1, yes, no, 0, no) \
4143 SC(106, 31, 29, 2, yes, no, 0, no) \
4144 SC(107, 31, 29, 3, yes, no, 0, no) \
4145 SC(108, 31, 29, 4, yes, no, 0, no) \
4147 SC(109, 32, 30, 1, yes, no, 0, no) \
4148 SC(110, 32, 30, 2, yes, no, 0, no) \
4149 SC(111, 32, 30, 3, yes, no, 0, no) \
4150 SC(112, 32, 30, 4, yes, no, 0, no) \
4152 SC(113, 33, 31, 1, yes, no, 0, no) \
4153 SC(114, 33, 31, 2, yes, no, 0, no) \
4154 SC(115, 33, 31, 3, yes, no, 0, no) \
4155 SC(116, 33, 31, 4, yes, no, 0, no) \
4157 SC(117, 34, 32, 1, yes, no, 0, no) \
4158 SC(118, 34, 32, 2, yes, no, 0, no) \
4159 SC(119, 34, 32, 3, yes, no, 0, no) \
4160 SC(120, 34, 32, 4, yes, no, 0, no) \
4162 SC(121, 35, 33, 1, yes, no, 0, no) \
4163 SC(122, 35, 33, 2, yes, no, 0, no) \
4164 SC(123, 35, 33, 3, yes, no, 0, no) \
4165 SC(124, 35, 33, 4, yes, no, 0, no) \
4167 SC(125, 36, 34, 1, yes, no, 0, no) \
4168 SC(126, 36, 34, 2, yes, no, 0, no) \
4169 SC(127, 36, 34, 3, yes, no, 0, no) \
4170 SC(128, 36, 34, 4, yes, no, 0, no) \
4172 SC(129, 37, 35, 1, yes, no, 0, no) \
4173 SC(130, 37, 35, 2, yes, no, 0, no) \
4174 SC(131, 37, 35, 3, yes, no, 0, no) \
4175 SC(132, 37, 35, 4, yes, no, 0, no) \
4177 SC(133, 38, 36, 1, yes, no, 0, no) \
4178 SC(134, 38, 36, 2, yes, no, 0, no) \
4179 SC(135, 38, 36, 3, yes, no, 0, no) \
4180 SC(136, 38, 36, 4, yes, no, 0, no) \
4182 SC(137, 39, 37, 1, yes, no, 0, no) \
4183 SC(138, 39, 37, 2, yes, no, 0, no) \
4184 SC(139, 39, 37, 3, yes, no, 0, no) \
4185 SC(140, 39, 37, 4, yes, no, 0, no) \
4187 SC(141, 40, 38, 1, yes, no, 0, no) \
4188 SC(142, 40, 38, 2, yes, no, 0, no) \
4189 SC(143, 40, 38, 3, yes, no, 0, no) \
4190 SC(144, 40, 38, 4, yes, no, 0, no) \
4192 SC(145, 41, 39, 1, yes, no, 0, no) \
4193 SC(146, 41, 39, 2, yes, no, 0, no) \
4194 SC(147, 41, 39, 3, yes, no, 0, no) \
4195 SC(148, 41, 39, 4, yes, no, 0, no) \
4197 SC(149, 42, 40, 1, yes, no, 0, no) \
4198 SC(150, 42, 40, 2, yes, no, 0, no) \
4199 SC(151, 42, 40, 3, yes, no, 0, no) \
4200 SC(152, 42, 40, 4, yes, no, 0, no) \
4202 SC(153, 43, 41, 1, yes, no, 0, no) \
4203 SC(154, 43, 41, 2, yes, no, 0, no) \
4204 SC(155, 43, 41, 3, yes, no, 0, no) \
4205 SC(156, 43, 41, 4, yes, no, 0, no) \
4207 SC(157, 44, 42, 1, yes, no, 0, no) \
4208 SC(158, 44, 42, 2, yes, no, 0, no) \
4209 SC(159, 44, 42, 3, yes, no, 0, no) \
4210 SC(160, 44, 42, 4, yes, no, 0, no) \
4212 SC(161, 45, 43, 1, yes, no, 0, no) \
4213 SC(162, 45, 43, 2, yes, no, 0, no) \
4214 SC(163, 45, 43, 3, yes, no, 0, no) \
4215 SC(164, 45, 43, 4, yes, no, 0, no) \
4217 SC(165, 46, 44, 1, yes, no, 0, no) \
4218 SC(166, 46, 44, 2, yes, no, 0, no) \
4219 SC(167, 46, 44, 3, yes, no, 0, no) \
4220 SC(168, 46, 44, 4, yes, no, 0, no) \
4222 SC(169, 47, 45, 1, yes, no, 0, no) \
4223 SC(170, 47, 45, 2, yes, no, 0, no) \
4224 SC(171, 47, 45, 3, yes, no, 0, no) \
4225 SC(172, 47, 45, 4, yes, no, 0, no) \
4227 SC(173, 48, 46, 1, yes, no, 0, no) \
4228 SC(174, 48, 46, 2, yes, no, 0, no) \
4229 SC(175, 48, 46, 3, yes, no, 0, no) \
4230 SC(176, 48, 46, 4, yes, no, 0, no) \
4232 SC(177, 49, 47, 1, yes, no, 0, no) \
4233 SC(178, 49, 47, 2, yes, no, 0, no) \
4234 SC(179, 49, 47, 3, yes, no, 0, no) \
4235 SC(180, 49, 47, 4, yes, no, 0, no) \
4237 SC(181, 50, 48, 1, yes, no, 0, no) \
4238 SC(182, 50, 48, 2, yes, no, 0, no) \
4239 SC(183, 50, 48, 3, yes, no, 0, no) \
4240 SC(184, 50, 48, 4, yes, no, 0, no) \
4242 SC(185, 51, 49, 1, yes, no, 0, no) \
4243 SC(186, 51, 49, 2, yes, no, 0, no) \
4244 SC(187, 51, 49, 3, yes, no, 0, no) \
4245 SC(188, 51, 49, 4, yes, no, 0, no) \
4247 SC(189, 52, 50, 1, yes, no, 0, no) \
4248 SC(190, 52, 50, 2, yes, no, 0, no) \
4249 SC(191, 52, 50, 3, yes, no, 0, no) \
4250 SC(192, 52, 50, 4, yes, no, 0, no) \
4252 SC(193, 53, 51, 1, yes, no, 0, no) \
4253 SC(194, 53, 51, 2, yes, no, 0, no) \
4254 SC(195, 53, 51, 3, yes, no, 0, no) \
4255 SC(196, 53, 51, 4, yes, no, 0, no) \
4257 SC(197, 54, 52, 1, yes, no, 0, no) \
4258 SC(198, 54, 52, 2, yes, no, 0, no) \
4259 SC(199, 54, 52, 3, yes, no, 0, no) \
4260 SC(200, 54, 52, 4, yes, no, 0, no) \
4262 SC(201, 55, 53, 1, yes, no, 0, no) \
4263 SC(202, 55, 53, 2, yes, no, 0, no) \
4264 SC(203, 55, 53, 3, yes, no, 0, no) \
4265 SC(204, 55, 53, 4, yes, no, 0, no) \
4267 SC(205, 56, 54, 1, yes, no, 0, no) \
4268 SC(206, 56, 54, 2, yes, no, 0, no) \
4269 SC(207, 56, 54, 3, yes, no, 0, no) \
4270 SC(208, 56, 54, 4, yes, no, 0, no) \
4272 SC(209, 57, 55, 1, yes, no, 0, no) \
4273 SC(210, 57, 55, 2, yes, no, 0, no) \
4274 SC(211, 57, 55, 3, yes, no, 0, no) \
4275 SC(212, 57, 55, 4, yes, no, 0, no) \
4277 SC(213, 58, 56, 1, yes, no, 0, no) \
4278 SC(214, 58, 56, 2, yes, no, 0, no) \
4279 SC(215, 58, 56, 3, yes, no, 0, no) \
4280 SC(216, 58, 56, 4, yes, no, 0, no) \
4282 SC(217, 59, 57, 1, yes, no, 0, no) \
4283 SC(218, 59, 57, 2, yes, no, 0, no) \
4284 SC(219, 59, 57, 3, yes, no, 0, no) \
4285 SC(220, 59, 57, 4, yes, no, 0, no) \
4287 SC(221, 60, 58, 1, yes, no, 0, no) \
4288 SC(222, 60, 58, 2, yes, no, 0, no) \
4289 SC(223, 60, 58, 3, yes, no, 0, no) \
4290 SC(224, 60, 58, 4, yes, no, 0, no) \
4292 SC(225, 61, 59, 1, yes, no, 0, no) \
4293 SC(226, 61, 59, 2, yes, no, 0, no) \
4294 SC(227, 61, 59, 3, yes, no, 0, no) \
4295 SC(228, 61, 59, 4, yes, no, 0, no) \
4297 SC(229, 62, 60, 1, yes, no, 0, no) \
4298 SC(230, 62, 60, 2, yes, no, 0, no) \
4299 SC(231, 62, 60, 3, yes, no, 0, no) \
4301 #define SIZE_CLASSES_DEFINED
4306 #define LG_CEIL_NSIZES 8
4308 #define LG_TINY_MAXCLASS 3
4309 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
4310 #define SMALL_MAXCLASS ((((size_t)1) << 17) + (((size_t)3) << 15))
4311 #define LG_LARGE_MINCLASS 18
4312 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
4313 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
4316 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 12)
4317 #define SIZE_CLASSES \
4318 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
4319 SC( 0, 4, 4, 0, no, yes, 1, 4) \
4320 SC( 1, 4, 4, 1, no, yes, 1, 4) \
4321 SC( 2, 4, 4, 2, no, yes, 3, 4) \
4322 SC( 3, 4, 4, 3, no, yes, 1, 4) \
4324 SC( 4, 6, 4, 1, no, yes, 5, 4) \
4325 SC( 5, 6, 4, 2, no, yes, 3, 4) \
4326 SC( 6, 6, 4, 3, no, yes, 7, 4) \
4327 SC( 7, 6, 4, 4, no, yes, 1, 4) \
4329 SC( 8, 7, 5, 1, no, yes, 5, 5) \
4330 SC( 9, 7, 5, 2, no, yes, 3, 5) \
4331 SC( 10, 7, 5, 3, no, yes, 7, 5) \
4332 SC( 11, 7, 5, 4, no, yes, 1, 5) \
4334 SC( 12, 8, 6, 1, no, yes, 5, 6) \
4335 SC( 13, 8, 6, 2, no, yes, 3, 6) \
4336 SC( 14, 8, 6, 3, no, yes, 7, 6) \
4337 SC( 15, 8, 6, 4, no, yes, 1, 6) \
4339 SC( 16, 9, 7, 1, no, yes, 5, 7) \
4340 SC( 17, 9, 7, 2, no, yes, 3, 7) \
4341 SC( 18, 9, 7, 3, no, yes, 7, 7) \
4342 SC( 19, 9, 7, 4, no, yes, 1, 7) \
4344 SC( 20, 10, 8, 1, no, yes, 5, 8) \
4345 SC( 21, 10, 8, 2, no, yes, 3, 8) \
4346 SC( 22, 10, 8, 3, no, yes, 7, 8) \
4347 SC( 23, 10, 8, 4, no, yes, 1, 8) \
4349 SC( 24, 11, 9, 1, no, yes, 5, 9) \
4350 SC( 25, 11, 9, 2, no, yes, 3, 9) \
4351 SC( 26, 11, 9, 3, no, yes, 7, 9) \
4352 SC( 27, 11, 9, 4, yes, yes, 1, 9) \
4354 SC( 28, 12, 10, 1, no, yes, 5, no) \
4355 SC( 29, 12, 10, 2, no, yes, 3, no) \
4356 SC( 30, 12, 10, 3, no, yes, 7, no) \
4357 SC( 31, 12, 10, 4, yes, yes, 2, no) \
4359 SC( 32, 13, 11, 1, no, yes, 5, no) \
4360 SC( 33, 13, 11, 2, yes, yes, 3, no) \
4361 SC( 34, 13, 11, 3, no, yes, 7, no) \
4362 SC( 35, 13, 11, 4, yes, no, 0, no) \
4364 SC( 36, 14, 12, 1, yes, no, 0, no) \
4365 SC( 37, 14, 12, 2, yes, no, 0, no) \
4366 SC( 38, 14, 12, 3, yes, no, 0, no) \
4367 SC( 39, 14, 12, 4, yes, no, 0, no) \
4369 SC( 40, 15, 13, 1, yes, no, 0, no) \
4370 SC( 41, 15, 13, 2, yes, no, 0, no) \
4371 SC( 42, 15, 13, 3, yes, no, 0, no) \
4372 SC( 43, 15, 13, 4, yes, no, 0, no) \
4374 SC( 44, 16, 14, 1, yes, no, 0, no) \
4375 SC( 45, 16, 14, 2, yes, no, 0, no) \
4376 SC( 46, 16, 14, 3, yes, no, 0, no) \
4377 SC( 47, 16, 14, 4, yes, no, 0, no) \
4379 SC( 48, 17, 15, 1, yes, no, 0, no) \
4380 SC( 49, 17, 15, 2, yes, no, 0, no) \
4381 SC( 50, 17, 15, 3, yes, no, 0, no) \
4382 SC( 51, 17, 15, 4, yes, no, 0, no) \
4384 SC( 52, 18, 16, 1, yes, no, 0, no) \
4385 SC( 53, 18, 16, 2, yes, no, 0, no) \
4386 SC( 54, 18, 16, 3, yes, no, 0, no) \
4387 SC( 55, 18, 16, 4, yes, no, 0, no) \
4389 SC( 56, 19, 17, 1, yes, no, 0, no) \
4390 SC( 57, 19, 17, 2, yes, no, 0, no) \
4391 SC( 58, 19, 17, 3, yes, no, 0, no) \
4392 SC( 59, 19, 17, 4, yes, no, 0, no) \
4394 SC( 60, 20, 18, 1, yes, no, 0, no) \
4395 SC( 61, 20, 18, 2, yes, no, 0, no) \
4396 SC( 62, 20, 18, 3, yes, no, 0, no) \
4397 SC( 63, 20, 18, 4, yes, no, 0, no) \
4399 SC( 64, 21, 19, 1, yes, no, 0, no) \
4400 SC( 65, 21, 19, 2, yes, no, 0, no) \
4401 SC( 66, 21, 19, 3, yes, no, 0, no) \
4402 SC( 67, 21, 19, 4, yes, no, 0, no) \
4404 SC( 68, 22, 20, 1, yes, no, 0, no) \
4405 SC( 69, 22, 20, 2, yes, no, 0, no) \
4406 SC( 70, 22, 20, 3, yes, no, 0, no) \
4407 SC( 71, 22, 20, 4, yes, no, 0, no) \
4409 SC( 72, 23, 21, 1, yes, no, 0, no) \
4410 SC( 73, 23, 21, 2, yes, no, 0, no) \
4411 SC( 74, 23, 21, 3, yes, no, 0, no) \
4412 SC( 75, 23, 21, 4, yes, no, 0, no) \
4414 SC( 76, 24, 22, 1, yes, no, 0, no) \
4415 SC( 77, 24, 22, 2, yes, no, 0, no) \
4416 SC( 78, 24, 22, 3, yes, no, 0, no) \
4417 SC( 79, 24, 22, 4, yes, no, 0, no) \
4419 SC( 80, 25, 23, 1, yes, no, 0, no) \
4420 SC( 81, 25, 23, 2, yes, no, 0, no) \
4421 SC( 82, 25, 23, 3, yes, no, 0, no) \
4422 SC( 83, 25, 23, 4, yes, no, 0, no) \
4424 SC( 84, 26, 24, 1, yes, no, 0, no) \
4425 SC( 85, 26, 24, 2, yes, no, 0, no) \
4426 SC( 86, 26, 24, 3, yes, no, 0, no) \
4427 SC( 87, 26, 24, 4, yes, no, 0, no) \
4429 SC( 88, 27, 25, 1, yes, no, 0, no) \
4430 SC( 89, 27, 25, 2, yes, no, 0, no) \
4431 SC( 90, 27, 25, 3, yes, no, 0, no) \
4432 SC( 91, 27, 25, 4, yes, no, 0, no) \
4434 SC( 92, 28, 26, 1, yes, no, 0, no) \
4435 SC( 93, 28, 26, 2, yes, no, 0, no) \
4436 SC( 94, 28, 26, 3, yes, no, 0, no) \
4437 SC( 95, 28, 26, 4, yes, no, 0, no) \
4439 SC( 96, 29, 27, 1, yes, no, 0, no) \
4440 SC( 97, 29, 27, 2, yes, no, 0, no) \
4441 SC( 98, 29, 27, 3, yes, no, 0, no) \
4442 SC( 99, 29, 27, 4, yes, no, 0, no) \
4444 SC(100, 30, 28, 1, yes, no, 0, no) \
4445 SC(101, 30, 28, 2, yes, no, 0, no) \
4446 SC(102, 30, 28, 3, yes, no, 0, no) \
4447 SC(103, 30, 28, 4, yes, no, 0, no) \
4449 SC(104, 31, 29, 1, yes, no, 0, no) \
4450 SC(105, 31, 29, 2, yes, no, 0, no) \
4451 SC(106, 31, 29, 3, yes, no, 0, no) \
4452 SC(107, 31, 29, 4, yes, no, 0, no) \
4454 SC(108, 32, 30, 1, yes, no, 0, no) \
4455 SC(109, 32, 30, 2, yes, no, 0, no) \
4456 SC(110, 32, 30, 3, yes, no, 0, no) \
4457 SC(111, 32, 30, 4, yes, no, 0, no) \
4459 SC(112, 33, 31, 1, yes, no, 0, no) \
4460 SC(113, 33, 31, 2, yes, no, 0, no) \
4461 SC(114, 33, 31, 3, yes, no, 0, no) \
4462 SC(115, 33, 31, 4, yes, no, 0, no) \
4464 SC(116, 34, 32, 1, yes, no, 0, no) \
4465 SC(117, 34, 32, 2, yes, no, 0, no) \
4466 SC(118, 34, 32, 3, yes, no, 0, no) \
4467 SC(119, 34, 32, 4, yes, no, 0, no) \
4469 SC(120, 35, 33, 1, yes, no, 0, no) \
4470 SC(121, 35, 33, 2, yes, no, 0, no) \
4471 SC(122, 35, 33, 3, yes, no, 0, no) \
4472 SC(123, 35, 33, 4, yes, no, 0, no) \
4474 SC(124, 36, 34, 1, yes, no, 0, no) \
4475 SC(125, 36, 34, 2, yes, no, 0, no) \
4476 SC(126, 36, 34, 3, yes, no, 0, no) \
4477 SC(127, 36, 34, 4, yes, no, 0, no) \
4479 SC(128, 37, 35, 1, yes, no, 0, no) \
4480 SC(129, 37, 35, 2, yes, no, 0, no) \
4481 SC(130, 37, 35, 3, yes, no, 0, no) \
4482 SC(131, 37, 35, 4, yes, no, 0, no) \
4484 SC(132, 38, 36, 1, yes, no, 0, no) \
4485 SC(133, 38, 36, 2, yes, no, 0, no) \
4486 SC(134, 38, 36, 3, yes, no, 0, no) \
4487 SC(135, 38, 36, 4, yes, no, 0, no) \
4489 SC(136, 39, 37, 1, yes, no, 0, no) \
4490 SC(137, 39, 37, 2, yes, no, 0, no) \
4491 SC(138, 39, 37, 3, yes, no, 0, no) \
4492 SC(139, 39, 37, 4, yes, no, 0, no) \
4494 SC(140, 40, 38, 1, yes, no, 0, no) \
4495 SC(141, 40, 38, 2, yes, no, 0, no) \
4496 SC(142, 40, 38, 3, yes, no, 0, no) \
4497 SC(143, 40, 38, 4, yes, no, 0, no) \
4499 SC(144, 41, 39, 1, yes, no, 0, no) \
4500 SC(145, 41, 39, 2, yes, no, 0, no) \
4501 SC(146, 41, 39, 3, yes, no, 0, no) \
4502 SC(147, 41, 39, 4, yes, no, 0, no) \
4504 SC(148, 42, 40, 1, yes, no, 0, no) \
4505 SC(149, 42, 40, 2, yes, no, 0, no) \
4506 SC(150, 42, 40, 3, yes, no, 0, no) \
4507 SC(151, 42, 40, 4, yes, no, 0, no) \
4509 SC(152, 43, 41, 1, yes, no, 0, no) \
4510 SC(153, 43, 41, 2, yes, no, 0, no) \
4511 SC(154, 43, 41, 3, yes, no, 0, no) \
4512 SC(155, 43, 41, 4, yes, no, 0, no) \
4514 SC(156, 44, 42, 1, yes, no, 0, no) \
4515 SC(157, 44, 42, 2, yes, no, 0, no) \
4516 SC(158, 44, 42, 3, yes, no, 0, no) \
4517 SC(159, 44, 42, 4, yes, no, 0, no) \
4519 SC(160, 45, 43, 1, yes, no, 0, no) \
4520 SC(161, 45, 43, 2, yes, no, 0, no) \
4521 SC(162, 45, 43, 3, yes, no, 0, no) \
4522 SC(163, 45, 43, 4, yes, no, 0, no) \
4524 SC(164, 46, 44, 1, yes, no, 0, no) \
4525 SC(165, 46, 44, 2, yes, no, 0, no) \
4526 SC(166, 46, 44, 3, yes, no, 0, no) \
4527 SC(167, 46, 44, 4, yes, no, 0, no) \
4529 SC(168, 47, 45, 1, yes, no, 0, no) \
4530 SC(169, 47, 45, 2, yes, no, 0, no) \
4531 SC(170, 47, 45, 3, yes, no, 0, no) \
4532 SC(171, 47, 45, 4, yes, no, 0, no) \
4534 SC(172, 48, 46, 1, yes, no, 0, no) \
4535 SC(173, 48, 46, 2, yes, no, 0, no) \
4536 SC(174, 48, 46, 3, yes, no, 0, no) \
4537 SC(175, 48, 46, 4, yes, no, 0, no) \
4539 SC(176, 49, 47, 1, yes, no, 0, no) \
4540 SC(177, 49, 47, 2, yes, no, 0, no) \
4541 SC(178, 49, 47, 3, yes, no, 0, no) \
4542 SC(179, 49, 47, 4, yes, no, 0, no) \
4544 SC(180, 50, 48, 1, yes, no, 0, no) \
4545 SC(181, 50, 48, 2, yes, no, 0, no) \
4546 SC(182, 50, 48, 3, yes, no, 0, no) \
4547 SC(183, 50, 48, 4, yes, no, 0, no) \
4549 SC(184, 51, 49, 1, yes, no, 0, no) \
4550 SC(185, 51, 49, 2, yes, no, 0, no) \
4551 SC(186, 51, 49, 3, yes, no, 0, no) \
4552 SC(187, 51, 49, 4, yes, no, 0, no) \
4554 SC(188, 52, 50, 1, yes, no, 0, no) \
4555 SC(189, 52, 50, 2, yes, no, 0, no) \
4556 SC(190, 52, 50, 3, yes, no, 0, no) \
4557 SC(191, 52, 50, 4, yes, no, 0, no) \
4559 SC(192, 53, 51, 1, yes, no, 0, no) \
4560 SC(193, 53, 51, 2, yes, no, 0, no) \
4561 SC(194, 53, 51, 3, yes, no, 0, no) \
4562 SC(195, 53, 51, 4, yes, no, 0, no) \
4564 SC(196, 54, 52, 1, yes, no, 0, no) \
4565 SC(197, 54, 52, 2, yes, no, 0, no) \
4566 SC(198, 54, 52, 3, yes, no, 0, no) \
4567 SC(199, 54, 52, 4, yes, no, 0, no) \
4569 SC(200, 55, 53, 1, yes, no, 0, no) \
4570 SC(201, 55, 53, 2, yes, no, 0, no) \
4571 SC(202, 55, 53, 3, yes, no, 0, no) \
4572 SC(203, 55, 53, 4, yes, no, 0, no) \
4574 SC(204, 56, 54, 1, yes, no, 0, no) \
4575 SC(205, 56, 54, 2, yes, no, 0, no) \
4576 SC(206, 56, 54, 3, yes, no, 0, no) \
4577 SC(207, 56, 54, 4, yes, no, 0, no) \
4579 SC(208, 57, 55, 1, yes, no, 0, no) \
4580 SC(209, 57, 55, 2, yes, no, 0, no) \
4581 SC(210, 57, 55, 3, yes, no, 0, no) \
4582 SC(211, 57, 55, 4, yes, no, 0, no) \
4584 SC(212, 58, 56, 1, yes, no, 0, no) \
4585 SC(213, 58, 56, 2, yes, no, 0, no) \
4586 SC(214, 58, 56, 3, yes, no, 0, no) \
4587 SC(215, 58, 56, 4, yes, no, 0, no) \
4589 SC(216, 59, 57, 1, yes, no, 0, no) \
4590 SC(217, 59, 57, 2, yes, no, 0, no) \
4591 SC(218, 59, 57, 3, yes, no, 0, no) \
4592 SC(219, 59, 57, 4, yes, no, 0, no) \
4594 SC(220, 60, 58, 1, yes, no, 0, no) \
4595 SC(221, 60, 58, 2, yes, no, 0, no) \
4596 SC(222, 60, 58, 3, yes, no, 0, no) \
4597 SC(223, 60, 58, 4, yes, no, 0, no) \
4599 SC(224, 61, 59, 1, yes, no, 0, no) \
4600 SC(225, 61, 59, 2, yes, no, 0, no) \
4601 SC(226, 61, 59, 3, yes, no, 0, no) \
4602 SC(227, 61, 59, 4, yes, no, 0, no) \
4604 SC(228, 62, 60, 1, yes, no, 0, no) \
4605 SC(229, 62, 60, 2, yes, no, 0, no) \
4606 SC(230, 62, 60, 3, yes, no, 0, no) \
4608 #define SIZE_CLASSES_DEFINED
4613 #define LG_CEIL_NSIZES 8
4615 #define LG_TINY_MAXCLASS "NA"
4616 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
4617 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11))
4618 #define LG_LARGE_MINCLASS 14
4619 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
4620 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
4623 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 13)
4624 #define SIZE_CLASSES \
4625 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
4626 SC( 0, 4, 4, 0, no, yes, 1, 4) \
4627 SC( 1, 4, 4, 1, no, yes, 1, 4) \
4628 SC( 2, 4, 4, 2, no, yes, 3, 4) \
4629 SC( 3, 4, 4, 3, no, yes, 1, 4) \
4631 SC( 4, 6, 4, 1, no, yes, 5, 4) \
4632 SC( 5, 6, 4, 2, no, yes, 3, 4) \
4633 SC( 6, 6, 4, 3, no, yes, 7, 4) \
4634 SC( 7, 6, 4, 4, no, yes, 1, 4) \
4636 SC( 8, 7, 5, 1, no, yes, 5, 5) \
4637 SC( 9, 7, 5, 2, no, yes, 3, 5) \
4638 SC( 10, 7, 5, 3, no, yes, 7, 5) \
4639 SC( 11, 7, 5, 4, no, yes, 1, 5) \
4641 SC( 12, 8, 6, 1, no, yes, 5, 6) \
4642 SC( 13, 8, 6, 2, no, yes, 3, 6) \
4643 SC( 14, 8, 6, 3, no, yes, 7, 6) \
4644 SC( 15, 8, 6, 4, no, yes, 1, 6) \
4646 SC( 16, 9, 7, 1, no, yes, 5, 7) \
4647 SC( 17, 9, 7, 2, no, yes, 3, 7) \
4648 SC( 18, 9, 7, 3, no, yes, 7, 7) \
4649 SC( 19, 9, 7, 4, no, yes, 1, 7) \
4651 SC( 20, 10, 8, 1, no, yes, 5, 8) \
4652 SC( 21, 10, 8, 2, no, yes, 3, 8) \
4653 SC( 22, 10, 8, 3, no, yes, 7, 8) \
4654 SC( 23, 10, 8, 4, no, yes, 1, 8) \
4656 SC( 24, 11, 9, 1, no, yes, 5, 9) \
4657 SC( 25, 11, 9, 2, no, yes, 3, 9) \
4658 SC( 26, 11, 9, 3, no, yes, 7, 9) \
4659 SC( 27, 11, 9, 4, no, yes, 1, 9) \
4661 SC( 28, 12, 10, 1, no, yes, 5, no) \
4662 SC( 29, 12, 10, 2, no, yes, 3, no) \
4663 SC( 30, 12, 10, 3, no, yes, 7, no) \
4664 SC( 31, 12, 10, 4, yes, yes, 1, no) \
4666 SC( 32, 13, 11, 1, no, yes, 5, no) \
4667 SC( 33, 13, 11, 2, no, yes, 3, no) \
4668 SC( 34, 13, 11, 3, no, yes, 7, no) \
4669 SC( 35, 13, 11, 4, yes, yes, 2, no) \
4671 SC( 36, 14, 12, 1, no, yes, 5, no) \
4672 SC( 37, 14, 12, 2, yes, yes, 3, no) \
4673 SC( 38, 14, 12, 3, no, yes, 7, no) \
4674 SC( 39, 14, 12, 4, yes, no, 0, no) \
4676 SC( 40, 15, 13, 1, yes, no, 0, no) \
4677 SC( 41, 15, 13, 2, yes, no, 0, no) \
4678 SC( 42, 15, 13, 3, yes, no, 0, no) \
4679 SC( 43, 15, 13, 4, yes, no, 0, no) \
4681 SC( 44, 16, 14, 1, yes, no, 0, no) \
4682 SC( 45, 16, 14, 2, yes, no, 0, no) \
4683 SC( 46, 16, 14, 3, yes, no, 0, no) \
4684 SC( 47, 16, 14, 4, yes, no, 0, no) \
4686 SC( 48, 17, 15, 1, yes, no, 0, no) \
4687 SC( 49, 17, 15, 2, yes, no, 0, no) \
4688 SC( 50, 17, 15, 3, yes, no, 0, no) \
4689 SC( 51, 17, 15, 4, yes, no, 0, no) \
4691 SC( 52, 18, 16, 1, yes, no, 0, no) \
4692 SC( 53, 18, 16, 2, yes, no, 0, no) \
4693 SC( 54, 18, 16, 3, yes, no, 0, no) \
4694 SC( 55, 18, 16, 4, yes, no, 0, no) \
4696 SC( 56, 19, 17, 1, yes, no, 0, no) \
4697 SC( 57, 19, 17, 2, yes, no, 0, no) \
4698 SC( 58, 19, 17, 3, yes, no, 0, no) \
4699 SC( 59, 19, 17, 4, yes, no, 0, no) \
4701 SC( 60, 20, 18, 1, yes, no, 0, no) \
4702 SC( 61, 20, 18, 2, yes, no, 0, no) \
4703 SC( 62, 20, 18, 3, yes, no, 0, no) \
4704 SC( 63, 20, 18, 4, yes, no, 0, no) \
4706 SC( 64, 21, 19, 1, yes, no, 0, no) \
4707 SC( 65, 21, 19, 2, yes, no, 0, no) \
4708 SC( 66, 21, 19, 3, yes, no, 0, no) \
4709 SC( 67, 21, 19, 4, yes, no, 0, no) \
4711 SC( 68, 22, 20, 1, yes, no, 0, no) \
4712 SC( 69, 22, 20, 2, yes, no, 0, no) \
4713 SC( 70, 22, 20, 3, yes, no, 0, no) \
4714 SC( 71, 22, 20, 4, yes, no, 0, no) \
4716 SC( 72, 23, 21, 1, yes, no, 0, no) \
4717 SC( 73, 23, 21, 2, yes, no, 0, no) \
4718 SC( 74, 23, 21, 3, yes, no, 0, no) \
4719 SC( 75, 23, 21, 4, yes, no, 0, no) \
4721 SC( 76, 24, 22, 1, yes, no, 0, no) \
4722 SC( 77, 24, 22, 2, yes, no, 0, no) \
4723 SC( 78, 24, 22, 3, yes, no, 0, no) \
4724 SC( 79, 24, 22, 4, yes, no, 0, no) \
4726 SC( 80, 25, 23, 1, yes, no, 0, no) \
4727 SC( 81, 25, 23, 2, yes, no, 0, no) \
4728 SC( 82, 25, 23, 3, yes, no, 0, no) \
4729 SC( 83, 25, 23, 4, yes, no, 0, no) \
4731 SC( 84, 26, 24, 1, yes, no, 0, no) \
4732 SC( 85, 26, 24, 2, yes, no, 0, no) \
4733 SC( 86, 26, 24, 3, yes, no, 0, no) \
4734 SC( 87, 26, 24, 4, yes, no, 0, no) \
4736 SC( 88, 27, 25, 1, yes, no, 0, no) \
4737 SC( 89, 27, 25, 2, yes, no, 0, no) \
4738 SC( 90, 27, 25, 3, yes, no, 0, no) \
4739 SC( 91, 27, 25, 4, yes, no, 0, no) \
4741 SC( 92, 28, 26, 1, yes, no, 0, no) \
4742 SC( 93, 28, 26, 2, yes, no, 0, no) \
4743 SC( 94, 28, 26, 3, yes, no, 0, no) \
4744 SC( 95, 28, 26, 4, yes, no, 0, no) \
4746 SC( 96, 29, 27, 1, yes, no, 0, no) \
4747 SC( 97, 29, 27, 2, yes, no, 0, no) \
4748 SC( 98, 29, 27, 3, yes, no, 0, no) \
4749 SC( 99, 29, 27, 4, yes, no, 0, no) \
4751 SC(100, 30, 28, 1, yes, no, 0, no) \
4752 SC(101, 30, 28, 2, yes, no, 0, no) \
4753 SC(102, 30, 28, 3, yes, no, 0, no) \
4754 SC(103, 30, 28, 4, yes, no, 0, no) \
4756 SC(104, 31, 29, 1, yes, no, 0, no) \
4757 SC(105, 31, 29, 2, yes, no, 0, no) \
4758 SC(106, 31, 29, 3, yes, no, 0, no) \
4759 SC(107, 31, 29, 4, yes, no, 0, no) \
4761 SC(108, 32, 30, 1, yes, no, 0, no) \
4762 SC(109, 32, 30, 2, yes, no, 0, no) \
4763 SC(110, 32, 30, 3, yes, no, 0, no) \
4764 SC(111, 32, 30, 4, yes, no, 0, no) \
4766 SC(112, 33, 31, 1, yes, no, 0, no) \
4767 SC(113, 33, 31, 2, yes, no, 0, no) \
4768 SC(114, 33, 31, 3, yes, no, 0, no) \
4769 SC(115, 33, 31, 4, yes, no, 0, no) \
4771 SC(116, 34, 32, 1, yes, no, 0, no) \
4772 SC(117, 34, 32, 2, yes, no, 0, no) \
4773 SC(118, 34, 32, 3, yes, no, 0, no) \
4774 SC(119, 34, 32, 4, yes, no, 0, no) \
4776 SC(120, 35, 33, 1, yes, no, 0, no) \
4777 SC(121, 35, 33, 2, yes, no, 0, no) \
4778 SC(122, 35, 33, 3, yes, no, 0, no) \
4779 SC(123, 35, 33, 4, yes, no, 0, no) \
4781 SC(124, 36, 34, 1, yes, no, 0, no) \
4782 SC(125, 36, 34, 2, yes, no, 0, no) \
4783 SC(126, 36, 34, 3, yes, no, 0, no) \
4784 SC(127, 36, 34, 4, yes, no, 0, no) \
4786 SC(128, 37, 35, 1, yes, no, 0, no) \
4787 SC(129, 37, 35, 2, yes, no, 0, no) \
4788 SC(130, 37, 35, 3, yes, no, 0, no) \
4789 SC(131, 37, 35, 4, yes, no, 0, no) \
4791 SC(132, 38, 36, 1, yes, no, 0, no) \
4792 SC(133, 38, 36, 2, yes, no, 0, no) \
4793 SC(134, 38, 36, 3, yes, no, 0, no) \
4794 SC(135, 38, 36, 4, yes, no, 0, no) \
4796 SC(136, 39, 37, 1, yes, no, 0, no) \
4797 SC(137, 39, 37, 2, yes, no, 0, no) \
4798 SC(138, 39, 37, 3, yes, no, 0, no) \
4799 SC(139, 39, 37, 4, yes, no, 0, no) \
4801 SC(140, 40, 38, 1, yes, no, 0, no) \
4802 SC(141, 40, 38, 2, yes, no, 0, no) \
4803 SC(142, 40, 38, 3, yes, no, 0, no) \
4804 SC(143, 40, 38, 4, yes, no, 0, no) \
4806 SC(144, 41, 39, 1, yes, no, 0, no) \
4807 SC(145, 41, 39, 2, yes, no, 0, no) \
4808 SC(146, 41, 39, 3, yes, no, 0, no) \
4809 SC(147, 41, 39, 4, yes, no, 0, no) \
4811 SC(148, 42, 40, 1, yes, no, 0, no) \
4812 SC(149, 42, 40, 2, yes, no, 0, no) \
4813 SC(150, 42, 40, 3, yes, no, 0, no) \
4814 SC(151, 42, 40, 4, yes, no, 0, no) \
4816 SC(152, 43, 41, 1, yes, no, 0, no) \
4817 SC(153, 43, 41, 2, yes, no, 0, no) \
4818 SC(154, 43, 41, 3, yes, no, 0, no) \
4819 SC(155, 43, 41, 4, yes, no, 0, no) \
4821 SC(156, 44, 42, 1, yes, no, 0, no) \
4822 SC(157, 44, 42, 2, yes, no, 0, no) \
4823 SC(158, 44, 42, 3, yes, no, 0, no) \
4824 SC(159, 44, 42, 4, yes, no, 0, no) \
4826 SC(160, 45, 43, 1, yes, no, 0, no) \
4827 SC(161, 45, 43, 2, yes, no, 0, no) \
4828 SC(162, 45, 43, 3, yes, no, 0, no) \
4829 SC(163, 45, 43, 4, yes, no, 0, no) \
4831 SC(164, 46, 44, 1, yes, no, 0, no) \
4832 SC(165, 46, 44, 2, yes, no, 0, no) \
4833 SC(166, 46, 44, 3, yes, no, 0, no) \
4834 SC(167, 46, 44, 4, yes, no, 0, no) \
4836 SC(168, 47, 45, 1, yes, no, 0, no) \
4837 SC(169, 47, 45, 2, yes, no, 0, no) \
4838 SC(170, 47, 45, 3, yes, no, 0, no) \
4839 SC(171, 47, 45, 4, yes, no, 0, no) \
4841 SC(172, 48, 46, 1, yes, no, 0, no) \
4842 SC(173, 48, 46, 2, yes, no, 0, no) \
4843 SC(174, 48, 46, 3, yes, no, 0, no) \
4844 SC(175, 48, 46, 4, yes, no, 0, no) \
4846 SC(176, 49, 47, 1, yes, no, 0, no) \
4847 SC(177, 49, 47, 2, yes, no, 0, no) \
4848 SC(178, 49, 47, 3, yes, no, 0, no) \
4849 SC(179, 49, 47, 4, yes, no, 0, no) \
4851 SC(180, 50, 48, 1, yes, no, 0, no) \
4852 SC(181, 50, 48, 2, yes, no, 0, no) \
4853 SC(182, 50, 48, 3, yes, no, 0, no) \
4854 SC(183, 50, 48, 4, yes, no, 0, no) \
4856 SC(184, 51, 49, 1, yes, no, 0, no) \
4857 SC(185, 51, 49, 2, yes, no, 0, no) \
4858 SC(186, 51, 49, 3, yes, no, 0, no) \
4859 SC(187, 51, 49, 4, yes, no, 0, no) \
4861 SC(188, 52, 50, 1, yes, no, 0, no) \
4862 SC(189, 52, 50, 2, yes, no, 0, no) \
4863 SC(190, 52, 50, 3, yes, no, 0, no) \
4864 SC(191, 52, 50, 4, yes, no, 0, no) \
4866 SC(192, 53, 51, 1, yes, no, 0, no) \
4867 SC(193, 53, 51, 2, yes, no, 0, no) \
4868 SC(194, 53, 51, 3, yes, no, 0, no) \
4869 SC(195, 53, 51, 4, yes, no, 0, no) \
4871 SC(196, 54, 52, 1, yes, no, 0, no) \
4872 SC(197, 54, 52, 2, yes, no, 0, no) \
4873 SC(198, 54, 52, 3, yes, no, 0, no) \
4874 SC(199, 54, 52, 4, yes, no, 0, no) \
4876 SC(200, 55, 53, 1, yes, no, 0, no) \
4877 SC(201, 55, 53, 2, yes, no, 0, no) \
4878 SC(202, 55, 53, 3, yes, no, 0, no) \
4879 SC(203, 55, 53, 4, yes, no, 0, no) \
4881 SC(204, 56, 54, 1, yes, no, 0, no) \
4882 SC(205, 56, 54, 2, yes, no, 0, no) \
4883 SC(206, 56, 54, 3, yes, no, 0, no) \
4884 SC(207, 56, 54, 4, yes, no, 0, no) \
4886 SC(208, 57, 55, 1, yes, no, 0, no) \
4887 SC(209, 57, 55, 2, yes, no, 0, no) \
4888 SC(210, 57, 55, 3, yes, no, 0, no) \
4889 SC(211, 57, 55, 4, yes, no, 0, no) \
4891 SC(212, 58, 56, 1, yes, no, 0, no) \
4892 SC(213, 58, 56, 2, yes, no, 0, no) \
4893 SC(214, 58, 56, 3, yes, no, 0, no) \
4894 SC(215, 58, 56, 4, yes, no, 0, no) \
4896 SC(216, 59, 57, 1, yes, no, 0, no) \
4897 SC(217, 59, 57, 2, yes, no, 0, no) \
4898 SC(218, 59, 57, 3, yes, no, 0, no) \
4899 SC(219, 59, 57, 4, yes, no, 0, no) \
4901 SC(220, 60, 58, 1, yes, no, 0, no) \
4902 SC(221, 60, 58, 2, yes, no, 0, no) \
4903 SC(222, 60, 58, 3, yes, no, 0, no) \
4904 SC(223, 60, 58, 4, yes, no, 0, no) \
4906 SC(224, 61, 59, 1, yes, no, 0, no) \
4907 SC(225, 61, 59, 2, yes, no, 0, no) \
4908 SC(226, 61, 59, 3, yes, no, 0, no) \
4909 SC(227, 61, 59, 4, yes, no, 0, no) \
4911 SC(228, 62, 60, 1, yes, no, 0, no) \
4912 SC(229, 62, 60, 2, yes, no, 0, no) \
4913 SC(230, 62, 60, 3, yes, no, 0, no) \
4915 #define SIZE_CLASSES_DEFINED
4920 #define LG_CEIL_NSIZES 8
4922 #define LG_TINY_MAXCLASS "NA"
4923 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
4924 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12))
4925 #define LG_LARGE_MINCLASS 15
4926 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
4927 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
4930 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 14)
4931 #define SIZE_CLASSES \
4932 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
4933 SC( 0, 4, 4, 0, no, yes, 1, 4) \
4934 SC( 1, 4, 4, 1, no, yes, 1, 4) \
4935 SC( 2, 4, 4, 2, no, yes, 3, 4) \
4936 SC( 3, 4, 4, 3, no, yes, 1, 4) \
4938 SC( 4, 6, 4, 1, no, yes, 5, 4) \
4939 SC( 5, 6, 4, 2, no, yes, 3, 4) \
4940 SC( 6, 6, 4, 3, no, yes, 7, 4) \
4941 SC( 7, 6, 4, 4, no, yes, 1, 4) \
4943 SC( 8, 7, 5, 1, no, yes, 5, 5) \
4944 SC( 9, 7, 5, 2, no, yes, 3, 5) \
4945 SC( 10, 7, 5, 3, no, yes, 7, 5) \
4946 SC( 11, 7, 5, 4, no, yes, 1, 5) \
4948 SC( 12, 8, 6, 1, no, yes, 5, 6) \
4949 SC( 13, 8, 6, 2, no, yes, 3, 6) \
4950 SC( 14, 8, 6, 3, no, yes, 7, 6) \
4951 SC( 15, 8, 6, 4, no, yes, 1, 6) \
4953 SC( 16, 9, 7, 1, no, yes, 5, 7) \
4954 SC( 17, 9, 7, 2, no, yes, 3, 7) \
4955 SC( 18, 9, 7, 3, no, yes, 7, 7) \
4956 SC( 19, 9, 7, 4, no, yes, 1, 7) \
4958 SC( 20, 10, 8, 1, no, yes, 5, 8) \
4959 SC( 21, 10, 8, 2, no, yes, 3, 8) \
4960 SC( 22, 10, 8, 3, no, yes, 7, 8) \
4961 SC( 23, 10, 8, 4, no, yes, 1, 8) \
4963 SC( 24, 11, 9, 1, no, yes, 5, 9) \
4964 SC( 25, 11, 9, 2, no, yes, 3, 9) \
4965 SC( 26, 11, 9, 3, no, yes, 7, 9) \
4966 SC( 27, 11, 9, 4, no, yes, 1, 9) \
4968 SC( 28, 12, 10, 1, no, yes, 5, no) \
4969 SC( 29, 12, 10, 2, no, yes, 3, no) \
4970 SC( 30, 12, 10, 3, no, yes, 7, no) \
4971 SC( 31, 12, 10, 4, no, yes, 1, no) \
4973 SC( 32, 13, 11, 1, no, yes, 5, no) \
4974 SC( 33, 13, 11, 2, no, yes, 3, no) \
4975 SC( 34, 13, 11, 3, no, yes, 7, no) \
4976 SC( 35, 13, 11, 4, yes, yes, 1, no) \
4978 SC( 36, 14, 12, 1, no, yes, 5, no) \
4979 SC( 37, 14, 12, 2, no, yes, 3, no) \
4980 SC( 38, 14, 12, 3, no, yes, 7, no) \
4981 SC( 39, 14, 12, 4, yes, yes, 2, no) \
4983 SC( 40, 15, 13, 1, no, yes, 5, no) \
4984 SC( 41, 15, 13, 2, yes, yes, 3, no) \
4985 SC( 42, 15, 13, 3, no, yes, 7, no) \
4986 SC( 43, 15, 13, 4, yes, no, 0, no) \
4988 SC( 44, 16, 14, 1, yes, no, 0, no) \
4989 SC( 45, 16, 14, 2, yes, no, 0, no) \
4990 SC( 46, 16, 14, 3, yes, no, 0, no) \
4991 SC( 47, 16, 14, 4, yes, no, 0, no) \
4993 SC( 48, 17, 15, 1, yes, no, 0, no) \
4994 SC( 49, 17, 15, 2, yes, no, 0, no) \
4995 SC( 50, 17, 15, 3, yes, no, 0, no) \
4996 SC( 51, 17, 15, 4, yes, no, 0, no) \
4998 SC( 52, 18, 16, 1, yes, no, 0, no) \
4999 SC( 53, 18, 16, 2, yes, no, 0, no) \
5000 SC( 54, 18, 16, 3, yes, no, 0, no) \
5001 SC( 55, 18, 16, 4, yes, no, 0, no) \
5003 SC( 56, 19, 17, 1, yes, no, 0, no) \
5004 SC( 57, 19, 17, 2, yes, no, 0, no) \
5005 SC( 58, 19, 17, 3, yes, no, 0, no) \
5006 SC( 59, 19, 17, 4, yes, no, 0, no) \
5008 SC( 60, 20, 18, 1, yes, no, 0, no) \
5009 SC( 61, 20, 18, 2, yes, no, 0, no) \
5010 SC( 62, 20, 18, 3, yes, no, 0, no) \
5011 SC( 63, 20, 18, 4, yes, no, 0, no) \
5013 SC( 64, 21, 19, 1, yes, no, 0, no) \
5014 SC( 65, 21, 19, 2, yes, no, 0, no) \
5015 SC( 66, 21, 19, 3, yes, no, 0, no) \
5016 SC( 67, 21, 19, 4, yes, no, 0, no) \
5018 SC( 68, 22, 20, 1, yes, no, 0, no) \
5019 SC( 69, 22, 20, 2, yes, no, 0, no) \
5020 SC( 70, 22, 20, 3, yes, no, 0, no) \
5021 SC( 71, 22, 20, 4, yes, no, 0, no) \
5023 SC( 72, 23, 21, 1, yes, no, 0, no) \
5024 SC( 73, 23, 21, 2, yes, no, 0, no) \
5025 SC( 74, 23, 21, 3, yes, no, 0, no) \
5026 SC( 75, 23, 21, 4, yes, no, 0, no) \
5028 SC( 76, 24, 22, 1, yes, no, 0, no) \
5029 SC( 77, 24, 22, 2, yes, no, 0, no) \
5030 SC( 78, 24, 22, 3, yes, no, 0, no) \
5031 SC( 79, 24, 22, 4, yes, no, 0, no) \
5033 SC( 80, 25, 23, 1, yes, no, 0, no) \
5034 SC( 81, 25, 23, 2, yes, no, 0, no) \
5035 SC( 82, 25, 23, 3, yes, no, 0, no) \
5036 SC( 83, 25, 23, 4, yes, no, 0, no) \
5038 SC( 84, 26, 24, 1, yes, no, 0, no) \
5039 SC( 85, 26, 24, 2, yes, no, 0, no) \
5040 SC( 86, 26, 24, 3, yes, no, 0, no) \
5041 SC( 87, 26, 24, 4, yes, no, 0, no) \
5043 SC( 88, 27, 25, 1, yes, no, 0, no) \
5044 SC( 89, 27, 25, 2, yes, no, 0, no) \
5045 SC( 90, 27, 25, 3, yes, no, 0, no) \
5046 SC( 91, 27, 25, 4, yes, no, 0, no) \
5048 SC( 92, 28, 26, 1, yes, no, 0, no) \
5049 SC( 93, 28, 26, 2, yes, no, 0, no) \
5050 SC( 94, 28, 26, 3, yes, no, 0, no) \
5051 SC( 95, 28, 26, 4, yes, no, 0, no) \
5053 SC( 96, 29, 27, 1, yes, no, 0, no) \
5054 SC( 97, 29, 27, 2, yes, no, 0, no) \
5055 SC( 98, 29, 27, 3, yes, no, 0, no) \
5056 SC( 99, 29, 27, 4, yes, no, 0, no) \
5058 SC(100, 30, 28, 1, yes, no, 0, no) \
5059 SC(101, 30, 28, 2, yes, no, 0, no) \
5060 SC(102, 30, 28, 3, yes, no, 0, no) \
5061 SC(103, 30, 28, 4, yes, no, 0, no) \
5063 SC(104, 31, 29, 1, yes, no, 0, no) \
5064 SC(105, 31, 29, 2, yes, no, 0, no) \
5065 SC(106, 31, 29, 3, yes, no, 0, no) \
5066 SC(107, 31, 29, 4, yes, no, 0, no) \
5068 SC(108, 32, 30, 1, yes, no, 0, no) \
5069 SC(109, 32, 30, 2, yes, no, 0, no) \
5070 SC(110, 32, 30, 3, yes, no, 0, no) \
5071 SC(111, 32, 30, 4, yes, no, 0, no) \
5073 SC(112, 33, 31, 1, yes, no, 0, no) \
5074 SC(113, 33, 31, 2, yes, no, 0, no) \
5075 SC(114, 33, 31, 3, yes, no, 0, no) \
5076 SC(115, 33, 31, 4, yes, no, 0, no) \
5078 SC(116, 34, 32, 1, yes, no, 0, no) \
5079 SC(117, 34, 32, 2, yes, no, 0, no) \
5080 SC(118, 34, 32, 3, yes, no, 0, no) \
5081 SC(119, 34, 32, 4, yes, no, 0, no) \
5083 SC(120, 35, 33, 1, yes, no, 0, no) \
5084 SC(121, 35, 33, 2, yes, no, 0, no) \
5085 SC(122, 35, 33, 3, yes, no, 0, no) \
5086 SC(123, 35, 33, 4, yes, no, 0, no) \
5088 SC(124, 36, 34, 1, yes, no, 0, no) \
5089 SC(125, 36, 34, 2, yes, no, 0, no) \
5090 SC(126, 36, 34, 3, yes, no, 0, no) \
5091 SC(127, 36, 34, 4, yes, no, 0, no) \
5093 SC(128, 37, 35, 1, yes, no, 0, no) \
5094 SC(129, 37, 35, 2, yes, no, 0, no) \
5095 SC(130, 37, 35, 3, yes, no, 0, no) \
5096 SC(131, 37, 35, 4, yes, no, 0, no) \
5098 SC(132, 38, 36, 1, yes, no, 0, no) \
5099 SC(133, 38, 36, 2, yes, no, 0, no) \
5100 SC(134, 38, 36, 3, yes, no, 0, no) \
5101 SC(135, 38, 36, 4, yes, no, 0, no) \
5103 SC(136, 39, 37, 1, yes, no, 0, no) \
5104 SC(137, 39, 37, 2, yes, no, 0, no) \
5105 SC(138, 39, 37, 3, yes, no, 0, no) \
5106 SC(139, 39, 37, 4, yes, no, 0, no) \
5108 SC(140, 40, 38, 1, yes, no, 0, no) \
5109 SC(141, 40, 38, 2, yes, no, 0, no) \
5110 SC(142, 40, 38, 3, yes, no, 0, no) \
5111 SC(143, 40, 38, 4, yes, no, 0, no) \
5113 SC(144, 41, 39, 1, yes, no, 0, no) \
5114 SC(145, 41, 39, 2, yes, no, 0, no) \
5115 SC(146, 41, 39, 3, yes, no, 0, no) \
5116 SC(147, 41, 39, 4, yes, no, 0, no) \
5118 SC(148, 42, 40, 1, yes, no, 0, no) \
5119 SC(149, 42, 40, 2, yes, no, 0, no) \
5120 SC(150, 42, 40, 3, yes, no, 0, no) \
5121 SC(151, 42, 40, 4, yes, no, 0, no) \
5123 SC(152, 43, 41, 1, yes, no, 0, no) \
5124 SC(153, 43, 41, 2, yes, no, 0, no) \
5125 SC(154, 43, 41, 3, yes, no, 0, no) \
5126 SC(155, 43, 41, 4, yes, no, 0, no) \
5128 SC(156, 44, 42, 1, yes, no, 0, no) \
5129 SC(157, 44, 42, 2, yes, no, 0, no) \
5130 SC(158, 44, 42, 3, yes, no, 0, no) \
5131 SC(159, 44, 42, 4, yes, no, 0, no) \
5133 SC(160, 45, 43, 1, yes, no, 0, no) \
5134 SC(161, 45, 43, 2, yes, no, 0, no) \
5135 SC(162, 45, 43, 3, yes, no, 0, no) \
5136 SC(163, 45, 43, 4, yes, no, 0, no) \
5138 SC(164, 46, 44, 1, yes, no, 0, no) \
5139 SC(165, 46, 44, 2, yes, no, 0, no) \
5140 SC(166, 46, 44, 3, yes, no, 0, no) \
5141 SC(167, 46, 44, 4, yes, no, 0, no) \
5143 SC(168, 47, 45, 1, yes, no, 0, no) \
5144 SC(169, 47, 45, 2, yes, no, 0, no) \
5145 SC(170, 47, 45, 3, yes, no, 0, no) \
5146 SC(171, 47, 45, 4, yes, no, 0, no) \
5148 SC(172, 48, 46, 1, yes, no, 0, no) \
5149 SC(173, 48, 46, 2, yes, no, 0, no) \
5150 SC(174, 48, 46, 3, yes, no, 0, no) \
5151 SC(175, 48, 46, 4, yes, no, 0, no) \
5153 SC(176, 49, 47, 1, yes, no, 0, no) \
5154 SC(177, 49, 47, 2, yes, no, 0, no) \
5155 SC(178, 49, 47, 3, yes, no, 0, no) \
5156 SC(179, 49, 47, 4, yes, no, 0, no) \
5158 SC(180, 50, 48, 1, yes, no, 0, no) \
5159 SC(181, 50, 48, 2, yes, no, 0, no) \
5160 SC(182, 50, 48, 3, yes, no, 0, no) \
5161 SC(183, 50, 48, 4, yes, no, 0, no) \
5163 SC(184, 51, 49, 1, yes, no, 0, no) \
5164 SC(185, 51, 49, 2, yes, no, 0, no) \
5165 SC(186, 51, 49, 3, yes, no, 0, no) \
5166 SC(187, 51, 49, 4, yes, no, 0, no) \
5168 SC(188, 52, 50, 1, yes, no, 0, no) \
5169 SC(189, 52, 50, 2, yes, no, 0, no) \
5170 SC(190, 52, 50, 3, yes, no, 0, no) \
5171 SC(191, 52, 50, 4, yes, no, 0, no) \
5173 SC(192, 53, 51, 1, yes, no, 0, no) \
5174 SC(193, 53, 51, 2, yes, no, 0, no) \
5175 SC(194, 53, 51, 3, yes, no, 0, no) \
5176 SC(195, 53, 51, 4, yes, no, 0, no) \
5178 SC(196, 54, 52, 1, yes, no, 0, no) \
5179 SC(197, 54, 52, 2, yes, no, 0, no) \
5180 SC(198, 54, 52, 3, yes, no, 0, no) \
5181 SC(199, 54, 52, 4, yes, no, 0, no) \
5183 SC(200, 55, 53, 1, yes, no, 0, no) \
5184 SC(201, 55, 53, 2, yes, no, 0, no) \
5185 SC(202, 55, 53, 3, yes, no, 0, no) \
5186 SC(203, 55, 53, 4, yes, no, 0, no) \
5188 SC(204, 56, 54, 1, yes, no, 0, no) \
5189 SC(205, 56, 54, 2, yes, no, 0, no) \
5190 SC(206, 56, 54, 3, yes, no, 0, no) \
5191 SC(207, 56, 54, 4, yes, no, 0, no) \
5193 SC(208, 57, 55, 1, yes, no, 0, no) \
5194 SC(209, 57, 55, 2, yes, no, 0, no) \
5195 SC(210, 57, 55, 3, yes, no, 0, no) \
5196 SC(211, 57, 55, 4, yes, no, 0, no) \
5198 SC(212, 58, 56, 1, yes, no, 0, no) \
5199 SC(213, 58, 56, 2, yes, no, 0, no) \
5200 SC(214, 58, 56, 3, yes, no, 0, no) \
5201 SC(215, 58, 56, 4, yes, no, 0, no) \
5203 SC(216, 59, 57, 1, yes, no, 0, no) \
5204 SC(217, 59, 57, 2, yes, no, 0, no) \
5205 SC(218, 59, 57, 3, yes, no, 0, no) \
5206 SC(219, 59, 57, 4, yes, no, 0, no) \
5208 SC(220, 60, 58, 1, yes, no, 0, no) \
5209 SC(221, 60, 58, 2, yes, no, 0, no) \
5210 SC(222, 60, 58, 3, yes, no, 0, no) \
5211 SC(223, 60, 58, 4, yes, no, 0, no) \
5213 SC(224, 61, 59, 1, yes, no, 0, no) \
5214 SC(225, 61, 59, 2, yes, no, 0, no) \
5215 SC(226, 61, 59, 3, yes, no, 0, no) \
5216 SC(227, 61, 59, 4, yes, no, 0, no) \
5218 SC(228, 62, 60, 1, yes, no, 0, no) \
5219 SC(229, 62, 60, 2, yes, no, 0, no) \
5220 SC(230, 62, 60, 3, yes, no, 0, no) \
5222 #define SIZE_CLASSES_DEFINED
5227 #define LG_CEIL_NSIZES 8
5229 #define LG_TINY_MAXCLASS "NA"
5230 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
5231 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
5232 #define LG_LARGE_MINCLASS 16
5233 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
5234 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
5237 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 16)
5238 #define SIZE_CLASSES \
5239 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \
5240 SC( 0, 4, 4, 0, no, yes, 1, 4) \
5241 SC( 1, 4, 4, 1, no, yes, 1, 4) \
5242 SC( 2, 4, 4, 2, no, yes, 3, 4) \
5243 SC( 3, 4, 4, 3, no, yes, 1, 4) \
5245 SC( 4, 6, 4, 1, no, yes, 5, 4) \
5246 SC( 5, 6, 4, 2, no, yes, 3, 4) \
5247 SC( 6, 6, 4, 3, no, yes, 7, 4) \
5248 SC( 7, 6, 4, 4, no, yes, 1, 4) \
5250 SC( 8, 7, 5, 1, no, yes, 5, 5) \
5251 SC( 9, 7, 5, 2, no, yes, 3, 5) \
5252 SC( 10, 7, 5, 3, no, yes, 7, 5) \
5253 SC( 11, 7, 5, 4, no, yes, 1, 5) \
5255 SC( 12, 8, 6, 1, no, yes, 5, 6) \
5256 SC( 13, 8, 6, 2, no, yes, 3, 6) \
5257 SC( 14, 8, 6, 3, no, yes, 7, 6) \
5258 SC( 15, 8, 6, 4, no, yes, 1, 6) \
5260 SC( 16, 9, 7, 1, no, yes, 5, 7) \
5261 SC( 17, 9, 7, 2, no, yes, 3, 7) \
5262 SC( 18, 9, 7, 3, no, yes, 7, 7) \
5263 SC( 19, 9, 7, 4, no, yes, 1, 7) \
5265 SC( 20, 10, 8, 1, no, yes, 5, 8) \
5266 SC( 21, 10, 8, 2, no, yes, 3, 8) \
5267 SC( 22, 10, 8, 3, no, yes, 7, 8) \
5268 SC( 23, 10, 8, 4, no, yes, 1, 8) \
5270 SC( 24, 11, 9, 1, no, yes, 5, 9) \
5271 SC( 25, 11, 9, 2, no, yes, 3, 9) \
5272 SC( 26, 11, 9, 3, no, yes, 7, 9) \
5273 SC( 27, 11, 9, 4, no, yes, 1, 9) \
5275 SC( 28, 12, 10, 1, no, yes, 5, no) \
5276 SC( 29, 12, 10, 2, no, yes, 3, no) \
5277 SC( 30, 12, 10, 3, no, yes, 7, no) \
5278 SC( 31, 12, 10, 4, no, yes, 1, no) \
5280 SC( 32, 13, 11, 1, no, yes, 5, no) \
5281 SC( 33, 13, 11, 2, no, yes, 3, no) \
5282 SC( 34, 13, 11, 3, no, yes, 7, no) \
5283 SC( 35, 13, 11, 4, no, yes, 1, no) \
5285 SC( 36, 14, 12, 1, no, yes, 5, no) \
5286 SC( 37, 14, 12, 2, no, yes, 3, no) \
5287 SC( 38, 14, 12, 3, no, yes, 7, no) \
5288 SC( 39, 14, 12, 4, no, yes, 1, no) \
5290 SC( 40, 15, 13, 1, no, yes, 5, no) \
5291 SC( 41, 15, 13, 2, no, yes, 3, no) \
5292 SC( 42, 15, 13, 3, no, yes, 7, no) \
5293 SC( 43, 15, 13, 4, yes, yes, 1, no) \
5295 SC( 44, 16, 14, 1, no, yes, 5, no) \
5296 SC( 45, 16, 14, 2, no, yes, 3, no) \
5297 SC( 46, 16, 14, 3, no, yes, 7, no) \
5298 SC( 47, 16, 14, 4, yes, yes, 2, no) \
5300 SC( 48, 17, 15, 1, no, yes, 5, no) \
5301 SC( 49, 17, 15, 2, yes, yes, 3, no) \
5302 SC( 50, 17, 15, 3, no, yes, 7, no) \
5303 SC( 51, 17, 15, 4, yes, no, 0, no) \
5305 SC( 52, 18, 16, 1, yes, no, 0, no) \
5306 SC( 53, 18, 16, 2, yes, no, 0, no) \
5307 SC( 54, 18, 16, 3, yes, no, 0, no) \
5308 SC( 55, 18, 16, 4, yes, no, 0, no) \
5310 SC( 56, 19, 17, 1, yes, no, 0, no) \
5311 SC( 57, 19, 17, 2, yes, no, 0, no) \
5312 SC( 58, 19, 17, 3, yes, no, 0, no) \
5313 SC( 59, 19, 17, 4, yes, no, 0, no) \
5315 SC( 60, 20, 18, 1, yes, no, 0, no) \
5316 SC( 61, 20, 18, 2, yes, no, 0, no) \
5317 SC( 62, 20, 18, 3, yes, no, 0, no) \
5318 SC( 63, 20, 18, 4, yes, no, 0, no) \
5320 SC( 64, 21, 19, 1, yes, no, 0, no) \
5321 SC( 65, 21, 19, 2, yes, no, 0, no) \
5322 SC( 66, 21, 19, 3, yes, no, 0, no) \
5323 SC( 67, 21, 19, 4, yes, no, 0, no) \
5325 SC( 68, 22, 20, 1, yes, no, 0, no) \
5326 SC( 69, 22, 20, 2, yes, no, 0, no) \
5327 SC( 70, 22, 20, 3, yes, no, 0, no) \
5328 SC( 71, 22, 20, 4, yes, no, 0, no) \
5330 SC( 72, 23, 21, 1, yes, no, 0, no) \
5331 SC( 73, 23, 21, 2, yes, no, 0, no) \
5332 SC( 74, 23, 21, 3, yes, no, 0, no) \
5333 SC( 75, 23, 21, 4, yes, no, 0, no) \
5335 SC( 76, 24, 22, 1, yes, no, 0, no) \
5336 SC( 77, 24, 22, 2, yes, no, 0, no) \
5337 SC( 78, 24, 22, 3, yes, no, 0, no) \
5338 SC( 79, 24, 22, 4, yes, no, 0, no) \
5340 SC( 80, 25, 23, 1, yes, no, 0, no) \
5341 SC( 81, 25, 23, 2, yes, no, 0, no) \
5342 SC( 82, 25, 23, 3, yes, no, 0, no) \
5343 SC( 83, 25, 23, 4, yes, no, 0, no) \
5345 SC( 84, 26, 24, 1, yes, no, 0, no) \
5346 SC( 85, 26, 24, 2, yes, no, 0, no) \
5347 SC( 86, 26, 24, 3, yes, no, 0, no) \
5348 SC( 87, 26, 24, 4, yes, no, 0, no) \
5350 SC( 88, 27, 25, 1, yes, no, 0, no) \
5351 SC( 89, 27, 25, 2, yes, no, 0, no) \
5352 SC( 90, 27, 25, 3, yes, no, 0, no) \
5353 SC( 91, 27, 25, 4, yes, no, 0, no) \
5355 SC( 92, 28, 26, 1, yes, no, 0, no) \
5356 SC( 93, 28, 26, 2, yes, no, 0, no) \
5357 SC( 94, 28, 26, 3, yes, no, 0, no) \
5358 SC( 95, 28, 26, 4, yes, no, 0, no) \
5360 SC( 96, 29, 27, 1, yes, no, 0, no) \
5361 SC( 97, 29, 27, 2, yes, no, 0, no) \
5362 SC( 98, 29, 27, 3, yes, no, 0, no) \
5363 SC( 99, 29, 27, 4, yes, no, 0, no) \
5365 SC(100, 30, 28, 1, yes, no, 0, no) \
5366 SC(101, 30, 28, 2, yes, no, 0, no) \
5367 SC(102, 30, 28, 3, yes, no, 0, no) \
5368 SC(103, 30, 28, 4, yes, no, 0, no) \
5370 SC(104, 31, 29, 1, yes, no, 0, no) \
5371 SC(105, 31, 29, 2, yes, no, 0, no) \
5372 SC(106, 31, 29, 3, yes, no, 0, no) \
5373 SC(107, 31, 29, 4, yes, no, 0, no) \
5375 SC(108, 32, 30, 1, yes, no, 0, no) \
5376 SC(109, 32, 30, 2, yes, no, 0, no) \
5377 SC(110, 32, 30, 3, yes, no, 0, no) \
5378 SC(111, 32, 30, 4, yes, no, 0, no) \
5380 SC(112, 33, 31, 1, yes, no, 0, no) \
5381 SC(113, 33, 31, 2, yes, no, 0, no) \
5382 SC(114, 33, 31, 3, yes, no, 0, no) \
5383 SC(115, 33, 31, 4, yes, no, 0, no) \
5385 SC(116, 34, 32, 1, yes, no, 0, no) \
5386 SC(117, 34, 32, 2, yes, no, 0, no) \
5387 SC(118, 34, 32, 3, yes, no, 0, no) \
5388 SC(119, 34, 32, 4, yes, no, 0, no) \
5390 SC(120, 35, 33, 1, yes, no, 0, no) \
5391 SC(121, 35, 33, 2, yes, no, 0, no) \
5392 SC(122, 35, 33, 3, yes, no, 0, no) \
5393 SC(123, 35, 33, 4, yes, no, 0, no) \
5395 SC(124, 36, 34, 1, yes, no, 0, no) \
5396 SC(125, 36, 34, 2, yes, no, 0, no) \
5397 SC(126, 36, 34, 3, yes, no, 0, no) \
5398 SC(127, 36, 34, 4, yes, no, 0, no) \
5400 SC(128, 37, 35, 1, yes, no, 0, no) \
5401 SC(129, 37, 35, 2, yes, no, 0, no) \
5402 SC(130, 37, 35, 3, yes, no, 0, no) \
5403 SC(131, 37, 35, 4, yes, no, 0, no) \
5405 SC(132, 38, 36, 1, yes, no, 0, no) \
5406 SC(133, 38, 36, 2, yes, no, 0, no) \
5407 SC(134, 38, 36, 3, yes, no, 0, no) \
5408 SC(135, 38, 36, 4, yes, no, 0, no) \
5410 SC(136, 39, 37, 1, yes, no, 0, no) \
5411 SC(137, 39, 37, 2, yes, no, 0, no) \
5412 SC(138, 39, 37, 3, yes, no, 0, no) \
5413 SC(139, 39, 37, 4, yes, no, 0, no) \
5415 SC(140, 40, 38, 1, yes, no, 0, no) \
5416 SC(141, 40, 38, 2, yes, no, 0, no) \
5417 SC(142, 40, 38, 3, yes, no, 0, no) \
5418 SC(143, 40, 38, 4, yes, no, 0, no) \
5420 SC(144, 41, 39, 1, yes, no, 0, no) \
5421 SC(145, 41, 39, 2, yes, no, 0, no) \
5422 SC(146, 41, 39, 3, yes, no, 0, no) \
5423 SC(147, 41, 39, 4, yes, no, 0, no) \
5425 SC(148, 42, 40, 1, yes, no, 0, no) \
5426 SC(149, 42, 40, 2, yes, no, 0, no) \
5427 SC(150, 42, 40, 3, yes, no, 0, no) \
5428 SC(151, 42, 40, 4, yes, no, 0, no) \
5430 SC(152, 43, 41, 1, yes, no, 0, no) \
5431 SC(153, 43, 41, 2, yes, no, 0, no) \
5432 SC(154, 43, 41, 3, yes, no, 0, no) \
5433 SC(155, 43, 41, 4, yes, no, 0, no) \
5435 SC(156, 44, 42, 1, yes, no, 0, no) \
5436 SC(157, 44, 42, 2, yes, no, 0, no) \
5437 SC(158, 44, 42, 3, yes, no, 0, no) \
5438 SC(159, 44, 42, 4, yes, no, 0, no) \
5440 SC(160, 45, 43, 1, yes, no, 0, no) \
5441 SC(161, 45, 43, 2, yes, no, 0, no) \
5442 SC(162, 45, 43, 3, yes, no, 0, no) \
5443 SC(163, 45, 43, 4, yes, no, 0, no) \
5445 SC(164, 46, 44, 1, yes, no, 0, no) \
5446 SC(165, 46, 44, 2, yes, no, 0, no) \
5447 SC(166, 46, 44, 3, yes, no, 0, no) \
5448 SC(167, 46, 44, 4, yes, no, 0, no) \
5450 SC(168, 47, 45, 1, yes, no, 0, no) \
5451 SC(169, 47, 45, 2, yes, no, 0, no) \
5452 SC(170, 47, 45, 3, yes, no, 0, no) \
5453 SC(171, 47, 45, 4, yes, no, 0, no) \
5455 SC(172, 48, 46, 1, yes, no, 0, no) \
5456 SC(173, 48, 46, 2, yes, no, 0, no) \
5457 SC(174, 48, 46, 3, yes, no, 0, no) \
5458 SC(175, 48, 46, 4, yes, no, 0, no) \
5460 SC(176, 49, 47, 1, yes, no, 0, no) \
5461 SC(177, 49, 47, 2, yes, no, 0, no) \
5462 SC(178, 49, 47, 3, yes, no, 0, no) \
5463 SC(179, 49, 47, 4, yes, no, 0, no) \
5465 SC(180, 50, 48, 1, yes, no, 0, no) \
5466 SC(181, 50, 48, 2, yes, no, 0, no) \
5467 SC(182, 50, 48, 3, yes, no, 0, no) \
5468 SC(183, 50, 48, 4, yes, no, 0, no) \
5470 SC(184, 51, 49, 1, yes, no, 0, no) \
5471 SC(185, 51, 49, 2, yes, no, 0, no) \
5472 SC(186, 51, 49, 3, yes, no, 0, no) \
5473 SC(187, 51, 49, 4, yes, no, 0, no) \
5475 SC(188, 52, 50, 1, yes, no, 0, no) \
5476 SC(189, 52, 50, 2, yes, no, 0, no) \
5477 SC(190, 52, 50, 3, yes, no, 0, no) \
5478 SC(191, 52, 50, 4, yes, no, 0, no) \
5480 SC(192, 53, 51, 1, yes, no, 0, no) \
5481 SC(193, 53, 51, 2, yes, no, 0, no) \
5482 SC(194, 53, 51, 3, yes, no, 0, no) \
5483 SC(195, 53, 51, 4, yes, no, 0, no) \
5485 SC(196, 54, 52, 1, yes, no, 0, no) \
5486 SC(197, 54, 52, 2, yes, no, 0, no) \
5487 SC(198, 54, 52, 3, yes, no, 0, no) \
5488 SC(199, 54, 52, 4, yes, no, 0, no) \
5490 SC(200, 55, 53, 1, yes, no, 0, no) \
5491 SC(201, 55, 53, 2, yes, no, 0, no) \
5492 SC(202, 55, 53, 3, yes, no, 0, no) \
5493 SC(203, 55, 53, 4, yes, no, 0, no) \
5495 SC(204, 56, 54, 1, yes, no, 0, no) \
5496 SC(205, 56, 54, 2, yes, no, 0, no) \
5497 SC(206, 56, 54, 3, yes, no, 0, no) \
5498 SC(207, 56, 54, 4, yes, no, 0, no) \
5500 SC(208, 57, 55, 1, yes, no, 0, no) \
5501 SC(209, 57, 55, 2, yes, no, 0, no) \
5502 SC(210, 57, 55, 3, yes, no, 0, no) \
5503 SC(211, 57, 55, 4, yes, no, 0, no) \
5505 SC(212, 58, 56, 1, yes, no, 0, no) \
5506 SC(213, 58, 56, 2, yes, no, 0, no) \
5507 SC(214, 58, 56, 3, yes, no, 0, no) \
5508 SC(215, 58, 56, 4, yes, no, 0, no) \
5510 SC(216, 59, 57, 1, yes, no, 0, no) \
5511 SC(217, 59, 57, 2, yes, no, 0, no) \
5512 SC(218, 59, 57, 3, yes, no, 0, no) \
5513 SC(219, 59, 57, 4, yes, no, 0, no) \
5515 SC(220, 60, 58, 1, yes, no, 0, no) \
5516 SC(221, 60, 58, 2, yes, no, 0, no) \
5517 SC(222, 60, 58, 3, yes, no, 0, no) \
5518 SC(223, 60, 58, 4, yes, no, 0, no) \
5520 SC(224, 61, 59, 1, yes, no, 0, no) \
5521 SC(225, 61, 59, 2, yes, no, 0, no) \
5522 SC(226, 61, 59, 3, yes, no, 0, no) \
5523 SC(227, 61, 59, 4, yes, no, 0, no) \
5525 SC(228, 62, 60, 1, yes, no, 0, no) \
5526 SC(229, 62, 60, 2, yes, no, 0, no) \
5527 SC(230, 62, 60, 3, yes, no, 0, no) \
5529 #define SIZE_CLASSES_DEFINED
5534 #define LG_CEIL_NSIZES 8
5536 #define LG_TINY_MAXCLASS "NA"
5537 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
5538 #define SMALL_MAXCLASS ((((size_t)1) << 17) + (((size_t)3) << 15))
5539 #define LG_LARGE_MINCLASS 18
5540 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS)
5541 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60))
5544 #ifndef SIZE_CLASSES_DEFINED
5545 # error "No size class definitions match configuration"
5547 #undef SIZE_CLASSES_DEFINED
5549 * The size2index_tab lookup table uses uint8_t to encode each bin index, so we
5550 * cannot support more than 256 small size classes.
5553 # error "Too many small size classes"
5556 #endif /* JEMALLOC_INTERNAL_SIZE_CLASSES_H */