1 #ifndef JEMALLOC_INTERNAL_SIZE_CLASSES_H 2 #define JEMALLOC_INTERNAL_SIZE_CLASSES_H 3 4 /* This file was automatically generated by size_classes.sh. */ 5 6 #include "jemalloc/internal/jemalloc_internal_types.h" 7 8 /* 9 * This header file defines: 10 * 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' 23 * otherwise. 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. 35 */ 36 37 #define LG_SIZE_CLASS_GROUP 2 38 #define LG_TINY_MIN 3 39 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) \ 47 \ 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) \ 52 \ 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) \ 57 \ 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) \ 62 \ 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) \ 67 \ 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) \ 72 \ 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) \ 77 \ 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) \ 82 \ 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) \ 87 \ 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) \ 92 \ 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) \ 97 \ 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) \ 102 \ 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) \ 107 \ 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) \ 112 \ 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) \ 117 \ 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) \ 122 \ 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) \ 127 \ 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) \ 132 \ 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) \ 137 \ 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) \ 142 \ 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) \ 147 \ 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) \ 152 \ 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) \ 157 \ 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) \ 162 \ 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) \ 167 \ 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) \ 172 \ 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) \ 176 177 #define SIZE_CLASSES_DEFINED 178 #define NTBINS 0 179 #define NLBINS 32 180 #define NBINS 39 181 #define NSIZES 107 182 #define LG_CEIL_NSIZES 7 183 #define NPSIZES 71 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)) 190 #endif 191 192 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 12) 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 \ 197 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 198 SC( 2, 4, 4, 1, no, yes, 1, 4) \ 199 SC( 3, 4, 4, 2, no, yes, 3, 4) \ 200 SC( 4, 4, 4, 3, no, yes, 1, 4) \ 201 \ 202 SC( 5, 6, 4, 1, no, yes, 5, 4) \ 203 SC( 6, 6, 4, 2, no, yes, 3, 4) \ 204 SC( 7, 6, 4, 3, no, yes, 7, 4) \ 205 SC( 8, 6, 4, 4, no, yes, 1, 4) \ 206 \ 207 SC( 9, 7, 5, 1, no, yes, 5, 5) \ 208 SC( 10, 7, 5, 2, no, yes, 3, 5) \ 209 SC( 11, 7, 5, 3, no, yes, 7, 5) \ 210 SC( 12, 7, 5, 4, no, yes, 1, 5) \ 211 \ 212 SC( 13, 8, 6, 1, no, yes, 5, 6) \ 213 SC( 14, 8, 6, 2, no, yes, 3, 6) \ 214 SC( 15, 8, 6, 3, no, yes, 7, 6) \ 215 SC( 16, 8, 6, 4, no, yes, 1, 6) \ 216 \ 217 SC( 17, 9, 7, 1, no, yes, 5, 7) \ 218 SC( 18, 9, 7, 2, no, yes, 3, 7) \ 219 SC( 19, 9, 7, 3, no, yes, 7, 7) \ 220 SC( 20, 9, 7, 4, no, yes, 1, 7) \ 221 \ 222 SC( 21, 10, 8, 1, no, yes, 5, 8) \ 223 SC( 22, 10, 8, 2, no, yes, 3, 8) \ 224 SC( 23, 10, 8, 3, no, yes, 7, 8) \ 225 SC( 24, 10, 8, 4, no, yes, 1, 8) \ 226 \ 227 SC( 25, 11, 9, 1, no, yes, 5, 9) \ 228 SC( 26, 11, 9, 2, no, yes, 3, 9) \ 229 SC( 27, 11, 9, 3, no, yes, 7, 9) \ 230 SC( 28, 11, 9, 4, yes, yes, 1, 9) \ 231 \ 232 SC( 29, 12, 10, 1, no, yes, 5, no) \ 233 SC( 30, 12, 10, 2, no, yes, 3, no) \ 234 SC( 31, 12, 10, 3, no, yes, 7, no) \ 235 SC( 32, 12, 10, 4, yes, yes, 2, no) \ 236 \ 237 SC( 33, 13, 11, 1, no, yes, 5, no) \ 238 SC( 34, 13, 11, 2, yes, yes, 3, no) \ 239 SC( 35, 13, 11, 3, no, yes, 7, no) \ 240 SC( 36, 13, 11, 4, yes, no, 0, no) \ 241 \ 242 SC( 37, 14, 12, 1, yes, no, 0, no) \ 243 SC( 38, 14, 12, 2, yes, no, 0, no) \ 244 SC( 39, 14, 12, 3, yes, no, 0, no) \ 245 SC( 40, 14, 12, 4, yes, no, 0, no) \ 246 \ 247 SC( 41, 15, 13, 1, yes, no, 0, no) \ 248 SC( 42, 15, 13, 2, yes, no, 0, no) \ 249 SC( 43, 15, 13, 3, yes, no, 0, no) \ 250 SC( 44, 15, 13, 4, yes, no, 0, no) \ 251 \ 252 SC( 45, 16, 14, 1, yes, no, 0, no) \ 253 SC( 46, 16, 14, 2, yes, no, 0, no) \ 254 SC( 47, 16, 14, 3, yes, no, 0, no) \ 255 SC( 48, 16, 14, 4, yes, no, 0, no) \ 256 \ 257 SC( 49, 17, 15, 1, yes, no, 0, no) \ 258 SC( 50, 17, 15, 2, yes, no, 0, no) \ 259 SC( 51, 17, 15, 3, yes, no, 0, no) \ 260 SC( 52, 17, 15, 4, yes, no, 0, no) \ 261 \ 262 SC( 53, 18, 16, 1, yes, no, 0, no) \ 263 SC( 54, 18, 16, 2, yes, no, 0, no) \ 264 SC( 55, 18, 16, 3, yes, no, 0, no) \ 265 SC( 56, 18, 16, 4, yes, no, 0, no) \ 266 \ 267 SC( 57, 19, 17, 1, yes, no, 0, no) \ 268 SC( 58, 19, 17, 2, yes, no, 0, no) \ 269 SC( 59, 19, 17, 3, yes, no, 0, no) \ 270 SC( 60, 19, 17, 4, yes, no, 0, no) \ 271 \ 272 SC( 61, 20, 18, 1, yes, no, 0, no) \ 273 SC( 62, 20, 18, 2, yes, no, 0, no) \ 274 SC( 63, 20, 18, 3, yes, no, 0, no) \ 275 SC( 64, 20, 18, 4, yes, no, 0, no) \ 276 \ 277 SC( 65, 21, 19, 1, yes, no, 0, no) \ 278 SC( 66, 21, 19, 2, yes, no, 0, no) \ 279 SC( 67, 21, 19, 3, yes, no, 0, no) \ 280 SC( 68, 21, 19, 4, yes, no, 0, no) \ 281 \ 282 SC( 69, 22, 20, 1, yes, no, 0, no) \ 283 SC( 70, 22, 20, 2, yes, no, 0, no) \ 284 SC( 71, 22, 20, 3, yes, no, 0, no) \ 285 SC( 72, 22, 20, 4, yes, no, 0, no) \ 286 \ 287 SC( 73, 23, 21, 1, yes, no, 0, no) \ 288 SC( 74, 23, 21, 2, yes, no, 0, no) \ 289 SC( 75, 23, 21, 3, yes, no, 0, no) \ 290 SC( 76, 23, 21, 4, yes, no, 0, no) \ 291 \ 292 SC( 77, 24, 22, 1, yes, no, 0, no) \ 293 SC( 78, 24, 22, 2, yes, no, 0, no) \ 294 SC( 79, 24, 22, 3, yes, no, 0, no) \ 295 SC( 80, 24, 22, 4, yes, no, 0, no) \ 296 \ 297 SC( 81, 25, 23, 1, yes, no, 0, no) \ 298 SC( 82, 25, 23, 2, yes, no, 0, no) \ 299 SC( 83, 25, 23, 3, yes, no, 0, no) \ 300 SC( 84, 25, 23, 4, yes, no, 0, no) \ 301 \ 302 SC( 85, 26, 24, 1, yes, no, 0, no) \ 303 SC( 86, 26, 24, 2, yes, no, 0, no) \ 304 SC( 87, 26, 24, 3, yes, no, 0, no) \ 305 SC( 88, 26, 24, 4, yes, no, 0, no) \ 306 \ 307 SC( 89, 27, 25, 1, yes, no, 0, no) \ 308 SC( 90, 27, 25, 2, yes, no, 0, no) \ 309 SC( 91, 27, 25, 3, yes, no, 0, no) \ 310 SC( 92, 27, 25, 4, yes, no, 0, no) \ 311 \ 312 SC( 93, 28, 26, 1, yes, no, 0, no) \ 313 SC( 94, 28, 26, 2, yes, no, 0, no) \ 314 SC( 95, 28, 26, 3, yes, no, 0, no) \ 315 SC( 96, 28, 26, 4, yes, no, 0, no) \ 316 \ 317 SC( 97, 29, 27, 1, yes, no, 0, no) \ 318 SC( 98, 29, 27, 2, yes, no, 0, no) \ 319 SC( 99, 29, 27, 3, yes, no, 0, no) \ 320 SC(100, 29, 27, 4, yes, no, 0, no) \ 321 \ 322 SC(101, 30, 28, 1, yes, no, 0, no) \ 323 SC(102, 30, 28, 2, yes, no, 0, no) \ 324 SC(103, 30, 28, 3, yes, no, 0, no) \ 325 326 #define SIZE_CLASSES_DEFINED 327 #define NTBINS 1 328 #define NLBINS 29 329 #define NBINS 36 330 #define NSIZES 104 331 #define LG_CEIL_NSIZES 7 332 #define NPSIZES 71 333 #define LG_TINY_MAXCLASS 3 334 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 335 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) 336 #define LG_LARGE_MINCLASS 14 337 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 338 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 339 #endif 340 341 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 12) 342 #define SIZE_CLASSES \ 343 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 344 SC( 0, 4, 4, 0, no, yes, 1, 4) \ 345 SC( 1, 4, 4, 1, no, yes, 1, 4) \ 346 SC( 2, 4, 4, 2, no, yes, 3, 4) \ 347 SC( 3, 4, 4, 3, no, yes, 1, 4) \ 348 \ 349 SC( 4, 6, 4, 1, no, yes, 5, 4) \ 350 SC( 5, 6, 4, 2, no, yes, 3, 4) \ 351 SC( 6, 6, 4, 3, no, yes, 7, 4) \ 352 SC( 7, 6, 4, 4, no, yes, 1, 4) \ 353 \ 354 SC( 8, 7, 5, 1, no, yes, 5, 5) \ 355 SC( 9, 7, 5, 2, no, yes, 3, 5) \ 356 SC( 10, 7, 5, 3, no, yes, 7, 5) \ 357 SC( 11, 7, 5, 4, no, yes, 1, 5) \ 358 \ 359 SC( 12, 8, 6, 1, no, yes, 5, 6) \ 360 SC( 13, 8, 6, 2, no, yes, 3, 6) \ 361 SC( 14, 8, 6, 3, no, yes, 7, 6) \ 362 SC( 15, 8, 6, 4, no, yes, 1, 6) \ 363 \ 364 SC( 16, 9, 7, 1, no, yes, 5, 7) \ 365 SC( 17, 9, 7, 2, no, yes, 3, 7) \ 366 SC( 18, 9, 7, 3, no, yes, 7, 7) \ 367 SC( 19, 9, 7, 4, no, yes, 1, 7) \ 368 \ 369 SC( 20, 10, 8, 1, no, yes, 5, 8) \ 370 SC( 21, 10, 8, 2, no, yes, 3, 8) \ 371 SC( 22, 10, 8, 3, no, yes, 7, 8) \ 372 SC( 23, 10, 8, 4, no, yes, 1, 8) \ 373 \ 374 SC( 24, 11, 9, 1, no, yes, 5, 9) \ 375 SC( 25, 11, 9, 2, no, yes, 3, 9) \ 376 SC( 26, 11, 9, 3, no, yes, 7, 9) \ 377 SC( 27, 11, 9, 4, yes, yes, 1, 9) \ 378 \ 379 SC( 28, 12, 10, 1, no, yes, 5, no) \ 380 SC( 29, 12, 10, 2, no, yes, 3, no) \ 381 SC( 30, 12, 10, 3, no, yes, 7, no) \ 382 SC( 31, 12, 10, 4, yes, yes, 2, no) \ 383 \ 384 SC( 32, 13, 11, 1, no, yes, 5, no) \ 385 SC( 33, 13, 11, 2, yes, yes, 3, no) \ 386 SC( 34, 13, 11, 3, no, yes, 7, no) \ 387 SC( 35, 13, 11, 4, yes, no, 0, no) \ 388 \ 389 SC( 36, 14, 12, 1, yes, no, 0, no) \ 390 SC( 37, 14, 12, 2, yes, no, 0, no) \ 391 SC( 38, 14, 12, 3, yes, no, 0, no) \ 392 SC( 39, 14, 12, 4, yes, no, 0, no) \ 393 \ 394 SC( 40, 15, 13, 1, yes, no, 0, no) \ 395 SC( 41, 15, 13, 2, yes, no, 0, no) \ 396 SC( 42, 15, 13, 3, yes, no, 0, no) \ 397 SC( 43, 15, 13, 4, yes, no, 0, no) \ 398 \ 399 SC( 44, 16, 14, 1, yes, no, 0, no) \ 400 SC( 45, 16, 14, 2, yes, no, 0, no) \ 401 SC( 46, 16, 14, 3, yes, no, 0, no) \ 402 SC( 47, 16, 14, 4, yes, no, 0, no) \ 403 \ 404 SC( 48, 17, 15, 1, yes, no, 0, no) \ 405 SC( 49, 17, 15, 2, yes, no, 0, no) \ 406 SC( 50, 17, 15, 3, yes, no, 0, no) \ 407 SC( 51, 17, 15, 4, yes, no, 0, no) \ 408 \ 409 SC( 52, 18, 16, 1, yes, no, 0, no) \ 410 SC( 53, 18, 16, 2, yes, no, 0, no) \ 411 SC( 54, 18, 16, 3, yes, no, 0, no) \ 412 SC( 55, 18, 16, 4, yes, no, 0, no) \ 413 \ 414 SC( 56, 19, 17, 1, yes, no, 0, no) \ 415 SC( 57, 19, 17, 2, yes, no, 0, no) \ 416 SC( 58, 19, 17, 3, yes, no, 0, no) \ 417 SC( 59, 19, 17, 4, yes, no, 0, no) \ 418 \ 419 SC( 60, 20, 18, 1, yes, no, 0, no) \ 420 SC( 61, 20, 18, 2, yes, no, 0, no) \ 421 SC( 62, 20, 18, 3, yes, no, 0, no) \ 422 SC( 63, 20, 18, 4, yes, no, 0, no) \ 423 \ 424 SC( 64, 21, 19, 1, yes, no, 0, no) \ 425 SC( 65, 21, 19, 2, yes, no, 0, no) \ 426 SC( 66, 21, 19, 3, yes, no, 0, no) \ 427 SC( 67, 21, 19, 4, yes, no, 0, no) \ 428 \ 429 SC( 68, 22, 20, 1, yes, no, 0, no) \ 430 SC( 69, 22, 20, 2, yes, no, 0, no) \ 431 SC( 70, 22, 20, 3, yes, no, 0, no) \ 432 SC( 71, 22, 20, 4, yes, no, 0, no) \ 433 \ 434 SC( 72, 23, 21, 1, yes, no, 0, no) \ 435 SC( 73, 23, 21, 2, yes, no, 0, no) \ 436 SC( 74, 23, 21, 3, yes, no, 0, no) \ 437 SC( 75, 23, 21, 4, yes, no, 0, no) \ 438 \ 439 SC( 76, 24, 22, 1, yes, no, 0, no) \ 440 SC( 77, 24, 22, 2, yes, no, 0, no) \ 441 SC( 78, 24, 22, 3, yes, no, 0, no) \ 442 SC( 79, 24, 22, 4, yes, no, 0, no) \ 443 \ 444 SC( 80, 25, 23, 1, yes, no, 0, no) \ 445 SC( 81, 25, 23, 2, yes, no, 0, no) \ 446 SC( 82, 25, 23, 3, yes, no, 0, no) \ 447 SC( 83, 25, 23, 4, yes, no, 0, no) \ 448 \ 449 SC( 84, 26, 24, 1, yes, no, 0, no) \ 450 SC( 85, 26, 24, 2, yes, no, 0, no) \ 451 SC( 86, 26, 24, 3, yes, no, 0, no) \ 452 SC( 87, 26, 24, 4, yes, no, 0, no) \ 453 \ 454 SC( 88, 27, 25, 1, yes, no, 0, no) \ 455 SC( 89, 27, 25, 2, yes, no, 0, no) \ 456 SC( 90, 27, 25, 3, yes, no, 0, no) \ 457 SC( 91, 27, 25, 4, yes, no, 0, no) \ 458 \ 459 SC( 92, 28, 26, 1, yes, no, 0, no) \ 460 SC( 93, 28, 26, 2, yes, no, 0, no) \ 461 SC( 94, 28, 26, 3, yes, no, 0, no) \ 462 SC( 95, 28, 26, 4, yes, no, 0, no) \ 463 \ 464 SC( 96, 29, 27, 1, yes, no, 0, no) \ 465 SC( 97, 29, 27, 2, yes, no, 0, no) \ 466 SC( 98, 29, 27, 3, yes, no, 0, no) \ 467 SC( 99, 29, 27, 4, yes, no, 0, no) \ 468 \ 469 SC(100, 30, 28, 1, yes, no, 0, no) \ 470 SC(101, 30, 28, 2, yes, no, 0, no) \ 471 SC(102, 30, 28, 3, yes, no, 0, no) \ 472 473 #define SIZE_CLASSES_DEFINED 474 #define NTBINS 0 475 #define NLBINS 28 476 #define NBINS 35 477 #define NSIZES 103 478 #define LG_CEIL_NSIZES 7 479 #define NPSIZES 71 480 #define LG_TINY_MAXCLASS "NA" 481 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 482 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) 483 #define LG_LARGE_MINCLASS 14 484 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 485 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 486 #endif 487 488 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 12) 489 #define SIZE_CLASSES \ 490 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 491 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 492 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 493 SC( 2, 3, 3, 2, no, yes, 3, 3) \ 494 SC( 3, 3, 3, 3, no, yes, 1, 3) \ 495 \ 496 SC( 4, 5, 3, 1, no, yes, 5, 3) \ 497 SC( 5, 5, 3, 2, no, yes, 3, 3) \ 498 SC( 6, 5, 3, 3, no, yes, 7, 3) \ 499 SC( 7, 5, 3, 4, no, yes, 1, 3) \ 500 \ 501 SC( 8, 6, 4, 1, no, yes, 5, 4) \ 502 SC( 9, 6, 4, 2, no, yes, 3, 4) \ 503 SC( 10, 6, 4, 3, no, yes, 7, 4) \ 504 SC( 11, 6, 4, 4, no, yes, 1, 4) \ 505 \ 506 SC( 12, 7, 5, 1, no, yes, 5, 5) \ 507 SC( 13, 7, 5, 2, no, yes, 3, 5) \ 508 SC( 14, 7, 5, 3, no, yes, 7, 5) \ 509 SC( 15, 7, 5, 4, no, yes, 1, 5) \ 510 \ 511 SC( 16, 8, 6, 1, no, yes, 5, 6) \ 512 SC( 17, 8, 6, 2, no, yes, 3, 6) \ 513 SC( 18, 8, 6, 3, no, yes, 7, 6) \ 514 SC( 19, 8, 6, 4, no, yes, 1, 6) \ 515 \ 516 SC( 20, 9, 7, 1, no, yes, 5, 7) \ 517 SC( 21, 9, 7, 2, no, yes, 3, 7) \ 518 SC( 22, 9, 7, 3, no, yes, 7, 7) \ 519 SC( 23, 9, 7, 4, no, yes, 1, 7) \ 520 \ 521 SC( 24, 10, 8, 1, no, yes, 5, 8) \ 522 SC( 25, 10, 8, 2, no, yes, 3, 8) \ 523 SC( 26, 10, 8, 3, no, yes, 7, 8) \ 524 SC( 27, 10, 8, 4, no, yes, 1, 8) \ 525 \ 526 SC( 28, 11, 9, 1, no, yes, 5, 9) \ 527 SC( 29, 11, 9, 2, no, yes, 3, 9) \ 528 SC( 30, 11, 9, 3, no, yes, 7, 9) \ 529 SC( 31, 11, 9, 4, yes, yes, 1, 9) \ 530 \ 531 SC( 32, 12, 10, 1, no, yes, 5, no) \ 532 SC( 33, 12, 10, 2, no, yes, 3, no) \ 533 SC( 34, 12, 10, 3, no, yes, 7, no) \ 534 SC( 35, 12, 10, 4, yes, yes, 2, no) \ 535 \ 536 SC( 36, 13, 11, 1, no, yes, 5, no) \ 537 SC( 37, 13, 11, 2, yes, yes, 3, no) \ 538 SC( 38, 13, 11, 3, no, yes, 7, no) \ 539 SC( 39, 13, 11, 4, yes, no, 0, no) \ 540 \ 541 SC( 40, 14, 12, 1, yes, no, 0, no) \ 542 SC( 41, 14, 12, 2, yes, no, 0, no) \ 543 SC( 42, 14, 12, 3, yes, no, 0, no) \ 544 SC( 43, 14, 12, 4, yes, no, 0, no) \ 545 \ 546 SC( 44, 15, 13, 1, yes, no, 0, no) \ 547 SC( 45, 15, 13, 2, yes, no, 0, no) \ 548 SC( 46, 15, 13, 3, yes, no, 0, no) \ 549 SC( 47, 15, 13, 4, yes, no, 0, no) \ 550 \ 551 SC( 48, 16, 14, 1, yes, no, 0, no) \ 552 SC( 49, 16, 14, 2, yes, no, 0, no) \ 553 SC( 50, 16, 14, 3, yes, no, 0, no) \ 554 SC( 51, 16, 14, 4, yes, no, 0, no) \ 555 \ 556 SC( 52, 17, 15, 1, yes, no, 0, no) \ 557 SC( 53, 17, 15, 2, yes, no, 0, no) \ 558 SC( 54, 17, 15, 3, yes, no, 0, no) \ 559 SC( 55, 17, 15, 4, yes, no, 0, no) \ 560 \ 561 SC( 56, 18, 16, 1, yes, no, 0, no) \ 562 SC( 57, 18, 16, 2, yes, no, 0, no) \ 563 SC( 58, 18, 16, 3, yes, no, 0, no) \ 564 SC( 59, 18, 16, 4, yes, no, 0, no) \ 565 \ 566 SC( 60, 19, 17, 1, yes, no, 0, no) \ 567 SC( 61, 19, 17, 2, yes, no, 0, no) \ 568 SC( 62, 19, 17, 3, yes, no, 0, no) \ 569 SC( 63, 19, 17, 4, yes, no, 0, no) \ 570 \ 571 SC( 64, 20, 18, 1, yes, no, 0, no) \ 572 SC( 65, 20, 18, 2, yes, no, 0, no) \ 573 SC( 66, 20, 18, 3, yes, no, 0, no) \ 574 SC( 67, 20, 18, 4, yes, no, 0, no) \ 575 \ 576 SC( 68, 21, 19, 1, yes, no, 0, no) \ 577 SC( 69, 21, 19, 2, yes, no, 0, no) \ 578 SC( 70, 21, 19, 3, yes, no, 0, no) \ 579 SC( 71, 21, 19, 4, yes, no, 0, no) \ 580 \ 581 SC( 72, 22, 20, 1, yes, no, 0, no) \ 582 SC( 73, 22, 20, 2, yes, no, 0, no) \ 583 SC( 74, 22, 20, 3, yes, no, 0, no) \ 584 SC( 75, 22, 20, 4, yes, no, 0, no) \ 585 \ 586 SC( 76, 23, 21, 1, yes, no, 0, no) \ 587 SC( 77, 23, 21, 2, yes, no, 0, no) \ 588 SC( 78, 23, 21, 3, yes, no, 0, no) \ 589 SC( 79, 23, 21, 4, yes, no, 0, no) \ 590 \ 591 SC( 80, 24, 22, 1, yes, no, 0, no) \ 592 SC( 81, 24, 22, 2, yes, no, 0, no) \ 593 SC( 82, 24, 22, 3, yes, no, 0, no) \ 594 SC( 83, 24, 22, 4, yes, no, 0, no) \ 595 \ 596 SC( 84, 25, 23, 1, yes, no, 0, no) \ 597 SC( 85, 25, 23, 2, yes, no, 0, no) \ 598 SC( 86, 25, 23, 3, yes, no, 0, no) \ 599 SC( 87, 25, 23, 4, yes, no, 0, no) \ 600 \ 601 SC( 88, 26, 24, 1, yes, no, 0, no) \ 602 SC( 89, 26, 24, 2, yes, no, 0, no) \ 603 SC( 90, 26, 24, 3, yes, no, 0, no) \ 604 SC( 91, 26, 24, 4, yes, no, 0, no) \ 605 \ 606 SC( 92, 27, 25, 1, yes, no, 0, no) \ 607 SC( 93, 27, 25, 2, yes, no, 0, no) \ 608 SC( 94, 27, 25, 3, yes, no, 0, no) \ 609 SC( 95, 27, 25, 4, yes, no, 0, no) \ 610 \ 611 SC( 96, 28, 26, 1, yes, no, 0, no) \ 612 SC( 97, 28, 26, 2, yes, no, 0, no) \ 613 SC( 98, 28, 26, 3, yes, no, 0, no) \ 614 SC( 99, 28, 26, 4, yes, no, 0, no) \ 615 \ 616 SC(100, 29, 27, 1, yes, no, 0, no) \ 617 SC(101, 29, 27, 2, yes, no, 0, no) \ 618 SC(102, 29, 27, 3, yes, no, 0, no) \ 619 SC(103, 29, 27, 4, yes, no, 0, no) \ 620 \ 621 SC(104, 30, 28, 1, yes, no, 0, no) \ 622 SC(105, 30, 28, 2, yes, no, 0, no) \ 623 SC(106, 30, 28, 3, yes, no, 0, no) \ 624 SC(107, 30, 28, 4, yes, no, 0, no) \ 625 \ 626 SC(108, 31, 29, 1, yes, no, 0, no) \ 627 SC(109, 31, 29, 2, yes, no, 0, no) \ 628 SC(110, 31, 29, 3, yes, no, 0, no) \ 629 SC(111, 31, 29, 4, yes, no, 0, no) \ 630 \ 631 SC(112, 32, 30, 1, yes, no, 0, no) \ 632 SC(113, 32, 30, 2, yes, no, 0, no) \ 633 SC(114, 32, 30, 3, yes, no, 0, no) \ 634 SC(115, 32, 30, 4, yes, no, 0, no) \ 635 \ 636 SC(116, 33, 31, 1, yes, no, 0, no) \ 637 SC(117, 33, 31, 2, yes, no, 0, no) \ 638 SC(118, 33, 31, 3, yes, no, 0, no) \ 639 SC(119, 33, 31, 4, yes, no, 0, no) \ 640 \ 641 SC(120, 34, 32, 1, yes, no, 0, no) \ 642 SC(121, 34, 32, 2, yes, no, 0, no) \ 643 SC(122, 34, 32, 3, yes, no, 0, no) \ 644 SC(123, 34, 32, 4, yes, no, 0, no) \ 645 \ 646 SC(124, 35, 33, 1, yes, no, 0, no) \ 647 SC(125, 35, 33, 2, yes, no, 0, no) \ 648 SC(126, 35, 33, 3, yes, no, 0, no) \ 649 SC(127, 35, 33, 4, yes, no, 0, no) \ 650 \ 651 SC(128, 36, 34, 1, yes, no, 0, no) \ 652 SC(129, 36, 34, 2, yes, no, 0, no) \ 653 SC(130, 36, 34, 3, yes, no, 0, no) \ 654 SC(131, 36, 34, 4, yes, no, 0, no) \ 655 \ 656 SC(132, 37, 35, 1, yes, no, 0, no) \ 657 SC(133, 37, 35, 2, yes, no, 0, no) \ 658 SC(134, 37, 35, 3, yes, no, 0, no) \ 659 SC(135, 37, 35, 4, yes, no, 0, no) \ 660 \ 661 SC(136, 38, 36, 1, yes, no, 0, no) \ 662 SC(137, 38, 36, 2, yes, no, 0, no) \ 663 SC(138, 38, 36, 3, yes, no, 0, no) \ 664 SC(139, 38, 36, 4, yes, no, 0, no) \ 665 \ 666 SC(140, 39, 37, 1, yes, no, 0, no) \ 667 SC(141, 39, 37, 2, yes, no, 0, no) \ 668 SC(142, 39, 37, 3, yes, no, 0, no) \ 669 SC(143, 39, 37, 4, yes, no, 0, no) \ 670 \ 671 SC(144, 40, 38, 1, yes, no, 0, no) \ 672 SC(145, 40, 38, 2, yes, no, 0, no) \ 673 SC(146, 40, 38, 3, yes, no, 0, no) \ 674 SC(147, 40, 38, 4, yes, no, 0, no) \ 675 \ 676 SC(148, 41, 39, 1, yes, no, 0, no) \ 677 SC(149, 41, 39, 2, yes, no, 0, no) \ 678 SC(150, 41, 39, 3, yes, no, 0, no) \ 679 SC(151, 41, 39, 4, yes, no, 0, no) \ 680 \ 681 SC(152, 42, 40, 1, yes, no, 0, no) \ 682 SC(153, 42, 40, 2, yes, no, 0, no) \ 683 SC(154, 42, 40, 3, yes, no, 0, no) \ 684 SC(155, 42, 40, 4, yes, no, 0, no) \ 685 \ 686 SC(156, 43, 41, 1, yes, no, 0, no) \ 687 SC(157, 43, 41, 2, yes, no, 0, no) \ 688 SC(158, 43, 41, 3, yes, no, 0, no) \ 689 SC(159, 43, 41, 4, yes, no, 0, no) \ 690 \ 691 SC(160, 44, 42, 1, yes, no, 0, no) \ 692 SC(161, 44, 42, 2, yes, no, 0, no) \ 693 SC(162, 44, 42, 3, yes, no, 0, no) \ 694 SC(163, 44, 42, 4, yes, no, 0, no) \ 695 \ 696 SC(164, 45, 43, 1, yes, no, 0, no) \ 697 SC(165, 45, 43, 2, yes, no, 0, no) \ 698 SC(166, 45, 43, 3, yes, no, 0, no) \ 699 SC(167, 45, 43, 4, yes, no, 0, no) \ 700 \ 701 SC(168, 46, 44, 1, yes, no, 0, no) \ 702 SC(169, 46, 44, 2, yes, no, 0, no) \ 703 SC(170, 46, 44, 3, yes, no, 0, no) \ 704 SC(171, 46, 44, 4, yes, no, 0, no) \ 705 \ 706 SC(172, 47, 45, 1, yes, no, 0, no) \ 707 SC(173, 47, 45, 2, yes, no, 0, no) \ 708 SC(174, 47, 45, 3, yes, no, 0, no) \ 709 SC(175, 47, 45, 4, yes, no, 0, no) \ 710 \ 711 SC(176, 48, 46, 1, yes, no, 0, no) \ 712 SC(177, 48, 46, 2, yes, no, 0, no) \ 713 SC(178, 48, 46, 3, yes, no, 0, no) \ 714 SC(179, 48, 46, 4, yes, no, 0, no) \ 715 \ 716 SC(180, 49, 47, 1, yes, no, 0, no) \ 717 SC(181, 49, 47, 2, yes, no, 0, no) \ 718 SC(182, 49, 47, 3, yes, no, 0, no) \ 719 SC(183, 49, 47, 4, yes, no, 0, no) \ 720 \ 721 SC(184, 50, 48, 1, yes, no, 0, no) \ 722 SC(185, 50, 48, 2, yes, no, 0, no) \ 723 SC(186, 50, 48, 3, yes, no, 0, no) \ 724 SC(187, 50, 48, 4, yes, no, 0, no) \ 725 \ 726 SC(188, 51, 49, 1, yes, no, 0, no) \ 727 SC(189, 51, 49, 2, yes, no, 0, no) \ 728 SC(190, 51, 49, 3, yes, no, 0, no) \ 729 SC(191, 51, 49, 4, yes, no, 0, no) \ 730 \ 731 SC(192, 52, 50, 1, yes, no, 0, no) \ 732 SC(193, 52, 50, 2, yes, no, 0, no) \ 733 SC(194, 52, 50, 3, yes, no, 0, no) \ 734 SC(195, 52, 50, 4, yes, no, 0, no) \ 735 \ 736 SC(196, 53, 51, 1, yes, no, 0, no) \ 737 SC(197, 53, 51, 2, yes, no, 0, no) \ 738 SC(198, 53, 51, 3, yes, no, 0, no) \ 739 SC(199, 53, 51, 4, yes, no, 0, no) \ 740 \ 741 SC(200, 54, 52, 1, yes, no, 0, no) \ 742 SC(201, 54, 52, 2, yes, no, 0, no) \ 743 SC(202, 54, 52, 3, yes, no, 0, no) \ 744 SC(203, 54, 52, 4, yes, no, 0, no) \ 745 \ 746 SC(204, 55, 53, 1, yes, no, 0, no) \ 747 SC(205, 55, 53, 2, yes, no, 0, no) \ 748 SC(206, 55, 53, 3, yes, no, 0, no) \ 749 SC(207, 55, 53, 4, yes, no, 0, no) \ 750 \ 751 SC(208, 56, 54, 1, yes, no, 0, no) \ 752 SC(209, 56, 54, 2, yes, no, 0, no) \ 753 SC(210, 56, 54, 3, yes, no, 0, no) \ 754 SC(211, 56, 54, 4, yes, no, 0, no) \ 755 \ 756 SC(212, 57, 55, 1, yes, no, 0, no) \ 757 SC(213, 57, 55, 2, yes, no, 0, no) \ 758 SC(214, 57, 55, 3, yes, no, 0, no) \ 759 SC(215, 57, 55, 4, yes, no, 0, no) \ 760 \ 761 SC(216, 58, 56, 1, yes, no, 0, no) \ 762 SC(217, 58, 56, 2, yes, no, 0, no) \ 763 SC(218, 58, 56, 3, yes, no, 0, no) \ 764 SC(219, 58, 56, 4, yes, no, 0, no) \ 765 \ 766 SC(220, 59, 57, 1, yes, no, 0, no) \ 767 SC(221, 59, 57, 2, yes, no, 0, no) \ 768 SC(222, 59, 57, 3, yes, no, 0, no) \ 769 SC(223, 59, 57, 4, yes, no, 0, no) \ 770 \ 771 SC(224, 60, 58, 1, yes, no, 0, no) \ 772 SC(225, 60, 58, 2, yes, no, 0, no) \ 773 SC(226, 60, 58, 3, yes, no, 0, no) \ 774 SC(227, 60, 58, 4, yes, no, 0, no) \ 775 \ 776 SC(228, 61, 59, 1, yes, no, 0, no) \ 777 SC(229, 61, 59, 2, yes, no, 0, no) \ 778 SC(230, 61, 59, 3, yes, no, 0, no) \ 779 SC(231, 61, 59, 4, yes, no, 0, no) \ 780 \ 781 SC(232, 62, 60, 1, yes, no, 0, no) \ 782 SC(233, 62, 60, 2, yes, no, 0, no) \ 783 SC(234, 62, 60, 3, yes, no, 0, no) \ 784 785 #define SIZE_CLASSES_DEFINED 786 #define NTBINS 0 787 #define NLBINS 32 788 #define NBINS 39 789 #define NSIZES 235 790 #define LG_CEIL_NSIZES 8 791 #define NPSIZES 199 792 #define LG_TINY_MAXCLASS "NA" 793 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 794 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) 795 #define LG_LARGE_MINCLASS 14 796 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 797 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 798 #endif 799 800 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 12) 801 #define SIZE_CLASSES \ 802 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 803 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 804 \ 805 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 806 SC( 2, 4, 4, 1, no, yes, 1, 4) \ 807 SC( 3, 4, 4, 2, no, yes, 3, 4) \ 808 SC( 4, 4, 4, 3, no, yes, 1, 4) \ 809 \ 810 SC( 5, 6, 4, 1, no, yes, 5, 4) \ 811 SC( 6, 6, 4, 2, no, yes, 3, 4) \ 812 SC( 7, 6, 4, 3, no, yes, 7, 4) \ 813 SC( 8, 6, 4, 4, no, yes, 1, 4) \ 814 \ 815 SC( 9, 7, 5, 1, no, yes, 5, 5) \ 816 SC( 10, 7, 5, 2, no, yes, 3, 5) \ 817 SC( 11, 7, 5, 3, no, yes, 7, 5) \ 818 SC( 12, 7, 5, 4, no, yes, 1, 5) \ 819 \ 820 SC( 13, 8, 6, 1, no, yes, 5, 6) \ 821 SC( 14, 8, 6, 2, no, yes, 3, 6) \ 822 SC( 15, 8, 6, 3, no, yes, 7, 6) \ 823 SC( 16, 8, 6, 4, no, yes, 1, 6) \ 824 \ 825 SC( 17, 9, 7, 1, no, yes, 5, 7) \ 826 SC( 18, 9, 7, 2, no, yes, 3, 7) \ 827 SC( 19, 9, 7, 3, no, yes, 7, 7) \ 828 SC( 20, 9, 7, 4, no, yes, 1, 7) \ 829 \ 830 SC( 21, 10, 8, 1, no, yes, 5, 8) \ 831 SC( 22, 10, 8, 2, no, yes, 3, 8) \ 832 SC( 23, 10, 8, 3, no, yes, 7, 8) \ 833 SC( 24, 10, 8, 4, no, yes, 1, 8) \ 834 \ 835 SC( 25, 11, 9, 1, no, yes, 5, 9) \ 836 SC( 26, 11, 9, 2, no, yes, 3, 9) \ 837 SC( 27, 11, 9, 3, no, yes, 7, 9) \ 838 SC( 28, 11, 9, 4, yes, yes, 1, 9) \ 839 \ 840 SC( 29, 12, 10, 1, no, yes, 5, no) \ 841 SC( 30, 12, 10, 2, no, yes, 3, no) \ 842 SC( 31, 12, 10, 3, no, yes, 7, no) \ 843 SC( 32, 12, 10, 4, yes, yes, 2, no) \ 844 \ 845 SC( 33, 13, 11, 1, no, yes, 5, no) \ 846 SC( 34, 13, 11, 2, yes, yes, 3, no) \ 847 SC( 35, 13, 11, 3, no, yes, 7, no) \ 848 SC( 36, 13, 11, 4, yes, no, 0, no) \ 849 \ 850 SC( 37, 14, 12, 1, yes, no, 0, no) \ 851 SC( 38, 14, 12, 2, yes, no, 0, no) \ 852 SC( 39, 14, 12, 3, yes, no, 0, no) \ 853 SC( 40, 14, 12, 4, yes, no, 0, no) \ 854 \ 855 SC( 41, 15, 13, 1, yes, no, 0, no) \ 856 SC( 42, 15, 13, 2, yes, no, 0, no) \ 857 SC( 43, 15, 13, 3, yes, no, 0, no) \ 858 SC( 44, 15, 13, 4, yes, no, 0, no) \ 859 \ 860 SC( 45, 16, 14, 1, yes, no, 0, no) \ 861 SC( 46, 16, 14, 2, yes, no, 0, no) \ 862 SC( 47, 16, 14, 3, yes, no, 0, no) \ 863 SC( 48, 16, 14, 4, yes, no, 0, no) \ 864 \ 865 SC( 49, 17, 15, 1, yes, no, 0, no) \ 866 SC( 50, 17, 15, 2, yes, no, 0, no) \ 867 SC( 51, 17, 15, 3, yes, no, 0, no) \ 868 SC( 52, 17, 15, 4, yes, no, 0, no) \ 869 \ 870 SC( 53, 18, 16, 1, yes, no, 0, no) \ 871 SC( 54, 18, 16, 2, yes, no, 0, no) \ 872 SC( 55, 18, 16, 3, yes, no, 0, no) \ 873 SC( 56, 18, 16, 4, yes, no, 0, no) \ 874 \ 875 SC( 57, 19, 17, 1, yes, no, 0, no) \ 876 SC( 58, 19, 17, 2, yes, no, 0, no) \ 877 SC( 59, 19, 17, 3, yes, no, 0, no) \ 878 SC( 60, 19, 17, 4, yes, no, 0, no) \ 879 \ 880 SC( 61, 20, 18, 1, yes, no, 0, no) \ 881 SC( 62, 20, 18, 2, yes, no, 0, no) \ 882 SC( 63, 20, 18, 3, yes, no, 0, no) \ 883 SC( 64, 20, 18, 4, yes, no, 0, no) \ 884 \ 885 SC( 65, 21, 19, 1, yes, no, 0, no) \ 886 SC( 66, 21, 19, 2, yes, no, 0, no) \ 887 SC( 67, 21, 19, 3, yes, no, 0, no) \ 888 SC( 68, 21, 19, 4, yes, no, 0, no) \ 889 \ 890 SC( 69, 22, 20, 1, yes, no, 0, no) \ 891 SC( 70, 22, 20, 2, yes, no, 0, no) \ 892 SC( 71, 22, 20, 3, yes, no, 0, no) \ 893 SC( 72, 22, 20, 4, yes, no, 0, no) \ 894 \ 895 SC( 73, 23, 21, 1, yes, no, 0, no) \ 896 SC( 74, 23, 21, 2, yes, no, 0, no) \ 897 SC( 75, 23, 21, 3, yes, no, 0, no) \ 898 SC( 76, 23, 21, 4, yes, no, 0, no) \ 899 \ 900 SC( 77, 24, 22, 1, yes, no, 0, no) \ 901 SC( 78, 24, 22, 2, yes, no, 0, no) \ 902 SC( 79, 24, 22, 3, yes, no, 0, no) \ 903 SC( 80, 24, 22, 4, yes, no, 0, no) \ 904 \ 905 SC( 81, 25, 23, 1, yes, no, 0, no) \ 906 SC( 82, 25, 23, 2, yes, no, 0, no) \ 907 SC( 83, 25, 23, 3, yes, no, 0, no) \ 908 SC( 84, 25, 23, 4, yes, no, 0, no) \ 909 \ 910 SC( 85, 26, 24, 1, yes, no, 0, no) \ 911 SC( 86, 26, 24, 2, yes, no, 0, no) \ 912 SC( 87, 26, 24, 3, yes, no, 0, no) \ 913 SC( 88, 26, 24, 4, yes, no, 0, no) \ 914 \ 915 SC( 89, 27, 25, 1, yes, no, 0, no) \ 916 SC( 90, 27, 25, 2, yes, no, 0, no) \ 917 SC( 91, 27, 25, 3, yes, no, 0, no) \ 918 SC( 92, 27, 25, 4, yes, no, 0, no) \ 919 \ 920 SC( 93, 28, 26, 1, yes, no, 0, no) \ 921 SC( 94, 28, 26, 2, yes, no, 0, no) \ 922 SC( 95, 28, 26, 3, yes, no, 0, no) \ 923 SC( 96, 28, 26, 4, yes, no, 0, no) \ 924 \ 925 SC( 97, 29, 27, 1, yes, no, 0, no) \ 926 SC( 98, 29, 27, 2, yes, no, 0, no) \ 927 SC( 99, 29, 27, 3, yes, no, 0, no) \ 928 SC(100, 29, 27, 4, yes, no, 0, no) \ 929 \ 930 SC(101, 30, 28, 1, yes, no, 0, no) \ 931 SC(102, 30, 28, 2, yes, no, 0, no) \ 932 SC(103, 30, 28, 3, yes, no, 0, no) \ 933 SC(104, 30, 28, 4, yes, no, 0, no) \ 934 \ 935 SC(105, 31, 29, 1, yes, no, 0, no) \ 936 SC(106, 31, 29, 2, yes, no, 0, no) \ 937 SC(107, 31, 29, 3, yes, no, 0, no) \ 938 SC(108, 31, 29, 4, yes, no, 0, no) \ 939 \ 940 SC(109, 32, 30, 1, yes, no, 0, no) \ 941 SC(110, 32, 30, 2, yes, no, 0, no) \ 942 SC(111, 32, 30, 3, yes, no, 0, no) \ 943 SC(112, 32, 30, 4, yes, no, 0, no) \ 944 \ 945 SC(113, 33, 31, 1, yes, no, 0, no) \ 946 SC(114, 33, 31, 2, yes, no, 0, no) \ 947 SC(115, 33, 31, 3, yes, no, 0, no) \ 948 SC(116, 33, 31, 4, yes, no, 0, no) \ 949 \ 950 SC(117, 34, 32, 1, yes, no, 0, no) \ 951 SC(118, 34, 32, 2, yes, no, 0, no) \ 952 SC(119, 34, 32, 3, yes, no, 0, no) \ 953 SC(120, 34, 32, 4, yes, no, 0, no) \ 954 \ 955 SC(121, 35, 33, 1, yes, no, 0, no) \ 956 SC(122, 35, 33, 2, yes, no, 0, no) \ 957 SC(123, 35, 33, 3, yes, no, 0, no) \ 958 SC(124, 35, 33, 4, yes, no, 0, no) \ 959 \ 960 SC(125, 36, 34, 1, yes, no, 0, no) \ 961 SC(126, 36, 34, 2, yes, no, 0, no) \ 962 SC(127, 36, 34, 3, yes, no, 0, no) \ 963 SC(128, 36, 34, 4, yes, no, 0, no) \ 964 \ 965 SC(129, 37, 35, 1, yes, no, 0, no) \ 966 SC(130, 37, 35, 2, yes, no, 0, no) \ 967 SC(131, 37, 35, 3, yes, no, 0, no) \ 968 SC(132, 37, 35, 4, yes, no, 0, no) \ 969 \ 970 SC(133, 38, 36, 1, yes, no, 0, no) \ 971 SC(134, 38, 36, 2, yes, no, 0, no) \ 972 SC(135, 38, 36, 3, yes, no, 0, no) \ 973 SC(136, 38, 36, 4, yes, no, 0, no) \ 974 \ 975 SC(137, 39, 37, 1, yes, no, 0, no) \ 976 SC(138, 39, 37, 2, yes, no, 0, no) \ 977 SC(139, 39, 37, 3, yes, no, 0, no) \ 978 SC(140, 39, 37, 4, yes, no, 0, no) \ 979 \ 980 SC(141, 40, 38, 1, yes, no, 0, no) \ 981 SC(142, 40, 38, 2, yes, no, 0, no) \ 982 SC(143, 40, 38, 3, yes, no, 0, no) \ 983 SC(144, 40, 38, 4, yes, no, 0, no) \ 984 \ 985 SC(145, 41, 39, 1, yes, no, 0, no) \ 986 SC(146, 41, 39, 2, yes, no, 0, no) \ 987 SC(147, 41, 39, 3, yes, no, 0, no) \ 988 SC(148, 41, 39, 4, yes, no, 0, no) \ 989 \ 990 SC(149, 42, 40, 1, yes, no, 0, no) \ 991 SC(150, 42, 40, 2, yes, no, 0, no) \ 992 SC(151, 42, 40, 3, yes, no, 0, no) \ 993 SC(152, 42, 40, 4, yes, no, 0, no) \ 994 \ 995 SC(153, 43, 41, 1, yes, no, 0, no) \ 996 SC(154, 43, 41, 2, yes, no, 0, no) \ 997 SC(155, 43, 41, 3, yes, no, 0, no) \ 998 SC(156, 43, 41, 4, yes, no, 0, no) \ 999 \ 1000 SC(157, 44, 42, 1, yes, no, 0, no) \ 1001 SC(158, 44, 42, 2, yes, no, 0, no) \ 1002 SC(159, 44, 42, 3, yes, no, 0, no) \ 1003 SC(160, 44, 42, 4, yes, no, 0, no) \ 1004 \ 1005 SC(161, 45, 43, 1, yes, no, 0, no) \ 1006 SC(162, 45, 43, 2, yes, no, 0, no) \ 1007 SC(163, 45, 43, 3, yes, no, 0, no) \ 1008 SC(164, 45, 43, 4, yes, no, 0, no) \ 1009 \ 1010 SC(165, 46, 44, 1, yes, no, 0, no) \ 1011 SC(166, 46, 44, 2, yes, no, 0, no) \ 1012 SC(167, 46, 44, 3, yes, no, 0, no) \ 1013 SC(168, 46, 44, 4, yes, no, 0, no) \ 1014 \ 1015 SC(169, 47, 45, 1, yes, no, 0, no) \ 1016 SC(170, 47, 45, 2, yes, no, 0, no) \ 1017 SC(171, 47, 45, 3, yes, no, 0, no) \ 1018 SC(172, 47, 45, 4, yes, no, 0, no) \ 1019 \ 1020 SC(173, 48, 46, 1, yes, no, 0, no) \ 1021 SC(174, 48, 46, 2, yes, no, 0, no) \ 1022 SC(175, 48, 46, 3, yes, no, 0, no) \ 1023 SC(176, 48, 46, 4, yes, no, 0, no) \ 1024 \ 1025 SC(177, 49, 47, 1, yes, no, 0, no) \ 1026 SC(178, 49, 47, 2, yes, no, 0, no) \ 1027 SC(179, 49, 47, 3, yes, no, 0, no) \ 1028 SC(180, 49, 47, 4, yes, no, 0, no) \ 1029 \ 1030 SC(181, 50, 48, 1, yes, no, 0, no) \ 1031 SC(182, 50, 48, 2, yes, no, 0, no) \ 1032 SC(183, 50, 48, 3, yes, no, 0, no) \ 1033 SC(184, 50, 48, 4, yes, no, 0, no) \ 1034 \ 1035 SC(185, 51, 49, 1, yes, no, 0, no) \ 1036 SC(186, 51, 49, 2, yes, no, 0, no) \ 1037 SC(187, 51, 49, 3, yes, no, 0, no) \ 1038 SC(188, 51, 49, 4, yes, no, 0, no) \ 1039 \ 1040 SC(189, 52, 50, 1, yes, no, 0, no) \ 1041 SC(190, 52, 50, 2, yes, no, 0, no) \ 1042 SC(191, 52, 50, 3, yes, no, 0, no) \ 1043 SC(192, 52, 50, 4, yes, no, 0, no) \ 1044 \ 1045 SC(193, 53, 51, 1, yes, no, 0, no) \ 1046 SC(194, 53, 51, 2, yes, no, 0, no) \ 1047 SC(195, 53, 51, 3, yes, no, 0, no) \ 1048 SC(196, 53, 51, 4, yes, no, 0, no) \ 1049 \ 1050 SC(197, 54, 52, 1, yes, no, 0, no) \ 1051 SC(198, 54, 52, 2, yes, no, 0, no) \ 1052 SC(199, 54, 52, 3, yes, no, 0, no) \ 1053 SC(200, 54, 52, 4, yes, no, 0, no) \ 1054 \ 1055 SC(201, 55, 53, 1, yes, no, 0, no) \ 1056 SC(202, 55, 53, 2, yes, no, 0, no) \ 1057 SC(203, 55, 53, 3, yes, no, 0, no) \ 1058 SC(204, 55, 53, 4, yes, no, 0, no) \ 1059 \ 1060 SC(205, 56, 54, 1, yes, no, 0, no) \ 1061 SC(206, 56, 54, 2, yes, no, 0, no) \ 1062 SC(207, 56, 54, 3, yes, no, 0, no) \ 1063 SC(208, 56, 54, 4, yes, no, 0, no) \ 1064 \ 1065 SC(209, 57, 55, 1, yes, no, 0, no) \ 1066 SC(210, 57, 55, 2, yes, no, 0, no) \ 1067 SC(211, 57, 55, 3, yes, no, 0, no) \ 1068 SC(212, 57, 55, 4, yes, no, 0, no) \ 1069 \ 1070 SC(213, 58, 56, 1, yes, no, 0, no) \ 1071 SC(214, 58, 56, 2, yes, no, 0, no) \ 1072 SC(215, 58, 56, 3, yes, no, 0, no) \ 1073 SC(216, 58, 56, 4, yes, no, 0, no) \ 1074 \ 1075 SC(217, 59, 57, 1, yes, no, 0, no) \ 1076 SC(218, 59, 57, 2, yes, no, 0, no) \ 1077 SC(219, 59, 57, 3, yes, no, 0, no) \ 1078 SC(220, 59, 57, 4, yes, no, 0, no) \ 1079 \ 1080 SC(221, 60, 58, 1, yes, no, 0, no) \ 1081 SC(222, 60, 58, 2, yes, no, 0, no) \ 1082 SC(223, 60, 58, 3, yes, no, 0, no) \ 1083 SC(224, 60, 58, 4, yes, no, 0, no) \ 1084 \ 1085 SC(225, 61, 59, 1, yes, no, 0, no) \ 1086 SC(226, 61, 59, 2, yes, no, 0, no) \ 1087 SC(227, 61, 59, 3, yes, no, 0, no) \ 1088 SC(228, 61, 59, 4, yes, no, 0, no) \ 1089 \ 1090 SC(229, 62, 60, 1, yes, no, 0, no) \ 1091 SC(230, 62, 60, 2, yes, no, 0, no) \ 1092 SC(231, 62, 60, 3, yes, no, 0, no) \ 1093 1094 #define SIZE_CLASSES_DEFINED 1095 #define NTBINS 1 1096 #define NLBINS 29 1097 #define NBINS 36 1098 #define NSIZES 232 1099 #define LG_CEIL_NSIZES 8 1100 #define NPSIZES 199 1101 #define LG_TINY_MAXCLASS 3 1102 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 1103 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) 1104 #define LG_LARGE_MINCLASS 14 1105 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 1106 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 1107 #endif 1108 1109 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 12) 1110 #define SIZE_CLASSES \ 1111 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 1112 SC( 0, 4, 4, 0, no, yes, 1, 4) \ 1113 SC( 1, 4, 4, 1, no, yes, 1, 4) \ 1114 SC( 2, 4, 4, 2, no, yes, 3, 4) \ 1115 SC( 3, 4, 4, 3, no, yes, 1, 4) \ 1116 \ 1117 SC( 4, 6, 4, 1, no, yes, 5, 4) \ 1118 SC( 5, 6, 4, 2, no, yes, 3, 4) \ 1119 SC( 6, 6, 4, 3, no, yes, 7, 4) \ 1120 SC( 7, 6, 4, 4, no, yes, 1, 4) \ 1121 \ 1122 SC( 8, 7, 5, 1, no, yes, 5, 5) \ 1123 SC( 9, 7, 5, 2, no, yes, 3, 5) \ 1124 SC( 10, 7, 5, 3, no, yes, 7, 5) \ 1125 SC( 11, 7, 5, 4, no, yes, 1, 5) \ 1126 \ 1127 SC( 12, 8, 6, 1, no, yes, 5, 6) \ 1128 SC( 13, 8, 6, 2, no, yes, 3, 6) \ 1129 SC( 14, 8, 6, 3, no, yes, 7, 6) \ 1130 SC( 15, 8, 6, 4, no, yes, 1, 6) \ 1131 \ 1132 SC( 16, 9, 7, 1, no, yes, 5, 7) \ 1133 SC( 17, 9, 7, 2, no, yes, 3, 7) \ 1134 SC( 18, 9, 7, 3, no, yes, 7, 7) \ 1135 SC( 19, 9, 7, 4, no, yes, 1, 7) \ 1136 \ 1137 SC( 20, 10, 8, 1, no, yes, 5, 8) \ 1138 SC( 21, 10, 8, 2, no, yes, 3, 8) \ 1139 SC( 22, 10, 8, 3, no, yes, 7, 8) \ 1140 SC( 23, 10, 8, 4, no, yes, 1, 8) \ 1141 \ 1142 SC( 24, 11, 9, 1, no, yes, 5, 9) \ 1143 SC( 25, 11, 9, 2, no, yes, 3, 9) \ 1144 SC( 26, 11, 9, 3, no, yes, 7, 9) \ 1145 SC( 27, 11, 9, 4, yes, yes, 1, 9) \ 1146 \ 1147 SC( 28, 12, 10, 1, no, yes, 5, no) \ 1148 SC( 29, 12, 10, 2, no, yes, 3, no) \ 1149 SC( 30, 12, 10, 3, no, yes, 7, no) \ 1150 SC( 31, 12, 10, 4, yes, yes, 2, no) \ 1151 \ 1152 SC( 32, 13, 11, 1, no, yes, 5, no) \ 1153 SC( 33, 13, 11, 2, yes, yes, 3, no) \ 1154 SC( 34, 13, 11, 3, no, yes, 7, no) \ 1155 SC( 35, 13, 11, 4, yes, no, 0, no) \ 1156 \ 1157 SC( 36, 14, 12, 1, yes, no, 0, no) \ 1158 SC( 37, 14, 12, 2, yes, no, 0, no) \ 1159 SC( 38, 14, 12, 3, yes, no, 0, no) \ 1160 SC( 39, 14, 12, 4, yes, no, 0, no) \ 1161 \ 1162 SC( 40, 15, 13, 1, yes, no, 0, no) \ 1163 SC( 41, 15, 13, 2, yes, no, 0, no) \ 1164 SC( 42, 15, 13, 3, yes, no, 0, no) \ 1165 SC( 43, 15, 13, 4, yes, no, 0, no) \ 1166 \ 1167 SC( 44, 16, 14, 1, yes, no, 0, no) \ 1168 SC( 45, 16, 14, 2, yes, no, 0, no) \ 1169 SC( 46, 16, 14, 3, yes, no, 0, no) \ 1170 SC( 47, 16, 14, 4, yes, no, 0, no) \ 1171 \ 1172 SC( 48, 17, 15, 1, yes, no, 0, no) \ 1173 SC( 49, 17, 15, 2, yes, no, 0, no) \ 1174 SC( 50, 17, 15, 3, yes, no, 0, no) \ 1175 SC( 51, 17, 15, 4, yes, no, 0, no) \ 1176 \ 1177 SC( 52, 18, 16, 1, yes, no, 0, no) \ 1178 SC( 53, 18, 16, 2, yes, no, 0, no) \ 1179 SC( 54, 18, 16, 3, yes, no, 0, no) \ 1180 SC( 55, 18, 16, 4, yes, no, 0, no) \ 1181 \ 1182 SC( 56, 19, 17, 1, yes, no, 0, no) \ 1183 SC( 57, 19, 17, 2, yes, no, 0, no) \ 1184 SC( 58, 19, 17, 3, yes, no, 0, no) \ 1185 SC( 59, 19, 17, 4, yes, no, 0, no) \ 1186 \ 1187 SC( 60, 20, 18, 1, yes, no, 0, no) \ 1188 SC( 61, 20, 18, 2, yes, no, 0, no) \ 1189 SC( 62, 20, 18, 3, yes, no, 0, no) \ 1190 SC( 63, 20, 18, 4, yes, no, 0, no) \ 1191 \ 1192 SC( 64, 21, 19, 1, yes, no, 0, no) \ 1193 SC( 65, 21, 19, 2, yes, no, 0, no) \ 1194 SC( 66, 21, 19, 3, yes, no, 0, no) \ 1195 SC( 67, 21, 19, 4, yes, no, 0, no) \ 1196 \ 1197 SC( 68, 22, 20, 1, yes, no, 0, no) \ 1198 SC( 69, 22, 20, 2, yes, no, 0, no) \ 1199 SC( 70, 22, 20, 3, yes, no, 0, no) \ 1200 SC( 71, 22, 20, 4, yes, no, 0, no) \ 1201 \ 1202 SC( 72, 23, 21, 1, yes, no, 0, no) \ 1203 SC( 73, 23, 21, 2, yes, no, 0, no) \ 1204 SC( 74, 23, 21, 3, yes, no, 0, no) \ 1205 SC( 75, 23, 21, 4, yes, no, 0, no) \ 1206 \ 1207 SC( 76, 24, 22, 1, yes, no, 0, no) \ 1208 SC( 77, 24, 22, 2, yes, no, 0, no) \ 1209 SC( 78, 24, 22, 3, yes, no, 0, no) \ 1210 SC( 79, 24, 22, 4, yes, no, 0, no) \ 1211 \ 1212 SC( 80, 25, 23, 1, yes, no, 0, no) \ 1213 SC( 81, 25, 23, 2, yes, no, 0, no) \ 1214 SC( 82, 25, 23, 3, yes, no, 0, no) \ 1215 SC( 83, 25, 23, 4, yes, no, 0, no) \ 1216 \ 1217 SC( 84, 26, 24, 1, yes, no, 0, no) \ 1218 SC( 85, 26, 24, 2, yes, no, 0, no) \ 1219 SC( 86, 26, 24, 3, yes, no, 0, no) \ 1220 SC( 87, 26, 24, 4, yes, no, 0, no) \ 1221 \ 1222 SC( 88, 27, 25, 1, yes, no, 0, no) \ 1223 SC( 89, 27, 25, 2, yes, no, 0, no) \ 1224 SC( 90, 27, 25, 3, yes, no, 0, no) \ 1225 SC( 91, 27, 25, 4, yes, no, 0, no) \ 1226 \ 1227 SC( 92, 28, 26, 1, yes, no, 0, no) \ 1228 SC( 93, 28, 26, 2, yes, no, 0, no) \ 1229 SC( 94, 28, 26, 3, yes, no, 0, no) \ 1230 SC( 95, 28, 26, 4, yes, no, 0, no) \ 1231 \ 1232 SC( 96, 29, 27, 1, yes, no, 0, no) \ 1233 SC( 97, 29, 27, 2, yes, no, 0, no) \ 1234 SC( 98, 29, 27, 3, yes, no, 0, no) \ 1235 SC( 99, 29, 27, 4, yes, no, 0, no) \ 1236 \ 1237 SC(100, 30, 28, 1, yes, no, 0, no) \ 1238 SC(101, 30, 28, 2, yes, no, 0, no) \ 1239 SC(102, 30, 28, 3, yes, no, 0, no) \ 1240 SC(103, 30, 28, 4, yes, no, 0, no) \ 1241 \ 1242 SC(104, 31, 29, 1, yes, no, 0, no) \ 1243 SC(105, 31, 29, 2, yes, no, 0, no) \ 1244 SC(106, 31, 29, 3, yes, no, 0, no) \ 1245 SC(107, 31, 29, 4, yes, no, 0, no) \ 1246 \ 1247 SC(108, 32, 30, 1, yes, no, 0, no) \ 1248 SC(109, 32, 30, 2, yes, no, 0, no) \ 1249 SC(110, 32, 30, 3, yes, no, 0, no) \ 1250 SC(111, 32, 30, 4, yes, no, 0, no) \ 1251 \ 1252 SC(112, 33, 31, 1, yes, no, 0, no) \ 1253 SC(113, 33, 31, 2, yes, no, 0, no) \ 1254 SC(114, 33, 31, 3, yes, no, 0, no) \ 1255 SC(115, 33, 31, 4, yes, no, 0, no) \ 1256 \ 1257 SC(116, 34, 32, 1, yes, no, 0, no) \ 1258 SC(117, 34, 32, 2, yes, no, 0, no) \ 1259 SC(118, 34, 32, 3, yes, no, 0, no) \ 1260 SC(119, 34, 32, 4, yes, no, 0, no) \ 1261 \ 1262 SC(120, 35, 33, 1, yes, no, 0, no) \ 1263 SC(121, 35, 33, 2, yes, no, 0, no) \ 1264 SC(122, 35, 33, 3, yes, no, 0, no) \ 1265 SC(123, 35, 33, 4, yes, no, 0, no) \ 1266 \ 1267 SC(124, 36, 34, 1, yes, no, 0, no) \ 1268 SC(125, 36, 34, 2, yes, no, 0, no) \ 1269 SC(126, 36, 34, 3, yes, no, 0, no) \ 1270 SC(127, 36, 34, 4, yes, no, 0, no) \ 1271 \ 1272 SC(128, 37, 35, 1, yes, no, 0, no) \ 1273 SC(129, 37, 35, 2, yes, no, 0, no) \ 1274 SC(130, 37, 35, 3, yes, no, 0, no) \ 1275 SC(131, 37, 35, 4, yes, no, 0, no) \ 1276 \ 1277 SC(132, 38, 36, 1, yes, no, 0, no) \ 1278 SC(133, 38, 36, 2, yes, no, 0, no) \ 1279 SC(134, 38, 36, 3, yes, no, 0, no) \ 1280 SC(135, 38, 36, 4, yes, no, 0, no) \ 1281 \ 1282 SC(136, 39, 37, 1, yes, no, 0, no) \ 1283 SC(137, 39, 37, 2, yes, no, 0, no) \ 1284 SC(138, 39, 37, 3, yes, no, 0, no) \ 1285 SC(139, 39, 37, 4, yes, no, 0, no) \ 1286 \ 1287 SC(140, 40, 38, 1, yes, no, 0, no) \ 1288 SC(141, 40, 38, 2, yes, no, 0, no) \ 1289 SC(142, 40, 38, 3, yes, no, 0, no) \ 1290 SC(143, 40, 38, 4, yes, no, 0, no) \ 1291 \ 1292 SC(144, 41, 39, 1, yes, no, 0, no) \ 1293 SC(145, 41, 39, 2, yes, no, 0, no) \ 1294 SC(146, 41, 39, 3, yes, no, 0, no) \ 1295 SC(147, 41, 39, 4, yes, no, 0, no) \ 1296 \ 1297 SC(148, 42, 40, 1, yes, no, 0, no) \ 1298 SC(149, 42, 40, 2, yes, no, 0, no) \ 1299 SC(150, 42, 40, 3, yes, no, 0, no) \ 1300 SC(151, 42, 40, 4, yes, no, 0, no) \ 1301 \ 1302 SC(152, 43, 41, 1, yes, no, 0, no) \ 1303 SC(153, 43, 41, 2, yes, no, 0, no) \ 1304 SC(154, 43, 41, 3, yes, no, 0, no) \ 1305 SC(155, 43, 41, 4, yes, no, 0, no) \ 1306 \ 1307 SC(156, 44, 42, 1, yes, no, 0, no) \ 1308 SC(157, 44, 42, 2, yes, no, 0, no) \ 1309 SC(158, 44, 42, 3, yes, no, 0, no) \ 1310 SC(159, 44, 42, 4, yes, no, 0, no) \ 1311 \ 1312 SC(160, 45, 43, 1, yes, no, 0, no) \ 1313 SC(161, 45, 43, 2, yes, no, 0, no) \ 1314 SC(162, 45, 43, 3, yes, no, 0, no) \ 1315 SC(163, 45, 43, 4, yes, no, 0, no) \ 1316 \ 1317 SC(164, 46, 44, 1, yes, no, 0, no) \ 1318 SC(165, 46, 44, 2, yes, no, 0, no) \ 1319 SC(166, 46, 44, 3, yes, no, 0, no) \ 1320 SC(167, 46, 44, 4, yes, no, 0, no) \ 1321 \ 1322 SC(168, 47, 45, 1, yes, no, 0, no) \ 1323 SC(169, 47, 45, 2, yes, no, 0, no) \ 1324 SC(170, 47, 45, 3, yes, no, 0, no) \ 1325 SC(171, 47, 45, 4, yes, no, 0, no) \ 1326 \ 1327 SC(172, 48, 46, 1, yes, no, 0, no) \ 1328 SC(173, 48, 46, 2, yes, no, 0, no) \ 1329 SC(174, 48, 46, 3, yes, no, 0, no) \ 1330 SC(175, 48, 46, 4, yes, no, 0, no) \ 1331 \ 1332 SC(176, 49, 47, 1, yes, no, 0, no) \ 1333 SC(177, 49, 47, 2, yes, no, 0, no) \ 1334 SC(178, 49, 47, 3, yes, no, 0, no) \ 1335 SC(179, 49, 47, 4, yes, no, 0, no) \ 1336 \ 1337 SC(180, 50, 48, 1, yes, no, 0, no) \ 1338 SC(181, 50, 48, 2, yes, no, 0, no) \ 1339 SC(182, 50, 48, 3, yes, no, 0, no) \ 1340 SC(183, 50, 48, 4, yes, no, 0, no) \ 1341 \ 1342 SC(184, 51, 49, 1, yes, no, 0, no) \ 1343 SC(185, 51, 49, 2, yes, no, 0, no) \ 1344 SC(186, 51, 49, 3, yes, no, 0, no) \ 1345 SC(187, 51, 49, 4, yes, no, 0, no) \ 1346 \ 1347 SC(188, 52, 50, 1, yes, no, 0, no) \ 1348 SC(189, 52, 50, 2, yes, no, 0, no) \ 1349 SC(190, 52, 50, 3, yes, no, 0, no) \ 1350 SC(191, 52, 50, 4, yes, no, 0, no) \ 1351 \ 1352 SC(192, 53, 51, 1, yes, no, 0, no) \ 1353 SC(193, 53, 51, 2, yes, no, 0, no) \ 1354 SC(194, 53, 51, 3, yes, no, 0, no) \ 1355 SC(195, 53, 51, 4, yes, no, 0, no) \ 1356 \ 1357 SC(196, 54, 52, 1, yes, no, 0, no) \ 1358 SC(197, 54, 52, 2, yes, no, 0, no) \ 1359 SC(198, 54, 52, 3, yes, no, 0, no) \ 1360 SC(199, 54, 52, 4, yes, no, 0, no) \ 1361 \ 1362 SC(200, 55, 53, 1, yes, no, 0, no) \ 1363 SC(201, 55, 53, 2, yes, no, 0, no) \ 1364 SC(202, 55, 53, 3, yes, no, 0, no) \ 1365 SC(203, 55, 53, 4, yes, no, 0, no) \ 1366 \ 1367 SC(204, 56, 54, 1, yes, no, 0, no) \ 1368 SC(205, 56, 54, 2, yes, no, 0, no) \ 1369 SC(206, 56, 54, 3, yes, no, 0, no) \ 1370 SC(207, 56, 54, 4, yes, no, 0, no) \ 1371 \ 1372 SC(208, 57, 55, 1, yes, no, 0, no) \ 1373 SC(209, 57, 55, 2, yes, no, 0, no) \ 1374 SC(210, 57, 55, 3, yes, no, 0, no) \ 1375 SC(211, 57, 55, 4, yes, no, 0, no) \ 1376 \ 1377 SC(212, 58, 56, 1, yes, no, 0, no) \ 1378 SC(213, 58, 56, 2, yes, no, 0, no) \ 1379 SC(214, 58, 56, 3, yes, no, 0, no) \ 1380 SC(215, 58, 56, 4, yes, no, 0, no) \ 1381 \ 1382 SC(216, 59, 57, 1, yes, no, 0, no) \ 1383 SC(217, 59, 57, 2, yes, no, 0, no) \ 1384 SC(218, 59, 57, 3, yes, no, 0, no) \ 1385 SC(219, 59, 57, 4, yes, no, 0, no) \ 1386 \ 1387 SC(220, 60, 58, 1, yes, no, 0, no) \ 1388 SC(221, 60, 58, 2, yes, no, 0, no) \ 1389 SC(222, 60, 58, 3, yes, no, 0, no) \ 1390 SC(223, 60, 58, 4, yes, no, 0, no) \ 1391 \ 1392 SC(224, 61, 59, 1, yes, no, 0, no) \ 1393 SC(225, 61, 59, 2, yes, no, 0, no) \ 1394 SC(226, 61, 59, 3, yes, no, 0, no) \ 1395 SC(227, 61, 59, 4, yes, no, 0, no) \ 1396 \ 1397 SC(228, 62, 60, 1, yes, no, 0, no) \ 1398 SC(229, 62, 60, 2, yes, no, 0, no) \ 1399 SC(230, 62, 60, 3, yes, no, 0, no) \ 1400 1401 #define SIZE_CLASSES_DEFINED 1402 #define NTBINS 0 1403 #define NLBINS 28 1404 #define NBINS 35 1405 #define NSIZES 231 1406 #define LG_CEIL_NSIZES 8 1407 #define NPSIZES 199 1408 #define LG_TINY_MAXCLASS "NA" 1409 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 1410 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) 1411 #define LG_LARGE_MINCLASS 14 1412 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 1413 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 1414 #endif 1415 1416 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 13) 1417 #define SIZE_CLASSES \ 1418 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 1419 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 1420 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 1421 SC( 2, 3, 3, 2, no, yes, 3, 3) \ 1422 SC( 3, 3, 3, 3, no, yes, 1, 3) \ 1423 \ 1424 SC( 4, 5, 3, 1, no, yes, 5, 3) \ 1425 SC( 5, 5, 3, 2, no, yes, 3, 3) \ 1426 SC( 6, 5, 3, 3, no, yes, 7, 3) \ 1427 SC( 7, 5, 3, 4, no, yes, 1, 3) \ 1428 \ 1429 SC( 8, 6, 4, 1, no, yes, 5, 4) \ 1430 SC( 9, 6, 4, 2, no, yes, 3, 4) \ 1431 SC( 10, 6, 4, 3, no, yes, 7, 4) \ 1432 SC( 11, 6, 4, 4, no, yes, 1, 4) \ 1433 \ 1434 SC( 12, 7, 5, 1, no, yes, 5, 5) \ 1435 SC( 13, 7, 5, 2, no, yes, 3, 5) \ 1436 SC( 14, 7, 5, 3, no, yes, 7, 5) \ 1437 SC( 15, 7, 5, 4, no, yes, 1, 5) \ 1438 \ 1439 SC( 16, 8, 6, 1, no, yes, 5, 6) \ 1440 SC( 17, 8, 6, 2, no, yes, 3, 6) \ 1441 SC( 18, 8, 6, 3, no, yes, 7, 6) \ 1442 SC( 19, 8, 6, 4, no, yes, 1, 6) \ 1443 \ 1444 SC( 20, 9, 7, 1, no, yes, 5, 7) \ 1445 SC( 21, 9, 7, 2, no, yes, 3, 7) \ 1446 SC( 22, 9, 7, 3, no, yes, 7, 7) \ 1447 SC( 23, 9, 7, 4, no, yes, 1, 7) \ 1448 \ 1449 SC( 24, 10, 8, 1, no, yes, 5, 8) \ 1450 SC( 25, 10, 8, 2, no, yes, 3, 8) \ 1451 SC( 26, 10, 8, 3, no, yes, 7, 8) \ 1452 SC( 27, 10, 8, 4, no, yes, 1, 8) \ 1453 \ 1454 SC( 28, 11, 9, 1, no, yes, 5, 9) \ 1455 SC( 29, 11, 9, 2, no, yes, 3, 9) \ 1456 SC( 30, 11, 9, 3, no, yes, 7, 9) \ 1457 SC( 31, 11, 9, 4, no, yes, 1, 9) \ 1458 \ 1459 SC( 32, 12, 10, 1, no, yes, 5, no) \ 1460 SC( 33, 12, 10, 2, no, yes, 3, no) \ 1461 SC( 34, 12, 10, 3, no, yes, 7, no) \ 1462 SC( 35, 12, 10, 4, yes, yes, 1, no) \ 1463 \ 1464 SC( 36, 13, 11, 1, no, yes, 5, no) \ 1465 SC( 37, 13, 11, 2, no, yes, 3, no) \ 1466 SC( 38, 13, 11, 3, no, yes, 7, no) \ 1467 SC( 39, 13, 11, 4, yes, yes, 2, no) \ 1468 \ 1469 SC( 40, 14, 12, 1, no, yes, 5, no) \ 1470 SC( 41, 14, 12, 2, yes, yes, 3, no) \ 1471 SC( 42, 14, 12, 3, no, yes, 7, no) \ 1472 SC( 43, 14, 12, 4, yes, no, 0, no) \ 1473 \ 1474 SC( 44, 15, 13, 1, yes, no, 0, no) \ 1475 SC( 45, 15, 13, 2, yes, no, 0, no) \ 1476 SC( 46, 15, 13, 3, yes, no, 0, no) \ 1477 SC( 47, 15, 13, 4, yes, no, 0, no) \ 1478 \ 1479 SC( 48, 16, 14, 1, yes, no, 0, no) \ 1480 SC( 49, 16, 14, 2, yes, no, 0, no) \ 1481 SC( 50, 16, 14, 3, yes, no, 0, no) \ 1482 SC( 51, 16, 14, 4, yes, no, 0, no) \ 1483 \ 1484 SC( 52, 17, 15, 1, yes, no, 0, no) \ 1485 SC( 53, 17, 15, 2, yes, no, 0, no) \ 1486 SC( 54, 17, 15, 3, yes, no, 0, no) \ 1487 SC( 55, 17, 15, 4, yes, no, 0, no) \ 1488 \ 1489 SC( 56, 18, 16, 1, yes, no, 0, no) \ 1490 SC( 57, 18, 16, 2, yes, no, 0, no) \ 1491 SC( 58, 18, 16, 3, yes, no, 0, no) \ 1492 SC( 59, 18, 16, 4, yes, no, 0, no) \ 1493 \ 1494 SC( 60, 19, 17, 1, yes, no, 0, no) \ 1495 SC( 61, 19, 17, 2, yes, no, 0, no) \ 1496 SC( 62, 19, 17, 3, yes, no, 0, no) \ 1497 SC( 63, 19, 17, 4, yes, no, 0, no) \ 1498 \ 1499 SC( 64, 20, 18, 1, yes, no, 0, no) \ 1500 SC( 65, 20, 18, 2, yes, no, 0, no) \ 1501 SC( 66, 20, 18, 3, yes, no, 0, no) \ 1502 SC( 67, 20, 18, 4, yes, no, 0, no) \ 1503 \ 1504 SC( 68, 21, 19, 1, yes, no, 0, no) \ 1505 SC( 69, 21, 19, 2, yes, no, 0, no) \ 1506 SC( 70, 21, 19, 3, yes, no, 0, no) \ 1507 SC( 71, 21, 19, 4, yes, no, 0, no) \ 1508 \ 1509 SC( 72, 22, 20, 1, yes, no, 0, no) \ 1510 SC( 73, 22, 20, 2, yes, no, 0, no) \ 1511 SC( 74, 22, 20, 3, yes, no, 0, no) \ 1512 SC( 75, 22, 20, 4, yes, no, 0, no) \ 1513 \ 1514 SC( 76, 23, 21, 1, yes, no, 0, no) \ 1515 SC( 77, 23, 21, 2, yes, no, 0, no) \ 1516 SC( 78, 23, 21, 3, yes, no, 0, no) \ 1517 SC( 79, 23, 21, 4, yes, no, 0, no) \ 1518 \ 1519 SC( 80, 24, 22, 1, yes, no, 0, no) \ 1520 SC( 81, 24, 22, 2, yes, no, 0, no) \ 1521 SC( 82, 24, 22, 3, yes, no, 0, no) \ 1522 SC( 83, 24, 22, 4, yes, no, 0, no) \ 1523 \ 1524 SC( 84, 25, 23, 1, yes, no, 0, no) \ 1525 SC( 85, 25, 23, 2, yes, no, 0, no) \ 1526 SC( 86, 25, 23, 3, yes, no, 0, no) \ 1527 SC( 87, 25, 23, 4, yes, no, 0, no) \ 1528 \ 1529 SC( 88, 26, 24, 1, yes, no, 0, no) \ 1530 SC( 89, 26, 24, 2, yes, no, 0, no) \ 1531 SC( 90, 26, 24, 3, yes, no, 0, no) \ 1532 SC( 91, 26, 24, 4, yes, no, 0, no) \ 1533 \ 1534 SC( 92, 27, 25, 1, yes, no, 0, no) \ 1535 SC( 93, 27, 25, 2, yes, no, 0, no) \ 1536 SC( 94, 27, 25, 3, yes, no, 0, no) \ 1537 SC( 95, 27, 25, 4, yes, no, 0, no) \ 1538 \ 1539 SC( 96, 28, 26, 1, yes, no, 0, no) \ 1540 SC( 97, 28, 26, 2, yes, no, 0, no) \ 1541 SC( 98, 28, 26, 3, yes, no, 0, no) \ 1542 SC( 99, 28, 26, 4, yes, no, 0, no) \ 1543 \ 1544 SC(100, 29, 27, 1, yes, no, 0, no) \ 1545 SC(101, 29, 27, 2, yes, no, 0, no) \ 1546 SC(102, 29, 27, 3, yes, no, 0, no) \ 1547 SC(103, 29, 27, 4, yes, no, 0, no) \ 1548 \ 1549 SC(104, 30, 28, 1, yes, no, 0, no) \ 1550 SC(105, 30, 28, 2, yes, no, 0, no) \ 1551 SC(106, 30, 28, 3, yes, no, 0, no) \ 1552 1553 #define SIZE_CLASSES_DEFINED 1554 #define NTBINS 0 1555 #define NLBINS 32 1556 #define NBINS 43 1557 #define NSIZES 107 1558 #define LG_CEIL_NSIZES 7 1559 #define NPSIZES 67 1560 #define LG_TINY_MAXCLASS "NA" 1561 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 1562 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12)) 1563 #define LG_LARGE_MINCLASS 15 1564 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 1565 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 1566 #endif 1567 1568 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 13) 1569 #define SIZE_CLASSES \ 1570 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 1571 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 1572 \ 1573 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 1574 SC( 2, 4, 4, 1, no, yes, 1, 4) \ 1575 SC( 3, 4, 4, 2, no, yes, 3, 4) \ 1576 SC( 4, 4, 4, 3, no, yes, 1, 4) \ 1577 \ 1578 SC( 5, 6, 4, 1, no, yes, 5, 4) \ 1579 SC( 6, 6, 4, 2, no, yes, 3, 4) \ 1580 SC( 7, 6, 4, 3, no, yes, 7, 4) \ 1581 SC( 8, 6, 4, 4, no, yes, 1, 4) \ 1582 \ 1583 SC( 9, 7, 5, 1, no, yes, 5, 5) \ 1584 SC( 10, 7, 5, 2, no, yes, 3, 5) \ 1585 SC( 11, 7, 5, 3, no, yes, 7, 5) \ 1586 SC( 12, 7, 5, 4, no, yes, 1, 5) \ 1587 \ 1588 SC( 13, 8, 6, 1, no, yes, 5, 6) \ 1589 SC( 14, 8, 6, 2, no, yes, 3, 6) \ 1590 SC( 15, 8, 6, 3, no, yes, 7, 6) \ 1591 SC( 16, 8, 6, 4, no, yes, 1, 6) \ 1592 \ 1593 SC( 17, 9, 7, 1, no, yes, 5, 7) \ 1594 SC( 18, 9, 7, 2, no, yes, 3, 7) \ 1595 SC( 19, 9, 7, 3, no, yes, 7, 7) \ 1596 SC( 20, 9, 7, 4, no, yes, 1, 7) \ 1597 \ 1598 SC( 21, 10, 8, 1, no, yes, 5, 8) \ 1599 SC( 22, 10, 8, 2, no, yes, 3, 8) \ 1600 SC( 23, 10, 8, 3, no, yes, 7, 8) \ 1601 SC( 24, 10, 8, 4, no, yes, 1, 8) \ 1602 \ 1603 SC( 25, 11, 9, 1, no, yes, 5, 9) \ 1604 SC( 26, 11, 9, 2, no, yes, 3, 9) \ 1605 SC( 27, 11, 9, 3, no, yes, 7, 9) \ 1606 SC( 28, 11, 9, 4, no, yes, 1, 9) \ 1607 \ 1608 SC( 29, 12, 10, 1, no, yes, 5, no) \ 1609 SC( 30, 12, 10, 2, no, yes, 3, no) \ 1610 SC( 31, 12, 10, 3, no, yes, 7, no) \ 1611 SC( 32, 12, 10, 4, yes, yes, 1, no) \ 1612 \ 1613 SC( 33, 13, 11, 1, no, yes, 5, no) \ 1614 SC( 34, 13, 11, 2, no, yes, 3, no) \ 1615 SC( 35, 13, 11, 3, no, yes, 7, no) \ 1616 SC( 36, 13, 11, 4, yes, yes, 2, no) \ 1617 \ 1618 SC( 37, 14, 12, 1, no, yes, 5, no) \ 1619 SC( 38, 14, 12, 2, yes, yes, 3, no) \ 1620 SC( 39, 14, 12, 3, no, yes, 7, no) \ 1621 SC( 40, 14, 12, 4, yes, no, 0, no) \ 1622 \ 1623 SC( 41, 15, 13, 1, yes, no, 0, no) \ 1624 SC( 42, 15, 13, 2, yes, no, 0, no) \ 1625 SC( 43, 15, 13, 3, yes, no, 0, no) \ 1626 SC( 44, 15, 13, 4, yes, no, 0, no) \ 1627 \ 1628 SC( 45, 16, 14, 1, yes, no, 0, no) \ 1629 SC( 46, 16, 14, 2, yes, no, 0, no) \ 1630 SC( 47, 16, 14, 3, yes, no, 0, no) \ 1631 SC( 48, 16, 14, 4, yes, no, 0, no) \ 1632 \ 1633 SC( 49, 17, 15, 1, yes, no, 0, no) \ 1634 SC( 50, 17, 15, 2, yes, no, 0, no) \ 1635 SC( 51, 17, 15, 3, yes, no, 0, no) \ 1636 SC( 52, 17, 15, 4, yes, no, 0, no) \ 1637 \ 1638 SC( 53, 18, 16, 1, yes, no, 0, no) \ 1639 SC( 54, 18, 16, 2, yes, no, 0, no) \ 1640 SC( 55, 18, 16, 3, yes, no, 0, no) \ 1641 SC( 56, 18, 16, 4, yes, no, 0, no) \ 1642 \ 1643 SC( 57, 19, 17, 1, yes, no, 0, no) \ 1644 SC( 58, 19, 17, 2, yes, no, 0, no) \ 1645 SC( 59, 19, 17, 3, yes, no, 0, no) \ 1646 SC( 60, 19, 17, 4, yes, no, 0, no) \ 1647 \ 1648 SC( 61, 20, 18, 1, yes, no, 0, no) \ 1649 SC( 62, 20, 18, 2, yes, no, 0, no) \ 1650 SC( 63, 20, 18, 3, yes, no, 0, no) \ 1651 SC( 64, 20, 18, 4, yes, no, 0, no) \ 1652 \ 1653 SC( 65, 21, 19, 1, yes, no, 0, no) \ 1654 SC( 66, 21, 19, 2, yes, no, 0, no) \ 1655 SC( 67, 21, 19, 3, yes, no, 0, no) \ 1656 SC( 68, 21, 19, 4, yes, no, 0, no) \ 1657 \ 1658 SC( 69, 22, 20, 1, yes, no, 0, no) \ 1659 SC( 70, 22, 20, 2, yes, no, 0, no) \ 1660 SC( 71, 22, 20, 3, yes, no, 0, no) \ 1661 SC( 72, 22, 20, 4, yes, no, 0, no) \ 1662 \ 1663 SC( 73, 23, 21, 1, yes, no, 0, no) \ 1664 SC( 74, 23, 21, 2, yes, no, 0, no) \ 1665 SC( 75, 23, 21, 3, yes, no, 0, no) \ 1666 SC( 76, 23, 21, 4, yes, no, 0, no) \ 1667 \ 1668 SC( 77, 24, 22, 1, yes, no, 0, no) \ 1669 SC( 78, 24, 22, 2, yes, no, 0, no) \ 1670 SC( 79, 24, 22, 3, yes, no, 0, no) \ 1671 SC( 80, 24, 22, 4, yes, no, 0, no) \ 1672 \ 1673 SC( 81, 25, 23, 1, yes, no, 0, no) \ 1674 SC( 82, 25, 23, 2, yes, no, 0, no) \ 1675 SC( 83, 25, 23, 3, yes, no, 0, no) \ 1676 SC( 84, 25, 23, 4, yes, no, 0, no) \ 1677 \ 1678 SC( 85, 26, 24, 1, yes, no, 0, no) \ 1679 SC( 86, 26, 24, 2, yes, no, 0, no) \ 1680 SC( 87, 26, 24, 3, yes, no, 0, no) \ 1681 SC( 88, 26, 24, 4, yes, no, 0, no) \ 1682 \ 1683 SC( 89, 27, 25, 1, yes, no, 0, no) \ 1684 SC( 90, 27, 25, 2, yes, no, 0, no) \ 1685 SC( 91, 27, 25, 3, yes, no, 0, no) \ 1686 SC( 92, 27, 25, 4, yes, no, 0, no) \ 1687 \ 1688 SC( 93, 28, 26, 1, yes, no, 0, no) \ 1689 SC( 94, 28, 26, 2, yes, no, 0, no) \ 1690 SC( 95, 28, 26, 3, yes, no, 0, no) \ 1691 SC( 96, 28, 26, 4, yes, no, 0, no) \ 1692 \ 1693 SC( 97, 29, 27, 1, yes, no, 0, no) \ 1694 SC( 98, 29, 27, 2, yes, no, 0, no) \ 1695 SC( 99, 29, 27, 3, yes, no, 0, no) \ 1696 SC(100, 29, 27, 4, yes, no, 0, no) \ 1697 \ 1698 SC(101, 30, 28, 1, yes, no, 0, no) \ 1699 SC(102, 30, 28, 2, yes, no, 0, no) \ 1700 SC(103, 30, 28, 3, yes, no, 0, no) \ 1701 1702 #define SIZE_CLASSES_DEFINED 1703 #define NTBINS 1 1704 #define NLBINS 29 1705 #define NBINS 40 1706 #define NSIZES 104 1707 #define LG_CEIL_NSIZES 7 1708 #define NPSIZES 67 1709 #define LG_TINY_MAXCLASS 3 1710 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 1711 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12)) 1712 #define LG_LARGE_MINCLASS 15 1713 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 1714 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 1715 #endif 1716 1717 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 13) 1718 #define SIZE_CLASSES \ 1719 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 1720 SC( 0, 4, 4, 0, no, yes, 1, 4) \ 1721 SC( 1, 4, 4, 1, no, yes, 1, 4) \ 1722 SC( 2, 4, 4, 2, no, yes, 3, 4) \ 1723 SC( 3, 4, 4, 3, no, yes, 1, 4) \ 1724 \ 1725 SC( 4, 6, 4, 1, no, yes, 5, 4) \ 1726 SC( 5, 6, 4, 2, no, yes, 3, 4) \ 1727 SC( 6, 6, 4, 3, no, yes, 7, 4) \ 1728 SC( 7, 6, 4, 4, no, yes, 1, 4) \ 1729 \ 1730 SC( 8, 7, 5, 1, no, yes, 5, 5) \ 1731 SC( 9, 7, 5, 2, no, yes, 3, 5) \ 1732 SC( 10, 7, 5, 3, no, yes, 7, 5) \ 1733 SC( 11, 7, 5, 4, no, yes, 1, 5) \ 1734 \ 1735 SC( 12, 8, 6, 1, no, yes, 5, 6) \ 1736 SC( 13, 8, 6, 2, no, yes, 3, 6) \ 1737 SC( 14, 8, 6, 3, no, yes, 7, 6) \ 1738 SC( 15, 8, 6, 4, no, yes, 1, 6) \ 1739 \ 1740 SC( 16, 9, 7, 1, no, yes, 5, 7) \ 1741 SC( 17, 9, 7, 2, no, yes, 3, 7) \ 1742 SC( 18, 9, 7, 3, no, yes, 7, 7) \ 1743 SC( 19, 9, 7, 4, no, yes, 1, 7) \ 1744 \ 1745 SC( 20, 10, 8, 1, no, yes, 5, 8) \ 1746 SC( 21, 10, 8, 2, no, yes, 3, 8) \ 1747 SC( 22, 10, 8, 3, no, yes, 7, 8) \ 1748 SC( 23, 10, 8, 4, no, yes, 1, 8) \ 1749 \ 1750 SC( 24, 11, 9, 1, no, yes, 5, 9) \ 1751 SC( 25, 11, 9, 2, no, yes, 3, 9) \ 1752 SC( 26, 11, 9, 3, no, yes, 7, 9) \ 1753 SC( 27, 11, 9, 4, no, yes, 1, 9) \ 1754 \ 1755 SC( 28, 12, 10, 1, no, yes, 5, no) \ 1756 SC( 29, 12, 10, 2, no, yes, 3, no) \ 1757 SC( 30, 12, 10, 3, no, yes, 7, no) \ 1758 SC( 31, 12, 10, 4, yes, yes, 1, no) \ 1759 \ 1760 SC( 32, 13, 11, 1, no, yes, 5, no) \ 1761 SC( 33, 13, 11, 2, no, yes, 3, no) \ 1762 SC( 34, 13, 11, 3, no, yes, 7, no) \ 1763 SC( 35, 13, 11, 4, yes, yes, 2, no) \ 1764 \ 1765 SC( 36, 14, 12, 1, no, yes, 5, no) \ 1766 SC( 37, 14, 12, 2, yes, yes, 3, no) \ 1767 SC( 38, 14, 12, 3, no, yes, 7, no) \ 1768 SC( 39, 14, 12, 4, yes, no, 0, no) \ 1769 \ 1770 SC( 40, 15, 13, 1, yes, no, 0, no) \ 1771 SC( 41, 15, 13, 2, yes, no, 0, no) \ 1772 SC( 42, 15, 13, 3, yes, no, 0, no) \ 1773 SC( 43, 15, 13, 4, yes, no, 0, no) \ 1774 \ 1775 SC( 44, 16, 14, 1, yes, no, 0, no) \ 1776 SC( 45, 16, 14, 2, yes, no, 0, no) \ 1777 SC( 46, 16, 14, 3, yes, no, 0, no) \ 1778 SC( 47, 16, 14, 4, yes, no, 0, no) \ 1779 \ 1780 SC( 48, 17, 15, 1, yes, no, 0, no) \ 1781 SC( 49, 17, 15, 2, yes, no, 0, no) \ 1782 SC( 50, 17, 15, 3, yes, no, 0, no) \ 1783 SC( 51, 17, 15, 4, yes, no, 0, no) \ 1784 \ 1785 SC( 52, 18, 16, 1, yes, no, 0, no) \ 1786 SC( 53, 18, 16, 2, yes, no, 0, no) \ 1787 SC( 54, 18, 16, 3, yes, no, 0, no) \ 1788 SC( 55, 18, 16, 4, yes, no, 0, no) \ 1789 \ 1790 SC( 56, 19, 17, 1, yes, no, 0, no) \ 1791 SC( 57, 19, 17, 2, yes, no, 0, no) \ 1792 SC( 58, 19, 17, 3, yes, no, 0, no) \ 1793 SC( 59, 19, 17, 4, yes, no, 0, no) \ 1794 \ 1795 SC( 60, 20, 18, 1, yes, no, 0, no) \ 1796 SC( 61, 20, 18, 2, yes, no, 0, no) \ 1797 SC( 62, 20, 18, 3, yes, no, 0, no) \ 1798 SC( 63, 20, 18, 4, yes, no, 0, no) \ 1799 \ 1800 SC( 64, 21, 19, 1, yes, no, 0, no) \ 1801 SC( 65, 21, 19, 2, yes, no, 0, no) \ 1802 SC( 66, 21, 19, 3, yes, no, 0, no) \ 1803 SC( 67, 21, 19, 4, yes, no, 0, no) \ 1804 \ 1805 SC( 68, 22, 20, 1, yes, no, 0, no) \ 1806 SC( 69, 22, 20, 2, yes, no, 0, no) \ 1807 SC( 70, 22, 20, 3, yes, no, 0, no) \ 1808 SC( 71, 22, 20, 4, yes, no, 0, no) \ 1809 \ 1810 SC( 72, 23, 21, 1, yes, no, 0, no) \ 1811 SC( 73, 23, 21, 2, yes, no, 0, no) \ 1812 SC( 74, 23, 21, 3, yes, no, 0, no) \ 1813 SC( 75, 23, 21, 4, yes, no, 0, no) \ 1814 \ 1815 SC( 76, 24, 22, 1, yes, no, 0, no) \ 1816 SC( 77, 24, 22, 2, yes, no, 0, no) \ 1817 SC( 78, 24, 22, 3, yes, no, 0, no) \ 1818 SC( 79, 24, 22, 4, yes, no, 0, no) \ 1819 \ 1820 SC( 80, 25, 23, 1, yes, no, 0, no) \ 1821 SC( 81, 25, 23, 2, yes, no, 0, no) \ 1822 SC( 82, 25, 23, 3, yes, no, 0, no) \ 1823 SC( 83, 25, 23, 4, yes, no, 0, no) \ 1824 \ 1825 SC( 84, 26, 24, 1, yes, no, 0, no) \ 1826 SC( 85, 26, 24, 2, yes, no, 0, no) \ 1827 SC( 86, 26, 24, 3, yes, no, 0, no) \ 1828 SC( 87, 26, 24, 4, yes, no, 0, no) \ 1829 \ 1830 SC( 88, 27, 25, 1, yes, no, 0, no) \ 1831 SC( 89, 27, 25, 2, yes, no, 0, no) \ 1832 SC( 90, 27, 25, 3, yes, no, 0, no) \ 1833 SC( 91, 27, 25, 4, yes, no, 0, no) \ 1834 \ 1835 SC( 92, 28, 26, 1, yes, no, 0, no) \ 1836 SC( 93, 28, 26, 2, yes, no, 0, no) \ 1837 SC( 94, 28, 26, 3, yes, no, 0, no) \ 1838 SC( 95, 28, 26, 4, yes, no, 0, no) \ 1839 \ 1840 SC( 96, 29, 27, 1, yes, no, 0, no) \ 1841 SC( 97, 29, 27, 2, yes, no, 0, no) \ 1842 SC( 98, 29, 27, 3, yes, no, 0, no) \ 1843 SC( 99, 29, 27, 4, yes, no, 0, no) \ 1844 \ 1845 SC(100, 30, 28, 1, yes, no, 0, no) \ 1846 SC(101, 30, 28, 2, yes, no, 0, no) \ 1847 SC(102, 30, 28, 3, yes, no, 0, no) \ 1848 1849 #define SIZE_CLASSES_DEFINED 1850 #define NTBINS 0 1851 #define NLBINS 28 1852 #define NBINS 39 1853 #define NSIZES 103 1854 #define LG_CEIL_NSIZES 7 1855 #define NPSIZES 67 1856 #define LG_TINY_MAXCLASS "NA" 1857 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 1858 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12)) 1859 #define LG_LARGE_MINCLASS 15 1860 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 1861 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 1862 #endif 1863 1864 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 13) 1865 #define SIZE_CLASSES \ 1866 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 1867 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 1868 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 1869 SC( 2, 3, 3, 2, no, yes, 3, 3) \ 1870 SC( 3, 3, 3, 3, no, yes, 1, 3) \ 1871 \ 1872 SC( 4, 5, 3, 1, no, yes, 5, 3) \ 1873 SC( 5, 5, 3, 2, no, yes, 3, 3) \ 1874 SC( 6, 5, 3, 3, no, yes, 7, 3) \ 1875 SC( 7, 5, 3, 4, no, yes, 1, 3) \ 1876 \ 1877 SC( 8, 6, 4, 1, no, yes, 5, 4) \ 1878 SC( 9, 6, 4, 2, no, yes, 3, 4) \ 1879 SC( 10, 6, 4, 3, no, yes, 7, 4) \ 1880 SC( 11, 6, 4, 4, no, yes, 1, 4) \ 1881 \ 1882 SC( 12, 7, 5, 1, no, yes, 5, 5) \ 1883 SC( 13, 7, 5, 2, no, yes, 3, 5) \ 1884 SC( 14, 7, 5, 3, no, yes, 7, 5) \ 1885 SC( 15, 7, 5, 4, no, yes, 1, 5) \ 1886 \ 1887 SC( 16, 8, 6, 1, no, yes, 5, 6) \ 1888 SC( 17, 8, 6, 2, no, yes, 3, 6) \ 1889 SC( 18, 8, 6, 3, no, yes, 7, 6) \ 1890 SC( 19, 8, 6, 4, no, yes, 1, 6) \ 1891 \ 1892 SC( 20, 9, 7, 1, no, yes, 5, 7) \ 1893 SC( 21, 9, 7, 2, no, yes, 3, 7) \ 1894 SC( 22, 9, 7, 3, no, yes, 7, 7) \ 1895 SC( 23, 9, 7, 4, no, yes, 1, 7) \ 1896 \ 1897 SC( 24, 10, 8, 1, no, yes, 5, 8) \ 1898 SC( 25, 10, 8, 2, no, yes, 3, 8) \ 1899 SC( 26, 10, 8, 3, no, yes, 7, 8) \ 1900 SC( 27, 10, 8, 4, no, yes, 1, 8) \ 1901 \ 1902 SC( 28, 11, 9, 1, no, yes, 5, 9) \ 1903 SC( 29, 11, 9, 2, no, yes, 3, 9) \ 1904 SC( 30, 11, 9, 3, no, yes, 7, 9) \ 1905 SC( 31, 11, 9, 4, no, yes, 1, 9) \ 1906 \ 1907 SC( 32, 12, 10, 1, no, yes, 5, no) \ 1908 SC( 33, 12, 10, 2, no, yes, 3, no) \ 1909 SC( 34, 12, 10, 3, no, yes, 7, no) \ 1910 SC( 35, 12, 10, 4, yes, yes, 1, no) \ 1911 \ 1912 SC( 36, 13, 11, 1, no, yes, 5, no) \ 1913 SC( 37, 13, 11, 2, no, yes, 3, no) \ 1914 SC( 38, 13, 11, 3, no, yes, 7, no) \ 1915 SC( 39, 13, 11, 4, yes, yes, 2, no) \ 1916 \ 1917 SC( 40, 14, 12, 1, no, yes, 5, no) \ 1918 SC( 41, 14, 12, 2, yes, yes, 3, no) \ 1919 SC( 42, 14, 12, 3, no, yes, 7, no) \ 1920 SC( 43, 14, 12, 4, yes, no, 0, no) \ 1921 \ 1922 SC( 44, 15, 13, 1, yes, no, 0, no) \ 1923 SC( 45, 15, 13, 2, yes, no, 0, no) \ 1924 SC( 46, 15, 13, 3, yes, no, 0, no) \ 1925 SC( 47, 15, 13, 4, yes, no, 0, no) \ 1926 \ 1927 SC( 48, 16, 14, 1, yes, no, 0, no) \ 1928 SC( 49, 16, 14, 2, yes, no, 0, no) \ 1929 SC( 50, 16, 14, 3, yes, no, 0, no) \ 1930 SC( 51, 16, 14, 4, yes, no, 0, no) \ 1931 \ 1932 SC( 52, 17, 15, 1, yes, no, 0, no) \ 1933 SC( 53, 17, 15, 2, yes, no, 0, no) \ 1934 SC( 54, 17, 15, 3, yes, no, 0, no) \ 1935 SC( 55, 17, 15, 4, yes, no, 0, no) \ 1936 \ 1937 SC( 56, 18, 16, 1, yes, no, 0, no) \ 1938 SC( 57, 18, 16, 2, yes, no, 0, no) \ 1939 SC( 58, 18, 16, 3, yes, no, 0, no) \ 1940 SC( 59, 18, 16, 4, yes, no, 0, no) \ 1941 \ 1942 SC( 60, 19, 17, 1, yes, no, 0, no) \ 1943 SC( 61, 19, 17, 2, yes, no, 0, no) \ 1944 SC( 62, 19, 17, 3, yes, no, 0, no) \ 1945 SC( 63, 19, 17, 4, yes, no, 0, no) \ 1946 \ 1947 SC( 64, 20, 18, 1, yes, no, 0, no) \ 1948 SC( 65, 20, 18, 2, yes, no, 0, no) \ 1949 SC( 66, 20, 18, 3, yes, no, 0, no) \ 1950 SC( 67, 20, 18, 4, yes, no, 0, no) \ 1951 \ 1952 SC( 68, 21, 19, 1, yes, no, 0, no) \ 1953 SC( 69, 21, 19, 2, yes, no, 0, no) \ 1954 SC( 70, 21, 19, 3, yes, no, 0, no) \ 1955 SC( 71, 21, 19, 4, yes, no, 0, no) \ 1956 \ 1957 SC( 72, 22, 20, 1, yes, no, 0, no) \ 1958 SC( 73, 22, 20, 2, yes, no, 0, no) \ 1959 SC( 74, 22, 20, 3, yes, no, 0, no) \ 1960 SC( 75, 22, 20, 4, yes, no, 0, no) \ 1961 \ 1962 SC( 76, 23, 21, 1, yes, no, 0, no) \ 1963 SC( 77, 23, 21, 2, yes, no, 0, no) \ 1964 SC( 78, 23, 21, 3, yes, no, 0, no) \ 1965 SC( 79, 23, 21, 4, yes, no, 0, no) \ 1966 \ 1967 SC( 80, 24, 22, 1, yes, no, 0, no) \ 1968 SC( 81, 24, 22, 2, yes, no, 0, no) \ 1969 SC( 82, 24, 22, 3, yes, no, 0, no) \ 1970 SC( 83, 24, 22, 4, yes, no, 0, no) \ 1971 \ 1972 SC( 84, 25, 23, 1, yes, no, 0, no) \ 1973 SC( 85, 25, 23, 2, yes, no, 0, no) \ 1974 SC( 86, 25, 23, 3, yes, no, 0, no) \ 1975 SC( 87, 25, 23, 4, yes, no, 0, no) \ 1976 \ 1977 SC( 88, 26, 24, 1, yes, no, 0, no) \ 1978 SC( 89, 26, 24, 2, yes, no, 0, no) \ 1979 SC( 90, 26, 24, 3, yes, no, 0, no) \ 1980 SC( 91, 26, 24, 4, yes, no, 0, no) \ 1981 \ 1982 SC( 92, 27, 25, 1, yes, no, 0, no) \ 1983 SC( 93, 27, 25, 2, yes, no, 0, no) \ 1984 SC( 94, 27, 25, 3, yes, no, 0, no) \ 1985 SC( 95, 27, 25, 4, yes, no, 0, no) \ 1986 \ 1987 SC( 96, 28, 26, 1, yes, no, 0, no) \ 1988 SC( 97, 28, 26, 2, yes, no, 0, no) \ 1989 SC( 98, 28, 26, 3, yes, no, 0, no) \ 1990 SC( 99, 28, 26, 4, yes, no, 0, no) \ 1991 \ 1992 SC(100, 29, 27, 1, yes, no, 0, no) \ 1993 SC(101, 29, 27, 2, yes, no, 0, no) \ 1994 SC(102, 29, 27, 3, yes, no, 0, no) \ 1995 SC(103, 29, 27, 4, yes, no, 0, no) \ 1996 \ 1997 SC(104, 30, 28, 1, yes, no, 0, no) \ 1998 SC(105, 30, 28, 2, yes, no, 0, no) \ 1999 SC(106, 30, 28, 3, yes, no, 0, no) \ 2000 SC(107, 30, 28, 4, yes, no, 0, no) \ 2001 \ 2002 SC(108, 31, 29, 1, yes, no, 0, no) \ 2003 SC(109, 31, 29, 2, yes, no, 0, no) \ 2004 SC(110, 31, 29, 3, yes, no, 0, no) \ 2005 SC(111, 31, 29, 4, yes, no, 0, no) \ 2006 \ 2007 SC(112, 32, 30, 1, yes, no, 0, no) \ 2008 SC(113, 32, 30, 2, yes, no, 0, no) \ 2009 SC(114, 32, 30, 3, yes, no, 0, no) \ 2010 SC(115, 32, 30, 4, yes, no, 0, no) \ 2011 \ 2012 SC(116, 33, 31, 1, yes, no, 0, no) \ 2013 SC(117, 33, 31, 2, yes, no, 0, no) \ 2014 SC(118, 33, 31, 3, yes, no, 0, no) \ 2015 SC(119, 33, 31, 4, yes, no, 0, no) \ 2016 \ 2017 SC(120, 34, 32, 1, yes, no, 0, no) \ 2018 SC(121, 34, 32, 2, yes, no, 0, no) \ 2019 SC(122, 34, 32, 3, yes, no, 0, no) \ 2020 SC(123, 34, 32, 4, yes, no, 0, no) \ 2021 \ 2022 SC(124, 35, 33, 1, yes, no, 0, no) \ 2023 SC(125, 35, 33, 2, yes, no, 0, no) \ 2024 SC(126, 35, 33, 3, yes, no, 0, no) \ 2025 SC(127, 35, 33, 4, yes, no, 0, no) \ 2026 \ 2027 SC(128, 36, 34, 1, yes, no, 0, no) \ 2028 SC(129, 36, 34, 2, yes, no, 0, no) \ 2029 SC(130, 36, 34, 3, yes, no, 0, no) \ 2030 SC(131, 36, 34, 4, yes, no, 0, no) \ 2031 \ 2032 SC(132, 37, 35, 1, yes, no, 0, no) \ 2033 SC(133, 37, 35, 2, yes, no, 0, no) \ 2034 SC(134, 37, 35, 3, yes, no, 0, no) \ 2035 SC(135, 37, 35, 4, yes, no, 0, no) \ 2036 \ 2037 SC(136, 38, 36, 1, yes, no, 0, no) \ 2038 SC(137, 38, 36, 2, yes, no, 0, no) \ 2039 SC(138, 38, 36, 3, yes, no, 0, no) \ 2040 SC(139, 38, 36, 4, yes, no, 0, no) \ 2041 \ 2042 SC(140, 39, 37, 1, yes, no, 0, no) \ 2043 SC(141, 39, 37, 2, yes, no, 0, no) \ 2044 SC(142, 39, 37, 3, yes, no, 0, no) \ 2045 SC(143, 39, 37, 4, yes, no, 0, no) \ 2046 \ 2047 SC(144, 40, 38, 1, yes, no, 0, no) \ 2048 SC(145, 40, 38, 2, yes, no, 0, no) \ 2049 SC(146, 40, 38, 3, yes, no, 0, no) \ 2050 SC(147, 40, 38, 4, yes, no, 0, no) \ 2051 \ 2052 SC(148, 41, 39, 1, yes, no, 0, no) \ 2053 SC(149, 41, 39, 2, yes, no, 0, no) \ 2054 SC(150, 41, 39, 3, yes, no, 0, no) \ 2055 SC(151, 41, 39, 4, yes, no, 0, no) \ 2056 \ 2057 SC(152, 42, 40, 1, yes, no, 0, no) \ 2058 SC(153, 42, 40, 2, yes, no, 0, no) \ 2059 SC(154, 42, 40, 3, yes, no, 0, no) \ 2060 SC(155, 42, 40, 4, yes, no, 0, no) \ 2061 \ 2062 SC(156, 43, 41, 1, yes, no, 0, no) \ 2063 SC(157, 43, 41, 2, yes, no, 0, no) \ 2064 SC(158, 43, 41, 3, yes, no, 0, no) \ 2065 SC(159, 43, 41, 4, yes, no, 0, no) \ 2066 \ 2067 SC(160, 44, 42, 1, yes, no, 0, no) \ 2068 SC(161, 44, 42, 2, yes, no, 0, no) \ 2069 SC(162, 44, 42, 3, yes, no, 0, no) \ 2070 SC(163, 44, 42, 4, yes, no, 0, no) \ 2071 \ 2072 SC(164, 45, 43, 1, yes, no, 0, no) \ 2073 SC(165, 45, 43, 2, yes, no, 0, no) \ 2074 SC(166, 45, 43, 3, yes, no, 0, no) \ 2075 SC(167, 45, 43, 4, yes, no, 0, no) \ 2076 \ 2077 SC(168, 46, 44, 1, yes, no, 0, no) \ 2078 SC(169, 46, 44, 2, yes, no, 0, no) \ 2079 SC(170, 46, 44, 3, yes, no, 0, no) \ 2080 SC(171, 46, 44, 4, yes, no, 0, no) \ 2081 \ 2082 SC(172, 47, 45, 1, yes, no, 0, no) \ 2083 SC(173, 47, 45, 2, yes, no, 0, no) \ 2084 SC(174, 47, 45, 3, yes, no, 0, no) \ 2085 SC(175, 47, 45, 4, yes, no, 0, no) \ 2086 \ 2087 SC(176, 48, 46, 1, yes, no, 0, no) \ 2088 SC(177, 48, 46, 2, yes, no, 0, no) \ 2089 SC(178, 48, 46, 3, yes, no, 0, no) \ 2090 SC(179, 48, 46, 4, yes, no, 0, no) \ 2091 \ 2092 SC(180, 49, 47, 1, yes, no, 0, no) \ 2093 SC(181, 49, 47, 2, yes, no, 0, no) \ 2094 SC(182, 49, 47, 3, yes, no, 0, no) \ 2095 SC(183, 49, 47, 4, yes, no, 0, no) \ 2096 \ 2097 SC(184, 50, 48, 1, yes, no, 0, no) \ 2098 SC(185, 50, 48, 2, yes, no, 0, no) \ 2099 SC(186, 50, 48, 3, yes, no, 0, no) \ 2100 SC(187, 50, 48, 4, yes, no, 0, no) \ 2101 \ 2102 SC(188, 51, 49, 1, yes, no, 0, no) \ 2103 SC(189, 51, 49, 2, yes, no, 0, no) \ 2104 SC(190, 51, 49, 3, yes, no, 0, no) \ 2105 SC(191, 51, 49, 4, yes, no, 0, no) \ 2106 \ 2107 SC(192, 52, 50, 1, yes, no, 0, no) \ 2108 SC(193, 52, 50, 2, yes, no, 0, no) \ 2109 SC(194, 52, 50, 3, yes, no, 0, no) \ 2110 SC(195, 52, 50, 4, yes, no, 0, no) \ 2111 \ 2112 SC(196, 53, 51, 1, yes, no, 0, no) \ 2113 SC(197, 53, 51, 2, yes, no, 0, no) \ 2114 SC(198, 53, 51, 3, yes, no, 0, no) \ 2115 SC(199, 53, 51, 4, yes, no, 0, no) \ 2116 \ 2117 SC(200, 54, 52, 1, yes, no, 0, no) \ 2118 SC(201, 54, 52, 2, yes, no, 0, no) \ 2119 SC(202, 54, 52, 3, yes, no, 0, no) \ 2120 SC(203, 54, 52, 4, yes, no, 0, no) \ 2121 \ 2122 SC(204, 55, 53, 1, yes, no, 0, no) \ 2123 SC(205, 55, 53, 2, yes, no, 0, no) \ 2124 SC(206, 55, 53, 3, yes, no, 0, no) \ 2125 SC(207, 55, 53, 4, yes, no, 0, no) \ 2126 \ 2127 SC(208, 56, 54, 1, yes, no, 0, no) \ 2128 SC(209, 56, 54, 2, yes, no, 0, no) \ 2129 SC(210, 56, 54, 3, yes, no, 0, no) \ 2130 SC(211, 56, 54, 4, yes, no, 0, no) \ 2131 \ 2132 SC(212, 57, 55, 1, yes, no, 0, no) \ 2133 SC(213, 57, 55, 2, yes, no, 0, no) \ 2134 SC(214, 57, 55, 3, yes, no, 0, no) \ 2135 SC(215, 57, 55, 4, yes, no, 0, no) \ 2136 \ 2137 SC(216, 58, 56, 1, yes, no, 0, no) \ 2138 SC(217, 58, 56, 2, yes, no, 0, no) \ 2139 SC(218, 58, 56, 3, yes, no, 0, no) \ 2140 SC(219, 58, 56, 4, yes, no, 0, no) \ 2141 \ 2142 SC(220, 59, 57, 1, yes, no, 0, no) \ 2143 SC(221, 59, 57, 2, yes, no, 0, no) \ 2144 SC(222, 59, 57, 3, yes, no, 0, no) \ 2145 SC(223, 59, 57, 4, yes, no, 0, no) \ 2146 \ 2147 SC(224, 60, 58, 1, yes, no, 0, no) \ 2148 SC(225, 60, 58, 2, yes, no, 0, no) \ 2149 SC(226, 60, 58, 3, yes, no, 0, no) \ 2150 SC(227, 60, 58, 4, yes, no, 0, no) \ 2151 \ 2152 SC(228, 61, 59, 1, yes, no, 0, no) \ 2153 SC(229, 61, 59, 2, yes, no, 0, no) \ 2154 SC(230, 61, 59, 3, yes, no, 0, no) \ 2155 SC(231, 61, 59, 4, yes, no, 0, no) \ 2156 \ 2157 SC(232, 62, 60, 1, yes, no, 0, no) \ 2158 SC(233, 62, 60, 2, yes, no, 0, no) \ 2159 SC(234, 62, 60, 3, yes, no, 0, no) \ 2160 2161 #define SIZE_CLASSES_DEFINED 2162 #define NTBINS 0 2163 #define NLBINS 32 2164 #define NBINS 43 2165 #define NSIZES 235 2166 #define LG_CEIL_NSIZES 8 2167 #define NPSIZES 195 2168 #define LG_TINY_MAXCLASS "NA" 2169 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 2170 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12)) 2171 #define LG_LARGE_MINCLASS 15 2172 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 2173 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 2174 #endif 2175 2176 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 13) 2177 #define SIZE_CLASSES \ 2178 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 2179 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 2180 \ 2181 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 2182 SC( 2, 4, 4, 1, no, yes, 1, 4) \ 2183 SC( 3, 4, 4, 2, no, yes, 3, 4) \ 2184 SC( 4, 4, 4, 3, no, yes, 1, 4) \ 2185 \ 2186 SC( 5, 6, 4, 1, no, yes, 5, 4) \ 2187 SC( 6, 6, 4, 2, no, yes, 3, 4) \ 2188 SC( 7, 6, 4, 3, no, yes, 7, 4) \ 2189 SC( 8, 6, 4, 4, no, yes, 1, 4) \ 2190 \ 2191 SC( 9, 7, 5, 1, no, yes, 5, 5) \ 2192 SC( 10, 7, 5, 2, no, yes, 3, 5) \ 2193 SC( 11, 7, 5, 3, no, yes, 7, 5) \ 2194 SC( 12, 7, 5, 4, no, yes, 1, 5) \ 2195 \ 2196 SC( 13, 8, 6, 1, no, yes, 5, 6) \ 2197 SC( 14, 8, 6, 2, no, yes, 3, 6) \ 2198 SC( 15, 8, 6, 3, no, yes, 7, 6) \ 2199 SC( 16, 8, 6, 4, no, yes, 1, 6) \ 2200 \ 2201 SC( 17, 9, 7, 1, no, yes, 5, 7) \ 2202 SC( 18, 9, 7, 2, no, yes, 3, 7) \ 2203 SC( 19, 9, 7, 3, no, yes, 7, 7) \ 2204 SC( 20, 9, 7, 4, no, yes, 1, 7) \ 2205 \ 2206 SC( 21, 10, 8, 1, no, yes, 5, 8) \ 2207 SC( 22, 10, 8, 2, no, yes, 3, 8) \ 2208 SC( 23, 10, 8, 3, no, yes, 7, 8) \ 2209 SC( 24, 10, 8, 4, no, yes, 1, 8) \ 2210 \ 2211 SC( 25, 11, 9, 1, no, yes, 5, 9) \ 2212 SC( 26, 11, 9, 2, no, yes, 3, 9) \ 2213 SC( 27, 11, 9, 3, no, yes, 7, 9) \ 2214 SC( 28, 11, 9, 4, no, yes, 1, 9) \ 2215 \ 2216 SC( 29, 12, 10, 1, no, yes, 5, no) \ 2217 SC( 30, 12, 10, 2, no, yes, 3, no) \ 2218 SC( 31, 12, 10, 3, no, yes, 7, no) \ 2219 SC( 32, 12, 10, 4, yes, yes, 1, no) \ 2220 \ 2221 SC( 33, 13, 11, 1, no, yes, 5, no) \ 2222 SC( 34, 13, 11, 2, no, yes, 3, no) \ 2223 SC( 35, 13, 11, 3, no, yes, 7, no) \ 2224 SC( 36, 13, 11, 4, yes, yes, 2, no) \ 2225 \ 2226 SC( 37, 14, 12, 1, no, yes, 5, no) \ 2227 SC( 38, 14, 12, 2, yes, yes, 3, no) \ 2228 SC( 39, 14, 12, 3, no, yes, 7, no) \ 2229 SC( 40, 14, 12, 4, yes, no, 0, no) \ 2230 \ 2231 SC( 41, 15, 13, 1, yes, no, 0, no) \ 2232 SC( 42, 15, 13, 2, yes, no, 0, no) \ 2233 SC( 43, 15, 13, 3, yes, no, 0, no) \ 2234 SC( 44, 15, 13, 4, yes, no, 0, no) \ 2235 \ 2236 SC( 45, 16, 14, 1, yes, no, 0, no) \ 2237 SC( 46, 16, 14, 2, yes, no, 0, no) \ 2238 SC( 47, 16, 14, 3, yes, no, 0, no) \ 2239 SC( 48, 16, 14, 4, yes, no, 0, no) \ 2240 \ 2241 SC( 49, 17, 15, 1, yes, no, 0, no) \ 2242 SC( 50, 17, 15, 2, yes, no, 0, no) \ 2243 SC( 51, 17, 15, 3, yes, no, 0, no) \ 2244 SC( 52, 17, 15, 4, yes, no, 0, no) \ 2245 \ 2246 SC( 53, 18, 16, 1, yes, no, 0, no) \ 2247 SC( 54, 18, 16, 2, yes, no, 0, no) \ 2248 SC( 55, 18, 16, 3, yes, no, 0, no) \ 2249 SC( 56, 18, 16, 4, yes, no, 0, no) \ 2250 \ 2251 SC( 57, 19, 17, 1, yes, no, 0, no) \ 2252 SC( 58, 19, 17, 2, yes, no, 0, no) \ 2253 SC( 59, 19, 17, 3, yes, no, 0, no) \ 2254 SC( 60, 19, 17, 4, yes, no, 0, no) \ 2255 \ 2256 SC( 61, 20, 18, 1, yes, no, 0, no) \ 2257 SC( 62, 20, 18, 2, yes, no, 0, no) \ 2258 SC( 63, 20, 18, 3, yes, no, 0, no) \ 2259 SC( 64, 20, 18, 4, yes, no, 0, no) \ 2260 \ 2261 SC( 65, 21, 19, 1, yes, no, 0, no) \ 2262 SC( 66, 21, 19, 2, yes, no, 0, no) \ 2263 SC( 67, 21, 19, 3, yes, no, 0, no) \ 2264 SC( 68, 21, 19, 4, yes, no, 0, no) \ 2265 \ 2266 SC( 69, 22, 20, 1, yes, no, 0, no) \ 2267 SC( 70, 22, 20, 2, yes, no, 0, no) \ 2268 SC( 71, 22, 20, 3, yes, no, 0, no) \ 2269 SC( 72, 22, 20, 4, yes, no, 0, no) \ 2270 \ 2271 SC( 73, 23, 21, 1, yes, no, 0, no) \ 2272 SC( 74, 23, 21, 2, yes, no, 0, no) \ 2273 SC( 75, 23, 21, 3, yes, no, 0, no) \ 2274 SC( 76, 23, 21, 4, yes, no, 0, no) \ 2275 \ 2276 SC( 77, 24, 22, 1, yes, no, 0, no) \ 2277 SC( 78, 24, 22, 2, yes, no, 0, no) \ 2278 SC( 79, 24, 22, 3, yes, no, 0, no) \ 2279 SC( 80, 24, 22, 4, yes, no, 0, no) \ 2280 \ 2281 SC( 81, 25, 23, 1, yes, no, 0, no) \ 2282 SC( 82, 25, 23, 2, yes, no, 0, no) \ 2283 SC( 83, 25, 23, 3, yes, no, 0, no) \ 2284 SC( 84, 25, 23, 4, yes, no, 0, no) \ 2285 \ 2286 SC( 85, 26, 24, 1, yes, no, 0, no) \ 2287 SC( 86, 26, 24, 2, yes, no, 0, no) \ 2288 SC( 87, 26, 24, 3, yes, no, 0, no) \ 2289 SC( 88, 26, 24, 4, yes, no, 0, no) \ 2290 \ 2291 SC( 89, 27, 25, 1, yes, no, 0, no) \ 2292 SC( 90, 27, 25, 2, yes, no, 0, no) \ 2293 SC( 91, 27, 25, 3, yes, no, 0, no) \ 2294 SC( 92, 27, 25, 4, yes, no, 0, no) \ 2295 \ 2296 SC( 93, 28, 26, 1, yes, no, 0, no) \ 2297 SC( 94, 28, 26, 2, yes, no, 0, no) \ 2298 SC( 95, 28, 26, 3, yes, no, 0, no) \ 2299 SC( 96, 28, 26, 4, yes, no, 0, no) \ 2300 \ 2301 SC( 97, 29, 27, 1, yes, no, 0, no) \ 2302 SC( 98, 29, 27, 2, yes, no, 0, no) \ 2303 SC( 99, 29, 27, 3, yes, no, 0, no) \ 2304 SC(100, 29, 27, 4, yes, no, 0, no) \ 2305 \ 2306 SC(101, 30, 28, 1, yes, no, 0, no) \ 2307 SC(102, 30, 28, 2, yes, no, 0, no) \ 2308 SC(103, 30, 28, 3, yes, no, 0, no) \ 2309 SC(104, 30, 28, 4, yes, no, 0, no) \ 2310 \ 2311 SC(105, 31, 29, 1, yes, no, 0, no) \ 2312 SC(106, 31, 29, 2, yes, no, 0, no) \ 2313 SC(107, 31, 29, 3, yes, no, 0, no) \ 2314 SC(108, 31, 29, 4, yes, no, 0, no) \ 2315 \ 2316 SC(109, 32, 30, 1, yes, no, 0, no) \ 2317 SC(110, 32, 30, 2, yes, no, 0, no) \ 2318 SC(111, 32, 30, 3, yes, no, 0, no) \ 2319 SC(112, 32, 30, 4, yes, no, 0, no) \ 2320 \ 2321 SC(113, 33, 31, 1, yes, no, 0, no) \ 2322 SC(114, 33, 31, 2, yes, no, 0, no) \ 2323 SC(115, 33, 31, 3, yes, no, 0, no) \ 2324 SC(116, 33, 31, 4, yes, no, 0, no) \ 2325 \ 2326 SC(117, 34, 32, 1, yes, no, 0, no) \ 2327 SC(118, 34, 32, 2, yes, no, 0, no) \ 2328 SC(119, 34, 32, 3, yes, no, 0, no) \ 2329 SC(120, 34, 32, 4, yes, no, 0, no) \ 2330 \ 2331 SC(121, 35, 33, 1, yes, no, 0, no) \ 2332 SC(122, 35, 33, 2, yes, no, 0, no) \ 2333 SC(123, 35, 33, 3, yes, no, 0, no) \ 2334 SC(124, 35, 33, 4, yes, no, 0, no) \ 2335 \ 2336 SC(125, 36, 34, 1, yes, no, 0, no) \ 2337 SC(126, 36, 34, 2, yes, no, 0, no) \ 2338 SC(127, 36, 34, 3, yes, no, 0, no) \ 2339 SC(128, 36, 34, 4, yes, no, 0, no) \ 2340 \ 2341 SC(129, 37, 35, 1, yes, no, 0, no) \ 2342 SC(130, 37, 35, 2, yes, no, 0, no) \ 2343 SC(131, 37, 35, 3, yes, no, 0, no) \ 2344 SC(132, 37, 35, 4, yes, no, 0, no) \ 2345 \ 2346 SC(133, 38, 36, 1, yes, no, 0, no) \ 2347 SC(134, 38, 36, 2, yes, no, 0, no) \ 2348 SC(135, 38, 36, 3, yes, no, 0, no) \ 2349 SC(136, 38, 36, 4, yes, no, 0, no) \ 2350 \ 2351 SC(137, 39, 37, 1, yes, no, 0, no) \ 2352 SC(138, 39, 37, 2, yes, no, 0, no) \ 2353 SC(139, 39, 37, 3, yes, no, 0, no) \ 2354 SC(140, 39, 37, 4, yes, no, 0, no) \ 2355 \ 2356 SC(141, 40, 38, 1, yes, no, 0, no) \ 2357 SC(142, 40, 38, 2, yes, no, 0, no) \ 2358 SC(143, 40, 38, 3, yes, no, 0, no) \ 2359 SC(144, 40, 38, 4, yes, no, 0, no) \ 2360 \ 2361 SC(145, 41, 39, 1, yes, no, 0, no) \ 2362 SC(146, 41, 39, 2, yes, no, 0, no) \ 2363 SC(147, 41, 39, 3, yes, no, 0, no) \ 2364 SC(148, 41, 39, 4, yes, no, 0, no) \ 2365 \ 2366 SC(149, 42, 40, 1, yes, no, 0, no) \ 2367 SC(150, 42, 40, 2, yes, no, 0, no) \ 2368 SC(151, 42, 40, 3, yes, no, 0, no) \ 2369 SC(152, 42, 40, 4, yes, no, 0, no) \ 2370 \ 2371 SC(153, 43, 41, 1, yes, no, 0, no) \ 2372 SC(154, 43, 41, 2, yes, no, 0, no) \ 2373 SC(155, 43, 41, 3, yes, no, 0, no) \ 2374 SC(156, 43, 41, 4, yes, no, 0, no) \ 2375 \ 2376 SC(157, 44, 42, 1, yes, no, 0, no) \ 2377 SC(158, 44, 42, 2, yes, no, 0, no) \ 2378 SC(159, 44, 42, 3, yes, no, 0, no) \ 2379 SC(160, 44, 42, 4, yes, no, 0, no) \ 2380 \ 2381 SC(161, 45, 43, 1, yes, no, 0, no) \ 2382 SC(162, 45, 43, 2, yes, no, 0, no) \ 2383 SC(163, 45, 43, 3, yes, no, 0, no) \ 2384 SC(164, 45, 43, 4, yes, no, 0, no) \ 2385 \ 2386 SC(165, 46, 44, 1, yes, no, 0, no) \ 2387 SC(166, 46, 44, 2, yes, no, 0, no) \ 2388 SC(167, 46, 44, 3, yes, no, 0, no) \ 2389 SC(168, 46, 44, 4, yes, no, 0, no) \ 2390 \ 2391 SC(169, 47, 45, 1, yes, no, 0, no) \ 2392 SC(170, 47, 45, 2, yes, no, 0, no) \ 2393 SC(171, 47, 45, 3, yes, no, 0, no) \ 2394 SC(172, 47, 45, 4, yes, no, 0, no) \ 2395 \ 2396 SC(173, 48, 46, 1, yes, no, 0, no) \ 2397 SC(174, 48, 46, 2, yes, no, 0, no) \ 2398 SC(175, 48, 46, 3, yes, no, 0, no) \ 2399 SC(176, 48, 46, 4, yes, no, 0, no) \ 2400 \ 2401 SC(177, 49, 47, 1, yes, no, 0, no) \ 2402 SC(178, 49, 47, 2, yes, no, 0, no) \ 2403 SC(179, 49, 47, 3, yes, no, 0, no) \ 2404 SC(180, 49, 47, 4, yes, no, 0, no) \ 2405 \ 2406 SC(181, 50, 48, 1, yes, no, 0, no) \ 2407 SC(182, 50, 48, 2, yes, no, 0, no) \ 2408 SC(183, 50, 48, 3, yes, no, 0, no) \ 2409 SC(184, 50, 48, 4, yes, no, 0, no) \ 2410 \ 2411 SC(185, 51, 49, 1, yes, no, 0, no) \ 2412 SC(186, 51, 49, 2, yes, no, 0, no) \ 2413 SC(187, 51, 49, 3, yes, no, 0, no) \ 2414 SC(188, 51, 49, 4, yes, no, 0, no) \ 2415 \ 2416 SC(189, 52, 50, 1, yes, no, 0, no) \ 2417 SC(190, 52, 50, 2, yes, no, 0, no) \ 2418 SC(191, 52, 50, 3, yes, no, 0, no) \ 2419 SC(192, 52, 50, 4, yes, no, 0, no) \ 2420 \ 2421 SC(193, 53, 51, 1, yes, no, 0, no) \ 2422 SC(194, 53, 51, 2, yes, no, 0, no) \ 2423 SC(195, 53, 51, 3, yes, no, 0, no) \ 2424 SC(196, 53, 51, 4, yes, no, 0, no) \ 2425 \ 2426 SC(197, 54, 52, 1, yes, no, 0, no) \ 2427 SC(198, 54, 52, 2, yes, no, 0, no) \ 2428 SC(199, 54, 52, 3, yes, no, 0, no) \ 2429 SC(200, 54, 52, 4, yes, no, 0, no) \ 2430 \ 2431 SC(201, 55, 53, 1, yes, no, 0, no) \ 2432 SC(202, 55, 53, 2, yes, no, 0, no) \ 2433 SC(203, 55, 53, 3, yes, no, 0, no) \ 2434 SC(204, 55, 53, 4, yes, no, 0, no) \ 2435 \ 2436 SC(205, 56, 54, 1, yes, no, 0, no) \ 2437 SC(206, 56, 54, 2, yes, no, 0, no) \ 2438 SC(207, 56, 54, 3, yes, no, 0, no) \ 2439 SC(208, 56, 54, 4, yes, no, 0, no) \ 2440 \ 2441 SC(209, 57, 55, 1, yes, no, 0, no) \ 2442 SC(210, 57, 55, 2, yes, no, 0, no) \ 2443 SC(211, 57, 55, 3, yes, no, 0, no) \ 2444 SC(212, 57, 55, 4, yes, no, 0, no) \ 2445 \ 2446 SC(213, 58, 56, 1, yes, no, 0, no) \ 2447 SC(214, 58, 56, 2, yes, no, 0, no) \ 2448 SC(215, 58, 56, 3, yes, no, 0, no) \ 2449 SC(216, 58, 56, 4, yes, no, 0, no) \ 2450 \ 2451 SC(217, 59, 57, 1, yes, no, 0, no) \ 2452 SC(218, 59, 57, 2, yes, no, 0, no) \ 2453 SC(219, 59, 57, 3, yes, no, 0, no) \ 2454 SC(220, 59, 57, 4, yes, no, 0, no) \ 2455 \ 2456 SC(221, 60, 58, 1, yes, no, 0, no) \ 2457 SC(222, 60, 58, 2, yes, no, 0, no) \ 2458 SC(223, 60, 58, 3, yes, no, 0, no) \ 2459 SC(224, 60, 58, 4, yes, no, 0, no) \ 2460 \ 2461 SC(225, 61, 59, 1, yes, no, 0, no) \ 2462 SC(226, 61, 59, 2, yes, no, 0, no) \ 2463 SC(227, 61, 59, 3, yes, no, 0, no) \ 2464 SC(228, 61, 59, 4, yes, no, 0, no) \ 2465 \ 2466 SC(229, 62, 60, 1, yes, no, 0, no) \ 2467 SC(230, 62, 60, 2, yes, no, 0, no) \ 2468 SC(231, 62, 60, 3, yes, no, 0, no) \ 2469 2470 #define SIZE_CLASSES_DEFINED 2471 #define NTBINS 1 2472 #define NLBINS 29 2473 #define NBINS 40 2474 #define NSIZES 232 2475 #define LG_CEIL_NSIZES 8 2476 #define NPSIZES 195 2477 #define LG_TINY_MAXCLASS 3 2478 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 2479 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12)) 2480 #define LG_LARGE_MINCLASS 15 2481 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 2482 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 2483 #endif 2484 2485 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 13) 2486 #define SIZE_CLASSES \ 2487 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 2488 SC( 0, 4, 4, 0, no, yes, 1, 4) \ 2489 SC( 1, 4, 4, 1, no, yes, 1, 4) \ 2490 SC( 2, 4, 4, 2, no, yes, 3, 4) \ 2491 SC( 3, 4, 4, 3, no, yes, 1, 4) \ 2492 \ 2493 SC( 4, 6, 4, 1, no, yes, 5, 4) \ 2494 SC( 5, 6, 4, 2, no, yes, 3, 4) \ 2495 SC( 6, 6, 4, 3, no, yes, 7, 4) \ 2496 SC( 7, 6, 4, 4, no, yes, 1, 4) \ 2497 \ 2498 SC( 8, 7, 5, 1, no, yes, 5, 5) \ 2499 SC( 9, 7, 5, 2, no, yes, 3, 5) \ 2500 SC( 10, 7, 5, 3, no, yes, 7, 5) \ 2501 SC( 11, 7, 5, 4, no, yes, 1, 5) \ 2502 \ 2503 SC( 12, 8, 6, 1, no, yes, 5, 6) \ 2504 SC( 13, 8, 6, 2, no, yes, 3, 6) \ 2505 SC( 14, 8, 6, 3, no, yes, 7, 6) \ 2506 SC( 15, 8, 6, 4, no, yes, 1, 6) \ 2507 \ 2508 SC( 16, 9, 7, 1, no, yes, 5, 7) \ 2509 SC( 17, 9, 7, 2, no, yes, 3, 7) \ 2510 SC( 18, 9, 7, 3, no, yes, 7, 7) \ 2511 SC( 19, 9, 7, 4, no, yes, 1, 7) \ 2512 \ 2513 SC( 20, 10, 8, 1, no, yes, 5, 8) \ 2514 SC( 21, 10, 8, 2, no, yes, 3, 8) \ 2515 SC( 22, 10, 8, 3, no, yes, 7, 8) \ 2516 SC( 23, 10, 8, 4, no, yes, 1, 8) \ 2517 \ 2518 SC( 24, 11, 9, 1, no, yes, 5, 9) \ 2519 SC( 25, 11, 9, 2, no, yes, 3, 9) \ 2520 SC( 26, 11, 9, 3, no, yes, 7, 9) \ 2521 SC( 27, 11, 9, 4, no, yes, 1, 9) \ 2522 \ 2523 SC( 28, 12, 10, 1, no, yes, 5, no) \ 2524 SC( 29, 12, 10, 2, no, yes, 3, no) \ 2525 SC( 30, 12, 10, 3, no, yes, 7, no) \ 2526 SC( 31, 12, 10, 4, yes, yes, 1, no) \ 2527 \ 2528 SC( 32, 13, 11, 1, no, yes, 5, no) \ 2529 SC( 33, 13, 11, 2, no, yes, 3, no) \ 2530 SC( 34, 13, 11, 3, no, yes, 7, no) \ 2531 SC( 35, 13, 11, 4, yes, yes, 2, no) \ 2532 \ 2533 SC( 36, 14, 12, 1, no, yes, 5, no) \ 2534 SC( 37, 14, 12, 2, yes, yes, 3, no) \ 2535 SC( 38, 14, 12, 3, no, yes, 7, no) \ 2536 SC( 39, 14, 12, 4, yes, no, 0, no) \ 2537 \ 2538 SC( 40, 15, 13, 1, yes, no, 0, no) \ 2539 SC( 41, 15, 13, 2, yes, no, 0, no) \ 2540 SC( 42, 15, 13, 3, yes, no, 0, no) \ 2541 SC( 43, 15, 13, 4, yes, no, 0, no) \ 2542 \ 2543 SC( 44, 16, 14, 1, yes, no, 0, no) \ 2544 SC( 45, 16, 14, 2, yes, no, 0, no) \ 2545 SC( 46, 16, 14, 3, yes, no, 0, no) \ 2546 SC( 47, 16, 14, 4, yes, no, 0, no) \ 2547 \ 2548 SC( 48, 17, 15, 1, yes, no, 0, no) \ 2549 SC( 49, 17, 15, 2, yes, no, 0, no) \ 2550 SC( 50, 17, 15, 3, yes, no, 0, no) \ 2551 SC( 51, 17, 15, 4, yes, no, 0, no) \ 2552 \ 2553 SC( 52, 18, 16, 1, yes, no, 0, no) \ 2554 SC( 53, 18, 16, 2, yes, no, 0, no) \ 2555 SC( 54, 18, 16, 3, yes, no, 0, no) \ 2556 SC( 55, 18, 16, 4, yes, no, 0, no) \ 2557 \ 2558 SC( 56, 19, 17, 1, yes, no, 0, no) \ 2559 SC( 57, 19, 17, 2, yes, no, 0, no) \ 2560 SC( 58, 19, 17, 3, yes, no, 0, no) \ 2561 SC( 59, 19, 17, 4, yes, no, 0, no) \ 2562 \ 2563 SC( 60, 20, 18, 1, yes, no, 0, no) \ 2564 SC( 61, 20, 18, 2, yes, no, 0, no) \ 2565 SC( 62, 20, 18, 3, yes, no, 0, no) \ 2566 SC( 63, 20, 18, 4, yes, no, 0, no) \ 2567 \ 2568 SC( 64, 21, 19, 1, yes, no, 0, no) \ 2569 SC( 65, 21, 19, 2, yes, no, 0, no) \ 2570 SC( 66, 21, 19, 3, yes, no, 0, no) \ 2571 SC( 67, 21, 19, 4, yes, no, 0, no) \ 2572 \ 2573 SC( 68, 22, 20, 1, yes, no, 0, no) \ 2574 SC( 69, 22, 20, 2, yes, no, 0, no) \ 2575 SC( 70, 22, 20, 3, yes, no, 0, no) \ 2576 SC( 71, 22, 20, 4, yes, no, 0, no) \ 2577 \ 2578 SC( 72, 23, 21, 1, yes, no, 0, no) \ 2579 SC( 73, 23, 21, 2, yes, no, 0, no) \ 2580 SC( 74, 23, 21, 3, yes, no, 0, no) \ 2581 SC( 75, 23, 21, 4, yes, no, 0, no) \ 2582 \ 2583 SC( 76, 24, 22, 1, yes, no, 0, no) \ 2584 SC( 77, 24, 22, 2, yes, no, 0, no) \ 2585 SC( 78, 24, 22, 3, yes, no, 0, no) \ 2586 SC( 79, 24, 22, 4, yes, no, 0, no) \ 2587 \ 2588 SC( 80, 25, 23, 1, yes, no, 0, no) \ 2589 SC( 81, 25, 23, 2, yes, no, 0, no) \ 2590 SC( 82, 25, 23, 3, yes, no, 0, no) \ 2591 SC( 83, 25, 23, 4, yes, no, 0, no) \ 2592 \ 2593 SC( 84, 26, 24, 1, yes, no, 0, no) \ 2594 SC( 85, 26, 24, 2, yes, no, 0, no) \ 2595 SC( 86, 26, 24, 3, yes, no, 0, no) \ 2596 SC( 87, 26, 24, 4, yes, no, 0, no) \ 2597 \ 2598 SC( 88, 27, 25, 1, yes, no, 0, no) \ 2599 SC( 89, 27, 25, 2, yes, no, 0, no) \ 2600 SC( 90, 27, 25, 3, yes, no, 0, no) \ 2601 SC( 91, 27, 25, 4, yes, no, 0, no) \ 2602 \ 2603 SC( 92, 28, 26, 1, yes, no, 0, no) \ 2604 SC( 93, 28, 26, 2, yes, no, 0, no) \ 2605 SC( 94, 28, 26, 3, yes, no, 0, no) \ 2606 SC( 95, 28, 26, 4, yes, no, 0, no) \ 2607 \ 2608 SC( 96, 29, 27, 1, yes, no, 0, no) \ 2609 SC( 97, 29, 27, 2, yes, no, 0, no) \ 2610 SC( 98, 29, 27, 3, yes, no, 0, no) \ 2611 SC( 99, 29, 27, 4, yes, no, 0, no) \ 2612 \ 2613 SC(100, 30, 28, 1, yes, no, 0, no) \ 2614 SC(101, 30, 28, 2, yes, no, 0, no) \ 2615 SC(102, 30, 28, 3, yes, no, 0, no) \ 2616 SC(103, 30, 28, 4, yes, no, 0, no) \ 2617 \ 2618 SC(104, 31, 29, 1, yes, no, 0, no) \ 2619 SC(105, 31, 29, 2, yes, no, 0, no) \ 2620 SC(106, 31, 29, 3, yes, no, 0, no) \ 2621 SC(107, 31, 29, 4, yes, no, 0, no) \ 2622 \ 2623 SC(108, 32, 30, 1, yes, no, 0, no) \ 2624 SC(109, 32, 30, 2, yes, no, 0, no) \ 2625 SC(110, 32, 30, 3, yes, no, 0, no) \ 2626 SC(111, 32, 30, 4, yes, no, 0, no) \ 2627 \ 2628 SC(112, 33, 31, 1, yes, no, 0, no) \ 2629 SC(113, 33, 31, 2, yes, no, 0, no) \ 2630 SC(114, 33, 31, 3, yes, no, 0, no) \ 2631 SC(115, 33, 31, 4, yes, no, 0, no) \ 2632 \ 2633 SC(116, 34, 32, 1, yes, no, 0, no) \ 2634 SC(117, 34, 32, 2, yes, no, 0, no) \ 2635 SC(118, 34, 32, 3, yes, no, 0, no) \ 2636 SC(119, 34, 32, 4, yes, no, 0, no) \ 2637 \ 2638 SC(120, 35, 33, 1, yes, no, 0, no) \ 2639 SC(121, 35, 33, 2, yes, no, 0, no) \ 2640 SC(122, 35, 33, 3, yes, no, 0, no) \ 2641 SC(123, 35, 33, 4, yes, no, 0, no) \ 2642 \ 2643 SC(124, 36, 34, 1, yes, no, 0, no) \ 2644 SC(125, 36, 34, 2, yes, no, 0, no) \ 2645 SC(126, 36, 34, 3, yes, no, 0, no) \ 2646 SC(127, 36, 34, 4, yes, no, 0, no) \ 2647 \ 2648 SC(128, 37, 35, 1, yes, no, 0, no) \ 2649 SC(129, 37, 35, 2, yes, no, 0, no) \ 2650 SC(130, 37, 35, 3, yes, no, 0, no) \ 2651 SC(131, 37, 35, 4, yes, no, 0, no) \ 2652 \ 2653 SC(132, 38, 36, 1, yes, no, 0, no) \ 2654 SC(133, 38, 36, 2, yes, no, 0, no) \ 2655 SC(134, 38, 36, 3, yes, no, 0, no) \ 2656 SC(135, 38, 36, 4, yes, no, 0, no) \ 2657 \ 2658 SC(136, 39, 37, 1, yes, no, 0, no) \ 2659 SC(137, 39, 37, 2, yes, no, 0, no) \ 2660 SC(138, 39, 37, 3, yes, no, 0, no) \ 2661 SC(139, 39, 37, 4, yes, no, 0, no) \ 2662 \ 2663 SC(140, 40, 38, 1, yes, no, 0, no) \ 2664 SC(141, 40, 38, 2, yes, no, 0, no) \ 2665 SC(142, 40, 38, 3, yes, no, 0, no) \ 2666 SC(143, 40, 38, 4, yes, no, 0, no) \ 2667 \ 2668 SC(144, 41, 39, 1, yes, no, 0, no) \ 2669 SC(145, 41, 39, 2, yes, no, 0, no) \ 2670 SC(146, 41, 39, 3, yes, no, 0, no) \ 2671 SC(147, 41, 39, 4, yes, no, 0, no) \ 2672 \ 2673 SC(148, 42, 40, 1, yes, no, 0, no) \ 2674 SC(149, 42, 40, 2, yes, no, 0, no) \ 2675 SC(150, 42, 40, 3, yes, no, 0, no) \ 2676 SC(151, 42, 40, 4, yes, no, 0, no) \ 2677 \ 2678 SC(152, 43, 41, 1, yes, no, 0, no) \ 2679 SC(153, 43, 41, 2, yes, no, 0, no) \ 2680 SC(154, 43, 41, 3, yes, no, 0, no) \ 2681 SC(155, 43, 41, 4, yes, no, 0, no) \ 2682 \ 2683 SC(156, 44, 42, 1, yes, no, 0, no) \ 2684 SC(157, 44, 42, 2, yes, no, 0, no) \ 2685 SC(158, 44, 42, 3, yes, no, 0, no) \ 2686 SC(159, 44, 42, 4, yes, no, 0, no) \ 2687 \ 2688 SC(160, 45, 43, 1, yes, no, 0, no) \ 2689 SC(161, 45, 43, 2, yes, no, 0, no) \ 2690 SC(162, 45, 43, 3, yes, no, 0, no) \ 2691 SC(163, 45, 43, 4, yes, no, 0, no) \ 2692 \ 2693 SC(164, 46, 44, 1, yes, no, 0, no) \ 2694 SC(165, 46, 44, 2, yes, no, 0, no) \ 2695 SC(166, 46, 44, 3, yes, no, 0, no) \ 2696 SC(167, 46, 44, 4, yes, no, 0, no) \ 2697 \ 2698 SC(168, 47, 45, 1, yes, no, 0, no) \ 2699 SC(169, 47, 45, 2, yes, no, 0, no) \ 2700 SC(170, 47, 45, 3, yes, no, 0, no) \ 2701 SC(171, 47, 45, 4, yes, no, 0, no) \ 2702 \ 2703 SC(172, 48, 46, 1, yes, no, 0, no) \ 2704 SC(173, 48, 46, 2, yes, no, 0, no) \ 2705 SC(174, 48, 46, 3, yes, no, 0, no) \ 2706 SC(175, 48, 46, 4, yes, no, 0, no) \ 2707 \ 2708 SC(176, 49, 47, 1, yes, no, 0, no) \ 2709 SC(177, 49, 47, 2, yes, no, 0, no) \ 2710 SC(178, 49, 47, 3, yes, no, 0, no) \ 2711 SC(179, 49, 47, 4, yes, no, 0, no) \ 2712 \ 2713 SC(180, 50, 48, 1, yes, no, 0, no) \ 2714 SC(181, 50, 48, 2, yes, no, 0, no) \ 2715 SC(182, 50, 48, 3, yes, no, 0, no) \ 2716 SC(183, 50, 48, 4, yes, no, 0, no) \ 2717 \ 2718 SC(184, 51, 49, 1, yes, no, 0, no) \ 2719 SC(185, 51, 49, 2, yes, no, 0, no) \ 2720 SC(186, 51, 49, 3, yes, no, 0, no) \ 2721 SC(187, 51, 49, 4, yes, no, 0, no) \ 2722 \ 2723 SC(188, 52, 50, 1, yes, no, 0, no) \ 2724 SC(189, 52, 50, 2, yes, no, 0, no) \ 2725 SC(190, 52, 50, 3, yes, no, 0, no) \ 2726 SC(191, 52, 50, 4, yes, no, 0, no) \ 2727 \ 2728 SC(192, 53, 51, 1, yes, no, 0, no) \ 2729 SC(193, 53, 51, 2, yes, no, 0, no) \ 2730 SC(194, 53, 51, 3, yes, no, 0, no) \ 2731 SC(195, 53, 51, 4, yes, no, 0, no) \ 2732 \ 2733 SC(196, 54, 52, 1, yes, no, 0, no) \ 2734 SC(197, 54, 52, 2, yes, no, 0, no) \ 2735 SC(198, 54, 52, 3, yes, no, 0, no) \ 2736 SC(199, 54, 52, 4, yes, no, 0, no) \ 2737 \ 2738 SC(200, 55, 53, 1, yes, no, 0, no) \ 2739 SC(201, 55, 53, 2, yes, no, 0, no) \ 2740 SC(202, 55, 53, 3, yes, no, 0, no) \ 2741 SC(203, 55, 53, 4, yes, no, 0, no) \ 2742 \ 2743 SC(204, 56, 54, 1, yes, no, 0, no) \ 2744 SC(205, 56, 54, 2, yes, no, 0, no) \ 2745 SC(206, 56, 54, 3, yes, no, 0, no) \ 2746 SC(207, 56, 54, 4, yes, no, 0, no) \ 2747 \ 2748 SC(208, 57, 55, 1, yes, no, 0, no) \ 2749 SC(209, 57, 55, 2, yes, no, 0, no) \ 2750 SC(210, 57, 55, 3, yes, no, 0, no) \ 2751 SC(211, 57, 55, 4, yes, no, 0, no) \ 2752 \ 2753 SC(212, 58, 56, 1, yes, no, 0, no) \ 2754 SC(213, 58, 56, 2, yes, no, 0, no) \ 2755 SC(214, 58, 56, 3, yes, no, 0, no) \ 2756 SC(215, 58, 56, 4, yes, no, 0, no) \ 2757 \ 2758 SC(216, 59, 57, 1, yes, no, 0, no) \ 2759 SC(217, 59, 57, 2, yes, no, 0, no) \ 2760 SC(218, 59, 57, 3, yes, no, 0, no) \ 2761 SC(219, 59, 57, 4, yes, no, 0, no) \ 2762 \ 2763 SC(220, 60, 58, 1, yes, no, 0, no) \ 2764 SC(221, 60, 58, 2, yes, no, 0, no) \ 2765 SC(222, 60, 58, 3, yes, no, 0, no) \ 2766 SC(223, 60, 58, 4, yes, no, 0, no) \ 2767 \ 2768 SC(224, 61, 59, 1, yes, no, 0, no) \ 2769 SC(225, 61, 59, 2, yes, no, 0, no) \ 2770 SC(226, 61, 59, 3, yes, no, 0, no) \ 2771 SC(227, 61, 59, 4, yes, no, 0, no) \ 2772 \ 2773 SC(228, 62, 60, 1, yes, no, 0, no) \ 2774 SC(229, 62, 60, 2, yes, no, 0, no) \ 2775 SC(230, 62, 60, 3, yes, no, 0, no) \ 2776 2777 #define SIZE_CLASSES_DEFINED 2778 #define NTBINS 0 2779 #define NLBINS 28 2780 #define NBINS 39 2781 #define NSIZES 231 2782 #define LG_CEIL_NSIZES 8 2783 #define NPSIZES 195 2784 #define LG_TINY_MAXCLASS "NA" 2785 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 2786 #define SMALL_MAXCLASS ((((size_t)1) << 14) + (((size_t)3) << 12)) 2787 #define LG_LARGE_MINCLASS 15 2788 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 2789 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 2790 #endif 2791 2792 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 14) 2793 #define SIZE_CLASSES \ 2794 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 2795 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 2796 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 2797 SC( 2, 3, 3, 2, no, yes, 3, 3) \ 2798 SC( 3, 3, 3, 3, no, yes, 1, 3) \ 2799 \ 2800 SC( 4, 5, 3, 1, no, yes, 5, 3) \ 2801 SC( 5, 5, 3, 2, no, yes, 3, 3) \ 2802 SC( 6, 5, 3, 3, no, yes, 7, 3) \ 2803 SC( 7, 5, 3, 4, no, yes, 1, 3) \ 2804 \ 2805 SC( 8, 6, 4, 1, no, yes, 5, 4) \ 2806 SC( 9, 6, 4, 2, no, yes, 3, 4) \ 2807 SC( 10, 6, 4, 3, no, yes, 7, 4) \ 2808 SC( 11, 6, 4, 4, no, yes, 1, 4) \ 2809 \ 2810 SC( 12, 7, 5, 1, no, yes, 5, 5) \ 2811 SC( 13, 7, 5, 2, no, yes, 3, 5) \ 2812 SC( 14, 7, 5, 3, no, yes, 7, 5) \ 2813 SC( 15, 7, 5, 4, no, yes, 1, 5) \ 2814 \ 2815 SC( 16, 8, 6, 1, no, yes, 5, 6) \ 2816 SC( 17, 8, 6, 2, no, yes, 3, 6) \ 2817 SC( 18, 8, 6, 3, no, yes, 7, 6) \ 2818 SC( 19, 8, 6, 4, no, yes, 1, 6) \ 2819 \ 2820 SC( 20, 9, 7, 1, no, yes, 5, 7) \ 2821 SC( 21, 9, 7, 2, no, yes, 3, 7) \ 2822 SC( 22, 9, 7, 3, no, yes, 7, 7) \ 2823 SC( 23, 9, 7, 4, no, yes, 1, 7) \ 2824 \ 2825 SC( 24, 10, 8, 1, no, yes, 5, 8) \ 2826 SC( 25, 10, 8, 2, no, yes, 3, 8) \ 2827 SC( 26, 10, 8, 3, no, yes, 7, 8) \ 2828 SC( 27, 10, 8, 4, no, yes, 1, 8) \ 2829 \ 2830 SC( 28, 11, 9, 1, no, yes, 5, 9) \ 2831 SC( 29, 11, 9, 2, no, yes, 3, 9) \ 2832 SC( 30, 11, 9, 3, no, yes, 7, 9) \ 2833 SC( 31, 11, 9, 4, no, yes, 1, 9) \ 2834 \ 2835 SC( 32, 12, 10, 1, no, yes, 5, no) \ 2836 SC( 33, 12, 10, 2, no, yes, 3, no) \ 2837 SC( 34, 12, 10, 3, no, yes, 7, no) \ 2838 SC( 35, 12, 10, 4, no, yes, 1, no) \ 2839 \ 2840 SC( 36, 13, 11, 1, no, yes, 5, no) \ 2841 SC( 37, 13, 11, 2, no, yes, 3, no) \ 2842 SC( 38, 13, 11, 3, no, yes, 7, no) \ 2843 SC( 39, 13, 11, 4, yes, yes, 1, no) \ 2844 \ 2845 SC( 40, 14, 12, 1, no, yes, 5, no) \ 2846 SC( 41, 14, 12, 2, no, yes, 3, no) \ 2847 SC( 42, 14, 12, 3, no, yes, 7, no) \ 2848 SC( 43, 14, 12, 4, yes, yes, 2, no) \ 2849 \ 2850 SC( 44, 15, 13, 1, no, yes, 5, no) \ 2851 SC( 45, 15, 13, 2, yes, yes, 3, no) \ 2852 SC( 46, 15, 13, 3, no, yes, 7, no) \ 2853 SC( 47, 15, 13, 4, yes, no, 0, no) \ 2854 \ 2855 SC( 48, 16, 14, 1, yes, no, 0, no) \ 2856 SC( 49, 16, 14, 2, yes, no, 0, no) \ 2857 SC( 50, 16, 14, 3, yes, no, 0, no) \ 2858 SC( 51, 16, 14, 4, yes, no, 0, no) \ 2859 \ 2860 SC( 52, 17, 15, 1, yes, no, 0, no) \ 2861 SC( 53, 17, 15, 2, yes, no, 0, no) \ 2862 SC( 54, 17, 15, 3, yes, no, 0, no) \ 2863 SC( 55, 17, 15, 4, yes, no, 0, no) \ 2864 \ 2865 SC( 56, 18, 16, 1, yes, no, 0, no) \ 2866 SC( 57, 18, 16, 2, yes, no, 0, no) \ 2867 SC( 58, 18, 16, 3, yes, no, 0, no) \ 2868 SC( 59, 18, 16, 4, yes, no, 0, no) \ 2869 \ 2870 SC( 60, 19, 17, 1, yes, no, 0, no) \ 2871 SC( 61, 19, 17, 2, yes, no, 0, no) \ 2872 SC( 62, 19, 17, 3, yes, no, 0, no) \ 2873 SC( 63, 19, 17, 4, yes, no, 0, no) \ 2874 \ 2875 SC( 64, 20, 18, 1, yes, no, 0, no) \ 2876 SC( 65, 20, 18, 2, yes, no, 0, no) \ 2877 SC( 66, 20, 18, 3, yes, no, 0, no) \ 2878 SC( 67, 20, 18, 4, yes, no, 0, no) \ 2879 \ 2880 SC( 68, 21, 19, 1, yes, no, 0, no) \ 2881 SC( 69, 21, 19, 2, yes, no, 0, no) \ 2882 SC( 70, 21, 19, 3, yes, no, 0, no) \ 2883 SC( 71, 21, 19, 4, yes, no, 0, no) \ 2884 \ 2885 SC( 72, 22, 20, 1, yes, no, 0, no) \ 2886 SC( 73, 22, 20, 2, yes, no, 0, no) \ 2887 SC( 74, 22, 20, 3, yes, no, 0, no) \ 2888 SC( 75, 22, 20, 4, yes, no, 0, no) \ 2889 \ 2890 SC( 76, 23, 21, 1, yes, no, 0, no) \ 2891 SC( 77, 23, 21, 2, yes, no, 0, no) \ 2892 SC( 78, 23, 21, 3, yes, no, 0, no) \ 2893 SC( 79, 23, 21, 4, yes, no, 0, no) \ 2894 \ 2895 SC( 80, 24, 22, 1, yes, no, 0, no) \ 2896 SC( 81, 24, 22, 2, yes, no, 0, no) \ 2897 SC( 82, 24, 22, 3, yes, no, 0, no) \ 2898 SC( 83, 24, 22, 4, yes, no, 0, no) \ 2899 \ 2900 SC( 84, 25, 23, 1, yes, no, 0, no) \ 2901 SC( 85, 25, 23, 2, yes, no, 0, no) \ 2902 SC( 86, 25, 23, 3, yes, no, 0, no) \ 2903 SC( 87, 25, 23, 4, yes, no, 0, no) \ 2904 \ 2905 SC( 88, 26, 24, 1, yes, no, 0, no) \ 2906 SC( 89, 26, 24, 2, yes, no, 0, no) \ 2907 SC( 90, 26, 24, 3, yes, no, 0, no) \ 2908 SC( 91, 26, 24, 4, yes, no, 0, no) \ 2909 \ 2910 SC( 92, 27, 25, 1, yes, no, 0, no) \ 2911 SC( 93, 27, 25, 2, yes, no, 0, no) \ 2912 SC( 94, 27, 25, 3, yes, no, 0, no) \ 2913 SC( 95, 27, 25, 4, yes, no, 0, no) \ 2914 \ 2915 SC( 96, 28, 26, 1, yes, no, 0, no) \ 2916 SC( 97, 28, 26, 2, yes, no, 0, no) \ 2917 SC( 98, 28, 26, 3, yes, no, 0, no) \ 2918 SC( 99, 28, 26, 4, yes, no, 0, no) \ 2919 \ 2920 SC(100, 29, 27, 1, yes, no, 0, no) \ 2921 SC(101, 29, 27, 2, yes, no, 0, no) \ 2922 SC(102, 29, 27, 3, yes, no, 0, no) \ 2923 SC(103, 29, 27, 4, yes, no, 0, no) \ 2924 \ 2925 SC(104, 30, 28, 1, yes, no, 0, no) \ 2926 SC(105, 30, 28, 2, yes, no, 0, no) \ 2927 SC(106, 30, 28, 3, yes, no, 0, no) \ 2928 2929 #define SIZE_CLASSES_DEFINED 2930 #define NTBINS 0 2931 #define NLBINS 32 2932 #define NBINS 47 2933 #define NSIZES 107 2934 #define LG_CEIL_NSIZES 7 2935 #define NPSIZES 63 2936 #define LG_TINY_MAXCLASS "NA" 2937 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 2938 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13)) 2939 #define LG_LARGE_MINCLASS 16 2940 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 2941 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 2942 #endif 2943 2944 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 14) 2945 #define SIZE_CLASSES \ 2946 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 2947 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 2948 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 2949 SC( 2, 3, 3, 2, no, yes, 3, 3) \ 2950 SC( 3, 3, 3, 3, no, yes, 1, 3) \ 2951 \ 2952 SC( 4, 5, 3, 1, no, yes, 5, 3) \ 2953 SC( 5, 5, 3, 2, no, yes, 3, 3) \ 2954 SC( 6, 5, 3, 3, no, yes, 7, 3) \ 2955 SC( 7, 5, 3, 4, no, yes, 1, 3) \ 2956 \ 2957 SC( 8, 6, 4, 1, no, yes, 5, 4) \ 2958 SC( 9, 6, 4, 2, no, yes, 3, 4) \ 2959 SC( 10, 6, 4, 3, no, yes, 7, 4) \ 2960 SC( 11, 6, 4, 4, no, yes, 1, 4) \ 2961 \ 2962 SC( 12, 7, 5, 1, no, yes, 5, 5) \ 2963 SC( 13, 7, 5, 2, no, yes, 3, 5) \ 2964 SC( 14, 7, 5, 3, no, yes, 7, 5) \ 2965 SC( 15, 7, 5, 4, no, yes, 1, 5) \ 2966 \ 2967 SC( 16, 8, 6, 1, no, yes, 5, 6) \ 2968 SC( 17, 8, 6, 2, no, yes, 3, 6) \ 2969 SC( 18, 8, 6, 3, no, yes, 7, 6) \ 2970 SC( 19, 8, 6, 4, no, yes, 1, 6) \ 2971 \ 2972 SC( 20, 9, 7, 1, no, yes, 5, 7) \ 2973 SC( 21, 9, 7, 2, no, yes, 3, 7) \ 2974 SC( 22, 9, 7, 3, no, yes, 7, 7) \ 2975 SC( 23, 9, 7, 4, no, yes, 1, 7) \ 2976 \ 2977 SC( 24, 10, 8, 1, no, yes, 5, 8) \ 2978 SC( 25, 10, 8, 2, no, yes, 3, 8) \ 2979 SC( 26, 10, 8, 3, no, yes, 7, 8) \ 2980 SC( 27, 10, 8, 4, no, yes, 1, 8) \ 2981 \ 2982 SC( 28, 11, 9, 1, no, yes, 5, 9) \ 2983 SC( 29, 11, 9, 2, no, yes, 3, 9) \ 2984 SC( 30, 11, 9, 3, no, yes, 7, 9) \ 2985 SC( 31, 11, 9, 4, no, yes, 1, 9) \ 2986 \ 2987 SC( 32, 12, 10, 1, no, yes, 5, no) \ 2988 SC( 33, 12, 10, 2, no, yes, 3, no) \ 2989 SC( 34, 12, 10, 3, no, yes, 7, no) \ 2990 SC( 35, 12, 10, 4, no, yes, 1, no) \ 2991 \ 2992 SC( 36, 13, 11, 1, no, yes, 5, no) \ 2993 SC( 37, 13, 11, 2, no, yes, 3, no) \ 2994 SC( 38, 13, 11, 3, no, yes, 7, no) \ 2995 SC( 39, 13, 11, 4, yes, yes, 1, no) \ 2996 \ 2997 SC( 40, 14, 12, 1, no, yes, 5, no) \ 2998 SC( 41, 14, 12, 2, no, yes, 3, no) \ 2999 SC( 42, 14, 12, 3, no, yes, 7, no) \ 3000 SC( 43, 14, 12, 4, yes, yes, 2, no) \ 3001 \ 3002 SC( 44, 15, 13, 1, no, yes, 5, no) \ 3003 SC( 45, 15, 13, 2, yes, yes, 3, no) \ 3004 SC( 46, 15, 13, 3, no, yes, 7, no) \ 3005 SC( 47, 15, 13, 4, yes, no, 0, no) \ 3006 \ 3007 SC( 48, 16, 14, 1, yes, no, 0, no) \ 3008 SC( 49, 16, 14, 2, yes, no, 0, no) \ 3009 SC( 50, 16, 14, 3, yes, no, 0, no) \ 3010 SC( 51, 16, 14, 4, yes, no, 0, no) \ 3011 \ 3012 SC( 52, 17, 15, 1, yes, no, 0, no) \ 3013 SC( 53, 17, 15, 2, yes, no, 0, no) \ 3014 SC( 54, 17, 15, 3, yes, no, 0, no) \ 3015 SC( 55, 17, 15, 4, yes, no, 0, no) \ 3016 \ 3017 SC( 56, 18, 16, 1, yes, no, 0, no) \ 3018 SC( 57, 18, 16, 2, yes, no, 0, no) \ 3019 SC( 58, 18, 16, 3, yes, no, 0, no) \ 3020 SC( 59, 18, 16, 4, yes, no, 0, no) \ 3021 \ 3022 SC( 60, 19, 17, 1, yes, no, 0, no) \ 3023 SC( 61, 19, 17, 2, yes, no, 0, no) \ 3024 SC( 62, 19, 17, 3, yes, no, 0, no) \ 3025 SC( 63, 19, 17, 4, yes, no, 0, no) \ 3026 \ 3027 SC( 64, 20, 18, 1, yes, no, 0, no) \ 3028 SC( 65, 20, 18, 2, yes, no, 0, no) \ 3029 SC( 66, 20, 18, 3, yes, no, 0, no) \ 3030 SC( 67, 20, 18, 4, yes, no, 0, no) \ 3031 \ 3032 SC( 68, 21, 19, 1, yes, no, 0, no) \ 3033 SC( 69, 21, 19, 2, yes, no, 0, no) \ 3034 SC( 70, 21, 19, 3, yes, no, 0, no) \ 3035 SC( 71, 21, 19, 4, yes, no, 0, no) \ 3036 \ 3037 SC( 72, 22, 20, 1, yes, no, 0, no) \ 3038 SC( 73, 22, 20, 2, yes, no, 0, no) \ 3039 SC( 74, 22, 20, 3, yes, no, 0, no) \ 3040 SC( 75, 22, 20, 4, yes, no, 0, no) \ 3041 \ 3042 SC( 76, 23, 21, 1, yes, no, 0, no) \ 3043 SC( 77, 23, 21, 2, yes, no, 0, no) \ 3044 SC( 78, 23, 21, 3, yes, no, 0, no) \ 3045 SC( 79, 23, 21, 4, yes, no, 0, no) \ 3046 \ 3047 SC( 80, 24, 22, 1, yes, no, 0, no) \ 3048 SC( 81, 24, 22, 2, yes, no, 0, no) \ 3049 SC( 82, 24, 22, 3, yes, no, 0, no) \ 3050 SC( 83, 24, 22, 4, yes, no, 0, no) \ 3051 \ 3052 SC( 84, 25, 23, 1, yes, no, 0, no) \ 3053 SC( 85, 25, 23, 2, yes, no, 0, no) \ 3054 SC( 86, 25, 23, 3, yes, no, 0, no) \ 3055 SC( 87, 25, 23, 4, yes, no, 0, no) \ 3056 \ 3057 SC( 88, 26, 24, 1, yes, no, 0, no) \ 3058 SC( 89, 26, 24, 2, yes, no, 0, no) \ 3059 SC( 90, 26, 24, 3, yes, no, 0, no) \ 3060 SC( 91, 26, 24, 4, yes, no, 0, no) \ 3061 \ 3062 SC( 92, 27, 25, 1, yes, no, 0, no) \ 3063 SC( 93, 27, 25, 2, yes, no, 0, no) \ 3064 SC( 94, 27, 25, 3, yes, no, 0, no) \ 3065 SC( 95, 27, 25, 4, yes, no, 0, no) \ 3066 \ 3067 SC( 96, 28, 26, 1, yes, no, 0, no) \ 3068 SC( 97, 28, 26, 2, yes, no, 0, no) \ 3069 SC( 98, 28, 26, 3, yes, no, 0, no) \ 3070 SC( 99, 28, 26, 4, yes, no, 0, no) \ 3071 \ 3072 SC(100, 29, 27, 1, yes, no, 0, no) \ 3073 SC(101, 29, 27, 2, yes, no, 0, no) \ 3074 SC(102, 29, 27, 3, yes, no, 0, no) \ 3075 SC(103, 29, 27, 4, yes, no, 0, no) \ 3076 \ 3077 SC(104, 30, 28, 1, yes, no, 0, no) \ 3078 SC(105, 30, 28, 2, yes, no, 0, no) \ 3079 SC(106, 30, 28, 3, yes, no, 0, no) \ 3080 SC(107, 30, 28, 4, yes, no, 0, no) \ 3081 \ 3082 SC(108, 31, 29, 1, yes, no, 0, no) \ 3083 SC(109, 31, 29, 2, yes, no, 0, no) \ 3084 SC(110, 31, 29, 3, yes, no, 0, no) \ 3085 SC(111, 31, 29, 4, yes, no, 0, no) \ 3086 \ 3087 SC(112, 32, 30, 1, yes, no, 0, no) \ 3088 SC(113, 32, 30, 2, yes, no, 0, no) \ 3089 SC(114, 32, 30, 3, yes, no, 0, no) \ 3090 SC(115, 32, 30, 4, yes, no, 0, no) \ 3091 \ 3092 SC(116, 33, 31, 1, yes, no, 0, no) \ 3093 SC(117, 33, 31, 2, yes, no, 0, no) \ 3094 SC(118, 33, 31, 3, yes, no, 0, no) \ 3095 SC(119, 33, 31, 4, yes, no, 0, no) \ 3096 \ 3097 SC(120, 34, 32, 1, yes, no, 0, no) \ 3098 SC(121, 34, 32, 2, yes, no, 0, no) \ 3099 SC(122, 34, 32, 3, yes, no, 0, no) \ 3100 SC(123, 34, 32, 4, yes, no, 0, no) \ 3101 \ 3102 SC(124, 35, 33, 1, yes, no, 0, no) \ 3103 SC(125, 35, 33, 2, yes, no, 0, no) \ 3104 SC(126, 35, 33, 3, yes, no, 0, no) \ 3105 SC(127, 35, 33, 4, yes, no, 0, no) \ 3106 \ 3107 SC(128, 36, 34, 1, yes, no, 0, no) \ 3108 SC(129, 36, 34, 2, yes, no, 0, no) \ 3109 SC(130, 36, 34, 3, yes, no, 0, no) \ 3110 SC(131, 36, 34, 4, yes, no, 0, no) \ 3111 \ 3112 SC(132, 37, 35, 1, yes, no, 0, no) \ 3113 SC(133, 37, 35, 2, yes, no, 0, no) \ 3114 SC(134, 37, 35, 3, yes, no, 0, no) \ 3115 SC(135, 37, 35, 4, yes, no, 0, no) \ 3116 \ 3117 SC(136, 38, 36, 1, yes, no, 0, no) \ 3118 SC(137, 38, 36, 2, yes, no, 0, no) \ 3119 SC(138, 38, 36, 3, yes, no, 0, no) \ 3120 SC(139, 38, 36, 4, yes, no, 0, no) \ 3121 \ 3122 SC(140, 39, 37, 1, yes, no, 0, no) \ 3123 SC(141, 39, 37, 2, yes, no, 0, no) \ 3124 SC(142, 39, 37, 3, yes, no, 0, no) \ 3125 SC(143, 39, 37, 4, yes, no, 0, no) \ 3126 \ 3127 SC(144, 40, 38, 1, yes, no, 0, no) \ 3128 SC(145, 40, 38, 2, yes, no, 0, no) \ 3129 SC(146, 40, 38, 3, yes, no, 0, no) \ 3130 SC(147, 40, 38, 4, yes, no, 0, no) \ 3131 \ 3132 SC(148, 41, 39, 1, yes, no, 0, no) \ 3133 SC(149, 41, 39, 2, yes, no, 0, no) \ 3134 SC(150, 41, 39, 3, yes, no, 0, no) \ 3135 SC(151, 41, 39, 4, yes, no, 0, no) \ 3136 \ 3137 SC(152, 42, 40, 1, yes, no, 0, no) \ 3138 SC(153, 42, 40, 2, yes, no, 0, no) \ 3139 SC(154, 42, 40, 3, yes, no, 0, no) \ 3140 SC(155, 42, 40, 4, yes, no, 0, no) \ 3141 \ 3142 SC(156, 43, 41, 1, yes, no, 0, no) \ 3143 SC(157, 43, 41, 2, yes, no, 0, no) \ 3144 SC(158, 43, 41, 3, yes, no, 0, no) \ 3145 SC(159, 43, 41, 4, yes, no, 0, no) \ 3146 \ 3147 SC(160, 44, 42, 1, yes, no, 0, no) \ 3148 SC(161, 44, 42, 2, yes, no, 0, no) \ 3149 SC(162, 44, 42, 3, yes, no, 0, no) \ 3150 SC(163, 44, 42, 4, yes, no, 0, no) \ 3151 \ 3152 SC(164, 45, 43, 1, yes, no, 0, no) \ 3153 SC(165, 45, 43, 2, yes, no, 0, no) \ 3154 SC(166, 45, 43, 3, yes, no, 0, no) \ 3155 SC(167, 45, 43, 4, yes, no, 0, no) \ 3156 \ 3157 SC(168, 46, 44, 1, yes, no, 0, no) \ 3158 SC(169, 46, 44, 2, yes, no, 0, no) \ 3159 SC(170, 46, 44, 3, yes, no, 0, no) \ 3160 SC(171, 46, 44, 4, yes, no, 0, no) \ 3161 \ 3162 SC(172, 47, 45, 1, yes, no, 0, no) \ 3163 SC(173, 47, 45, 2, yes, no, 0, no) \ 3164 SC(174, 47, 45, 3, yes, no, 0, no) \ 3165 SC(175, 47, 45, 4, yes, no, 0, no) \ 3166 \ 3167 SC(176, 48, 46, 1, yes, no, 0, no) \ 3168 SC(177, 48, 46, 2, yes, no, 0, no) \ 3169 SC(178, 48, 46, 3, yes, no, 0, no) \ 3170 SC(179, 48, 46, 4, yes, no, 0, no) \ 3171 \ 3172 SC(180, 49, 47, 1, yes, no, 0, no) \ 3173 SC(181, 49, 47, 2, yes, no, 0, no) \ 3174 SC(182, 49, 47, 3, yes, no, 0, no) \ 3175 SC(183, 49, 47, 4, yes, no, 0, no) \ 3176 \ 3177 SC(184, 50, 48, 1, yes, no, 0, no) \ 3178 SC(185, 50, 48, 2, yes, no, 0, no) \ 3179 SC(186, 50, 48, 3, yes, no, 0, no) \ 3180 SC(187, 50, 48, 4, yes, no, 0, no) \ 3181 \ 3182 SC(188, 51, 49, 1, yes, no, 0, no) \ 3183 SC(189, 51, 49, 2, yes, no, 0, no) \ 3184 SC(190, 51, 49, 3, yes, no, 0, no) \ 3185 SC(191, 51, 49, 4, yes, no, 0, no) \ 3186 \ 3187 SC(192, 52, 50, 1, yes, no, 0, no) \ 3188 SC(193, 52, 50, 2, yes, no, 0, no) \ 3189 SC(194, 52, 50, 3, yes, no, 0, no) \ 3190 SC(195, 52, 50, 4, yes, no, 0, no) \ 3191 \ 3192 SC(196, 53, 51, 1, yes, no, 0, no) \ 3193 SC(197, 53, 51, 2, yes, no, 0, no) \ 3194 SC(198, 53, 51, 3, yes, no, 0, no) \ 3195 SC(199, 53, 51, 4, yes, no, 0, no) \ 3196 \ 3197 SC(200, 54, 52, 1, yes, no, 0, no) \ 3198 SC(201, 54, 52, 2, yes, no, 0, no) \ 3199 SC(202, 54, 52, 3, yes, no, 0, no) \ 3200 SC(203, 54, 52, 4, yes, no, 0, no) \ 3201 \ 3202 SC(204, 55, 53, 1, yes, no, 0, no) \ 3203 SC(205, 55, 53, 2, yes, no, 0, no) \ 3204 SC(206, 55, 53, 3, yes, no, 0, no) \ 3205 SC(207, 55, 53, 4, yes, no, 0, no) \ 3206 \ 3207 SC(208, 56, 54, 1, yes, no, 0, no) \ 3208 SC(209, 56, 54, 2, yes, no, 0, no) \ 3209 SC(210, 56, 54, 3, yes, no, 0, no) \ 3210 SC(211, 56, 54, 4, yes, no, 0, no) \ 3211 \ 3212 SC(212, 57, 55, 1, yes, no, 0, no) \ 3213 SC(213, 57, 55, 2, yes, no, 0, no) \ 3214 SC(214, 57, 55, 3, yes, no, 0, no) \ 3215 SC(215, 57, 55, 4, yes, no, 0, no) \ 3216 \ 3217 SC(216, 58, 56, 1, yes, no, 0, no) \ 3218 SC(217, 58, 56, 2, yes, no, 0, no) \ 3219 SC(218, 58, 56, 3, yes, no, 0, no) \ 3220 SC(219, 58, 56, 4, yes, no, 0, no) \ 3221 \ 3222 SC(220, 59, 57, 1, yes, no, 0, no) \ 3223 SC(221, 59, 57, 2, yes, no, 0, no) \ 3224 SC(222, 59, 57, 3, yes, no, 0, no) \ 3225 SC(223, 59, 57, 4, yes, no, 0, no) \ 3226 \ 3227 SC(224, 60, 58, 1, yes, no, 0, no) \ 3228 SC(225, 60, 58, 2, yes, no, 0, no) \ 3229 SC(226, 60, 58, 3, yes, no, 0, no) \ 3230 SC(227, 60, 58, 4, yes, no, 0, no) \ 3231 \ 3232 SC(228, 61, 59, 1, yes, no, 0, no) \ 3233 SC(229, 61, 59, 2, yes, no, 0, no) \ 3234 SC(230, 61, 59, 3, yes, no, 0, no) \ 3235 SC(231, 61, 59, 4, yes, no, 0, no) \ 3236 \ 3237 SC(232, 62, 60, 1, yes, no, 0, no) \ 3238 SC(233, 62, 60, 2, yes, no, 0, no) \ 3239 SC(234, 62, 60, 3, yes, no, 0, no) \ 3240 3241 #define SIZE_CLASSES_DEFINED 3242 #define NTBINS 0 3243 #define NLBINS 32 3244 #define NBINS 47 3245 #define NSIZES 235 3246 #define LG_CEIL_NSIZES 8 3247 #define NPSIZES 191 3248 #define LG_TINY_MAXCLASS "NA" 3249 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 3250 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13)) 3251 #define LG_LARGE_MINCLASS 16 3252 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 3253 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 3254 #endif 3255 3256 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 14) 3257 #define SIZE_CLASSES \ 3258 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 3259 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 3260 \ 3261 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 3262 SC( 2, 4, 4, 1, no, yes, 1, 4) \ 3263 SC( 3, 4, 4, 2, no, yes, 3, 4) \ 3264 SC( 4, 4, 4, 3, no, yes, 1, 4) \ 3265 \ 3266 SC( 5, 6, 4, 1, no, yes, 5, 4) \ 3267 SC( 6, 6, 4, 2, no, yes, 3, 4) \ 3268 SC( 7, 6, 4, 3, no, yes, 7, 4) \ 3269 SC( 8, 6, 4, 4, no, yes, 1, 4) \ 3270 \ 3271 SC( 9, 7, 5, 1, no, yes, 5, 5) \ 3272 SC( 10, 7, 5, 2, no, yes, 3, 5) \ 3273 SC( 11, 7, 5, 3, no, yes, 7, 5) \ 3274 SC( 12, 7, 5, 4, no, yes, 1, 5) \ 3275 \ 3276 SC( 13, 8, 6, 1, no, yes, 5, 6) \ 3277 SC( 14, 8, 6, 2, no, yes, 3, 6) \ 3278 SC( 15, 8, 6, 3, no, yes, 7, 6) \ 3279 SC( 16, 8, 6, 4, no, yes, 1, 6) \ 3280 \ 3281 SC( 17, 9, 7, 1, no, yes, 5, 7) \ 3282 SC( 18, 9, 7, 2, no, yes, 3, 7) \ 3283 SC( 19, 9, 7, 3, no, yes, 7, 7) \ 3284 SC( 20, 9, 7, 4, no, yes, 1, 7) \ 3285 \ 3286 SC( 21, 10, 8, 1, no, yes, 5, 8) \ 3287 SC( 22, 10, 8, 2, no, yes, 3, 8) \ 3288 SC( 23, 10, 8, 3, no, yes, 7, 8) \ 3289 SC( 24, 10, 8, 4, no, yes, 1, 8) \ 3290 \ 3291 SC( 25, 11, 9, 1, no, yes, 5, 9) \ 3292 SC( 26, 11, 9, 2, no, yes, 3, 9) \ 3293 SC( 27, 11, 9, 3, no, yes, 7, 9) \ 3294 SC( 28, 11, 9, 4, no, yes, 1, 9) \ 3295 \ 3296 SC( 29, 12, 10, 1, no, yes, 5, no) \ 3297 SC( 30, 12, 10, 2, no, yes, 3, no) \ 3298 SC( 31, 12, 10, 3, no, yes, 7, no) \ 3299 SC( 32, 12, 10, 4, no, yes, 1, no) \ 3300 \ 3301 SC( 33, 13, 11, 1, no, yes, 5, no) \ 3302 SC( 34, 13, 11, 2, no, yes, 3, no) \ 3303 SC( 35, 13, 11, 3, no, yes, 7, no) \ 3304 SC( 36, 13, 11, 4, yes, yes, 1, no) \ 3305 \ 3306 SC( 37, 14, 12, 1, no, yes, 5, no) \ 3307 SC( 38, 14, 12, 2, no, yes, 3, no) \ 3308 SC( 39, 14, 12, 3, no, yes, 7, no) \ 3309 SC( 40, 14, 12, 4, yes, yes, 2, no) \ 3310 \ 3311 SC( 41, 15, 13, 1, no, yes, 5, no) \ 3312 SC( 42, 15, 13, 2, yes, yes, 3, no) \ 3313 SC( 43, 15, 13, 3, no, yes, 7, no) \ 3314 SC( 44, 15, 13, 4, yes, no, 0, no) \ 3315 \ 3316 SC( 45, 16, 14, 1, yes, no, 0, no) \ 3317 SC( 46, 16, 14, 2, yes, no, 0, no) \ 3318 SC( 47, 16, 14, 3, yes, no, 0, no) \ 3319 SC( 48, 16, 14, 4, yes, no, 0, no) \ 3320 \ 3321 SC( 49, 17, 15, 1, yes, no, 0, no) \ 3322 SC( 50, 17, 15, 2, yes, no, 0, no) \ 3323 SC( 51, 17, 15, 3, yes, no, 0, no) \ 3324 SC( 52, 17, 15, 4, yes, no, 0, no) \ 3325 \ 3326 SC( 53, 18, 16, 1, yes, no, 0, no) \ 3327 SC( 54, 18, 16, 2, yes, no, 0, no) \ 3328 SC( 55, 18, 16, 3, yes, no, 0, no) \ 3329 SC( 56, 18, 16, 4, yes, no, 0, no) \ 3330 \ 3331 SC( 57, 19, 17, 1, yes, no, 0, no) \ 3332 SC( 58, 19, 17, 2, yes, no, 0, no) \ 3333 SC( 59, 19, 17, 3, yes, no, 0, no) \ 3334 SC( 60, 19, 17, 4, yes, no, 0, no) \ 3335 \ 3336 SC( 61, 20, 18, 1, yes, no, 0, no) \ 3337 SC( 62, 20, 18, 2, yes, no, 0, no) \ 3338 SC( 63, 20, 18, 3, yes, no, 0, no) \ 3339 SC( 64, 20, 18, 4, yes, no, 0, no) \ 3340 \ 3341 SC( 65, 21, 19, 1, yes, no, 0, no) \ 3342 SC( 66, 21, 19, 2, yes, no, 0, no) \ 3343 SC( 67, 21, 19, 3, yes, no, 0, no) \ 3344 SC( 68, 21, 19, 4, yes, no, 0, no) \ 3345 \ 3346 SC( 69, 22, 20, 1, yes, no, 0, no) \ 3347 SC( 70, 22, 20, 2, yes, no, 0, no) \ 3348 SC( 71, 22, 20, 3, yes, no, 0, no) \ 3349 SC( 72, 22, 20, 4, yes, no, 0, no) \ 3350 \ 3351 SC( 73, 23, 21, 1, yes, no, 0, no) \ 3352 SC( 74, 23, 21, 2, yes, no, 0, no) \ 3353 SC( 75, 23, 21, 3, yes, no, 0, no) \ 3354 SC( 76, 23, 21, 4, yes, no, 0, no) \ 3355 \ 3356 SC( 77, 24, 22, 1, yes, no, 0, no) \ 3357 SC( 78, 24, 22, 2, yes, no, 0, no) \ 3358 SC( 79, 24, 22, 3, yes, no, 0, no) \ 3359 SC( 80, 24, 22, 4, yes, no, 0, no) \ 3360 \ 3361 SC( 81, 25, 23, 1, yes, no, 0, no) \ 3362 SC( 82, 25, 23, 2, yes, no, 0, no) \ 3363 SC( 83, 25, 23, 3, yes, no, 0, no) \ 3364 SC( 84, 25, 23, 4, yes, no, 0, no) \ 3365 \ 3366 SC( 85, 26, 24, 1, yes, no, 0, no) \ 3367 SC( 86, 26, 24, 2, yes, no, 0, no) \ 3368 SC( 87, 26, 24, 3, yes, no, 0, no) \ 3369 SC( 88, 26, 24, 4, yes, no, 0, no) \ 3370 \ 3371 SC( 89, 27, 25, 1, yes, no, 0, no) \ 3372 SC( 90, 27, 25, 2, yes, no, 0, no) \ 3373 SC( 91, 27, 25, 3, yes, no, 0, no) \ 3374 SC( 92, 27, 25, 4, yes, no, 0, no) \ 3375 \ 3376 SC( 93, 28, 26, 1, yes, no, 0, no) \ 3377 SC( 94, 28, 26, 2, yes, no, 0, no) \ 3378 SC( 95, 28, 26, 3, yes, no, 0, no) \ 3379 SC( 96, 28, 26, 4, yes, no, 0, no) \ 3380 \ 3381 SC( 97, 29, 27, 1, yes, no, 0, no) \ 3382 SC( 98, 29, 27, 2, yes, no, 0, no) \ 3383 SC( 99, 29, 27, 3, yes, no, 0, no) \ 3384 SC(100, 29, 27, 4, yes, no, 0, no) \ 3385 \ 3386 SC(101, 30, 28, 1, yes, no, 0, no) \ 3387 SC(102, 30, 28, 2, yes, no, 0, no) \ 3388 SC(103, 30, 28, 3, yes, no, 0, no) \ 3389 3390 #define SIZE_CLASSES_DEFINED 3391 #define NTBINS 1 3392 #define NLBINS 29 3393 #define NBINS 44 3394 #define NSIZES 104 3395 #define LG_CEIL_NSIZES 7 3396 #define NPSIZES 63 3397 #define LG_TINY_MAXCLASS 3 3398 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 3399 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13)) 3400 #define LG_LARGE_MINCLASS 16 3401 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 3402 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 3403 #endif 3404 3405 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 14) 3406 #define SIZE_CLASSES \ 3407 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 3408 SC( 0, 4, 4, 0, no, yes, 1, 4) \ 3409 SC( 1, 4, 4, 1, no, yes, 1, 4) \ 3410 SC( 2, 4, 4, 2, no, yes, 3, 4) \ 3411 SC( 3, 4, 4, 3, no, yes, 1, 4) \ 3412 \ 3413 SC( 4, 6, 4, 1, no, yes, 5, 4) \ 3414 SC( 5, 6, 4, 2, no, yes, 3, 4) \ 3415 SC( 6, 6, 4, 3, no, yes, 7, 4) \ 3416 SC( 7, 6, 4, 4, no, yes, 1, 4) \ 3417 \ 3418 SC( 8, 7, 5, 1, no, yes, 5, 5) \ 3419 SC( 9, 7, 5, 2, no, yes, 3, 5) \ 3420 SC( 10, 7, 5, 3, no, yes, 7, 5) \ 3421 SC( 11, 7, 5, 4, no, yes, 1, 5) \ 3422 \ 3423 SC( 12, 8, 6, 1, no, yes, 5, 6) \ 3424 SC( 13, 8, 6, 2, no, yes, 3, 6) \ 3425 SC( 14, 8, 6, 3, no, yes, 7, 6) \ 3426 SC( 15, 8, 6, 4, no, yes, 1, 6) \ 3427 \ 3428 SC( 16, 9, 7, 1, no, yes, 5, 7) \ 3429 SC( 17, 9, 7, 2, no, yes, 3, 7) \ 3430 SC( 18, 9, 7, 3, no, yes, 7, 7) \ 3431 SC( 19, 9, 7, 4, no, yes, 1, 7) \ 3432 \ 3433 SC( 20, 10, 8, 1, no, yes, 5, 8) \ 3434 SC( 21, 10, 8, 2, no, yes, 3, 8) \ 3435 SC( 22, 10, 8, 3, no, yes, 7, 8) \ 3436 SC( 23, 10, 8, 4, no, yes, 1, 8) \ 3437 \ 3438 SC( 24, 11, 9, 1, no, yes, 5, 9) \ 3439 SC( 25, 11, 9, 2, no, yes, 3, 9) \ 3440 SC( 26, 11, 9, 3, no, yes, 7, 9) \ 3441 SC( 27, 11, 9, 4, no, yes, 1, 9) \ 3442 \ 3443 SC( 28, 12, 10, 1, no, yes, 5, no) \ 3444 SC( 29, 12, 10, 2, no, yes, 3, no) \ 3445 SC( 30, 12, 10, 3, no, yes, 7, no) \ 3446 SC( 31, 12, 10, 4, no, yes, 1, no) \ 3447 \ 3448 SC( 32, 13, 11, 1, no, yes, 5, no) \ 3449 SC( 33, 13, 11, 2, no, yes, 3, no) \ 3450 SC( 34, 13, 11, 3, no, yes, 7, no) \ 3451 SC( 35, 13, 11, 4, yes, yes, 1, no) \ 3452 \ 3453 SC( 36, 14, 12, 1, no, yes, 5, no) \ 3454 SC( 37, 14, 12, 2, no, yes, 3, no) \ 3455 SC( 38, 14, 12, 3, no, yes, 7, no) \ 3456 SC( 39, 14, 12, 4, yes, yes, 2, no) \ 3457 \ 3458 SC( 40, 15, 13, 1, no, yes, 5, no) \ 3459 SC( 41, 15, 13, 2, yes, yes, 3, no) \ 3460 SC( 42, 15, 13, 3, no, yes, 7, no) \ 3461 SC( 43, 15, 13, 4, yes, no, 0, no) \ 3462 \ 3463 SC( 44, 16, 14, 1, yes, no, 0, no) \ 3464 SC( 45, 16, 14, 2, yes, no, 0, no) \ 3465 SC( 46, 16, 14, 3, yes, no, 0, no) \ 3466 SC( 47, 16, 14, 4, yes, no, 0, no) \ 3467 \ 3468 SC( 48, 17, 15, 1, yes, no, 0, no) \ 3469 SC( 49, 17, 15, 2, yes, no, 0, no) \ 3470 SC( 50, 17, 15, 3, yes, no, 0, no) \ 3471 SC( 51, 17, 15, 4, yes, no, 0, no) \ 3472 \ 3473 SC( 52, 18, 16, 1, yes, no, 0, no) \ 3474 SC( 53, 18, 16, 2, yes, no, 0, no) \ 3475 SC( 54, 18, 16, 3, yes, no, 0, no) \ 3476 SC( 55, 18, 16, 4, yes, no, 0, no) \ 3477 \ 3478 SC( 56, 19, 17, 1, yes, no, 0, no) \ 3479 SC( 57, 19, 17, 2, yes, no, 0, no) \ 3480 SC( 58, 19, 17, 3, yes, no, 0, no) \ 3481 SC( 59, 19, 17, 4, yes, no, 0, no) \ 3482 \ 3483 SC( 60, 20, 18, 1, yes, no, 0, no) \ 3484 SC( 61, 20, 18, 2, yes, no, 0, no) \ 3485 SC( 62, 20, 18, 3, yes, no, 0, no) \ 3486 SC( 63, 20, 18, 4, yes, no, 0, no) \ 3487 \ 3488 SC( 64, 21, 19, 1, yes, no, 0, no) \ 3489 SC( 65, 21, 19, 2, yes, no, 0, no) \ 3490 SC( 66, 21, 19, 3, yes, no, 0, no) \ 3491 SC( 67, 21, 19, 4, yes, no, 0, no) \ 3492 \ 3493 SC( 68, 22, 20, 1, yes, no, 0, no) \ 3494 SC( 69, 22, 20, 2, yes, no, 0, no) \ 3495 SC( 70, 22, 20, 3, yes, no, 0, no) \ 3496 SC( 71, 22, 20, 4, yes, no, 0, no) \ 3497 \ 3498 SC( 72, 23, 21, 1, yes, no, 0, no) \ 3499 SC( 73, 23, 21, 2, yes, no, 0, no) \ 3500 SC( 74, 23, 21, 3, yes, no, 0, no) \ 3501 SC( 75, 23, 21, 4, yes, no, 0, no) \ 3502 \ 3503 SC( 76, 24, 22, 1, yes, no, 0, no) \ 3504 SC( 77, 24, 22, 2, yes, no, 0, no) \ 3505 SC( 78, 24, 22, 3, yes, no, 0, no) \ 3506 SC( 79, 24, 22, 4, yes, no, 0, no) \ 3507 \ 3508 SC( 80, 25, 23, 1, yes, no, 0, no) \ 3509 SC( 81, 25, 23, 2, yes, no, 0, no) \ 3510 SC( 82, 25, 23, 3, yes, no, 0, no) \ 3511 SC( 83, 25, 23, 4, yes, no, 0, no) \ 3512 \ 3513 SC( 84, 26, 24, 1, yes, no, 0, no) \ 3514 SC( 85, 26, 24, 2, yes, no, 0, no) \ 3515 SC( 86, 26, 24, 3, yes, no, 0, no) \ 3516 SC( 87, 26, 24, 4, yes, no, 0, no) \ 3517 \ 3518 SC( 88, 27, 25, 1, yes, no, 0, no) \ 3519 SC( 89, 27, 25, 2, yes, no, 0, no) \ 3520 SC( 90, 27, 25, 3, yes, no, 0, no) \ 3521 SC( 91, 27, 25, 4, yes, no, 0, no) \ 3522 \ 3523 SC( 92, 28, 26, 1, yes, no, 0, no) \ 3524 SC( 93, 28, 26, 2, yes, no, 0, no) \ 3525 SC( 94, 28, 26, 3, yes, no, 0, no) \ 3526 SC( 95, 28, 26, 4, yes, no, 0, no) \ 3527 \ 3528 SC( 96, 29, 27, 1, yes, no, 0, no) \ 3529 SC( 97, 29, 27, 2, yes, no, 0, no) \ 3530 SC( 98, 29, 27, 3, yes, no, 0, no) \ 3531 SC( 99, 29, 27, 4, yes, no, 0, no) \ 3532 \ 3533 SC(100, 30, 28, 1, yes, no, 0, no) \ 3534 SC(101, 30, 28, 2, yes, no, 0, no) \ 3535 SC(102, 30, 28, 3, yes, no, 0, no) \ 3536 3537 #define SIZE_CLASSES_DEFINED 3538 #define NTBINS 0 3539 #define NLBINS 28 3540 #define NBINS 43 3541 #define NSIZES 103 3542 #define LG_CEIL_NSIZES 7 3543 #define NPSIZES 63 3544 #define LG_TINY_MAXCLASS "NA" 3545 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 3546 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13)) 3547 #define LG_LARGE_MINCLASS 16 3548 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 3549 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 3550 #endif 3551 3552 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 14) 3553 #define SIZE_CLASSES \ 3554 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 3555 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 3556 \ 3557 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 3558 SC( 2, 4, 4, 1, no, yes, 1, 4) \ 3559 SC( 3, 4, 4, 2, no, yes, 3, 4) \ 3560 SC( 4, 4, 4, 3, no, yes, 1, 4) \ 3561 \ 3562 SC( 5, 6, 4, 1, no, yes, 5, 4) \ 3563 SC( 6, 6, 4, 2, no, yes, 3, 4) \ 3564 SC( 7, 6, 4, 3, no, yes, 7, 4) \ 3565 SC( 8, 6, 4, 4, no, yes, 1, 4) \ 3566 \ 3567 SC( 9, 7, 5, 1, no, yes, 5, 5) \ 3568 SC( 10, 7, 5, 2, no, yes, 3, 5) \ 3569 SC( 11, 7, 5, 3, no, yes, 7, 5) \ 3570 SC( 12, 7, 5, 4, no, yes, 1, 5) \ 3571 \ 3572 SC( 13, 8, 6, 1, no, yes, 5, 6) \ 3573 SC( 14, 8, 6, 2, no, yes, 3, 6) \ 3574 SC( 15, 8, 6, 3, no, yes, 7, 6) \ 3575 SC( 16, 8, 6, 4, no, yes, 1, 6) \ 3576 \ 3577 SC( 17, 9, 7, 1, no, yes, 5, 7) \ 3578 SC( 18, 9, 7, 2, no, yes, 3, 7) \ 3579 SC( 19, 9, 7, 3, no, yes, 7, 7) \ 3580 SC( 20, 9, 7, 4, no, yes, 1, 7) \ 3581 \ 3582 SC( 21, 10, 8, 1, no, yes, 5, 8) \ 3583 SC( 22, 10, 8, 2, no, yes, 3, 8) \ 3584 SC( 23, 10, 8, 3, no, yes, 7, 8) \ 3585 SC( 24, 10, 8, 4, no, yes, 1, 8) \ 3586 \ 3587 SC( 25, 11, 9, 1, no, yes, 5, 9) \ 3588 SC( 26, 11, 9, 2, no, yes, 3, 9) \ 3589 SC( 27, 11, 9, 3, no, yes, 7, 9) \ 3590 SC( 28, 11, 9, 4, no, yes, 1, 9) \ 3591 \ 3592 SC( 29, 12, 10, 1, no, yes, 5, no) \ 3593 SC( 30, 12, 10, 2, no, yes, 3, no) \ 3594 SC( 31, 12, 10, 3, no, yes, 7, no) \ 3595 SC( 32, 12, 10, 4, no, yes, 1, no) \ 3596 \ 3597 SC( 33, 13, 11, 1, no, yes, 5, no) \ 3598 SC( 34, 13, 11, 2, no, yes, 3, no) \ 3599 SC( 35, 13, 11, 3, no, yes, 7, no) \ 3600 SC( 36, 13, 11, 4, yes, yes, 1, no) \ 3601 \ 3602 SC( 37, 14, 12, 1, no, yes, 5, no) \ 3603 SC( 38, 14, 12, 2, no, yes, 3, no) \ 3604 SC( 39, 14, 12, 3, no, yes, 7, no) \ 3605 SC( 40, 14, 12, 4, yes, yes, 2, no) \ 3606 \ 3607 SC( 41, 15, 13, 1, no, yes, 5, no) \ 3608 SC( 42, 15, 13, 2, yes, yes, 3, no) \ 3609 SC( 43, 15, 13, 3, no, yes, 7, no) \ 3610 SC( 44, 15, 13, 4, yes, no, 0, no) \ 3611 \ 3612 SC( 45, 16, 14, 1, yes, no, 0, no) \ 3613 SC( 46, 16, 14, 2, yes, no, 0, no) \ 3614 SC( 47, 16, 14, 3, yes, no, 0, no) \ 3615 SC( 48, 16, 14, 4, yes, no, 0, no) \ 3616 \ 3617 SC( 49, 17, 15, 1, yes, no, 0, no) \ 3618 SC( 50, 17, 15, 2, yes, no, 0, no) \ 3619 SC( 51, 17, 15, 3, yes, no, 0, no) \ 3620 SC( 52, 17, 15, 4, yes, no, 0, no) \ 3621 \ 3622 SC( 53, 18, 16, 1, yes, no, 0, no) \ 3623 SC( 54, 18, 16, 2, yes, no, 0, no) \ 3624 SC( 55, 18, 16, 3, yes, no, 0, no) \ 3625 SC( 56, 18, 16, 4, yes, no, 0, no) \ 3626 \ 3627 SC( 57, 19, 17, 1, yes, no, 0, no) \ 3628 SC( 58, 19, 17, 2, yes, no, 0, no) \ 3629 SC( 59, 19, 17, 3, yes, no, 0, no) \ 3630 SC( 60, 19, 17, 4, yes, no, 0, no) \ 3631 \ 3632 SC( 61, 20, 18, 1, yes, no, 0, no) \ 3633 SC( 62, 20, 18, 2, yes, no, 0, no) \ 3634 SC( 63, 20, 18, 3, yes, no, 0, no) \ 3635 SC( 64, 20, 18, 4, yes, no, 0, no) \ 3636 \ 3637 SC( 65, 21, 19, 1, yes, no, 0, no) \ 3638 SC( 66, 21, 19, 2, yes, no, 0, no) \ 3639 SC( 67, 21, 19, 3, yes, no, 0, no) \ 3640 SC( 68, 21, 19, 4, yes, no, 0, no) \ 3641 \ 3642 SC( 69, 22, 20, 1, yes, no, 0, no) \ 3643 SC( 70, 22, 20, 2, yes, no, 0, no) \ 3644 SC( 71, 22, 20, 3, yes, no, 0, no) \ 3645 SC( 72, 22, 20, 4, yes, no, 0, no) \ 3646 \ 3647 SC( 73, 23, 21, 1, yes, no, 0, no) \ 3648 SC( 74, 23, 21, 2, yes, no, 0, no) \ 3649 SC( 75, 23, 21, 3, yes, no, 0, no) \ 3650 SC( 76, 23, 21, 4, yes, no, 0, no) \ 3651 \ 3652 SC( 77, 24, 22, 1, yes, no, 0, no) \ 3653 SC( 78, 24, 22, 2, yes, no, 0, no) \ 3654 SC( 79, 24, 22, 3, yes, no, 0, no) \ 3655 SC( 80, 24, 22, 4, yes, no, 0, no) \ 3656 \ 3657 SC( 81, 25, 23, 1, yes, no, 0, no) \ 3658 SC( 82, 25, 23, 2, yes, no, 0, no) \ 3659 SC( 83, 25, 23, 3, yes, no, 0, no) \ 3660 SC( 84, 25, 23, 4, yes, no, 0, no) \ 3661 \ 3662 SC( 85, 26, 24, 1, yes, no, 0, no) \ 3663 SC( 86, 26, 24, 2, yes, no, 0, no) \ 3664 SC( 87, 26, 24, 3, yes, no, 0, no) \ 3665 SC( 88, 26, 24, 4, yes, no, 0, no) \ 3666 \ 3667 SC( 89, 27, 25, 1, yes, no, 0, no) \ 3668 SC( 90, 27, 25, 2, yes, no, 0, no) \ 3669 SC( 91, 27, 25, 3, yes, no, 0, no) \ 3670 SC( 92, 27, 25, 4, yes, no, 0, no) \ 3671 \ 3672 SC( 93, 28, 26, 1, yes, no, 0, no) \ 3673 SC( 94, 28, 26, 2, yes, no, 0, no) \ 3674 SC( 95, 28, 26, 3, yes, no, 0, no) \ 3675 SC( 96, 28, 26, 4, yes, no, 0, no) \ 3676 \ 3677 SC( 97, 29, 27, 1, yes, no, 0, no) \ 3678 SC( 98, 29, 27, 2, yes, no, 0, no) \ 3679 SC( 99, 29, 27, 3, yes, no, 0, no) \ 3680 SC(100, 29, 27, 4, yes, no, 0, no) \ 3681 \ 3682 SC(101, 30, 28, 1, yes, no, 0, no) \ 3683 SC(102, 30, 28, 2, yes, no, 0, no) \ 3684 SC(103, 30, 28, 3, yes, no, 0, no) \ 3685 SC(104, 30, 28, 4, yes, no, 0, no) \ 3686 \ 3687 SC(105, 31, 29, 1, yes, no, 0, no) \ 3688 SC(106, 31, 29, 2, yes, no, 0, no) \ 3689 SC(107, 31, 29, 3, yes, no, 0, no) \ 3690 SC(108, 31, 29, 4, yes, no, 0, no) \ 3691 \ 3692 SC(109, 32, 30, 1, yes, no, 0, no) \ 3693 SC(110, 32, 30, 2, yes, no, 0, no) \ 3694 SC(111, 32, 30, 3, yes, no, 0, no) \ 3695 SC(112, 32, 30, 4, yes, no, 0, no) \ 3696 \ 3697 SC(113, 33, 31, 1, yes, no, 0, no) \ 3698 SC(114, 33, 31, 2, yes, no, 0, no) \ 3699 SC(115, 33, 31, 3, yes, no, 0, no) \ 3700 SC(116, 33, 31, 4, yes, no, 0, no) \ 3701 \ 3702 SC(117, 34, 32, 1, yes, no, 0, no) \ 3703 SC(118, 34, 32, 2, yes, no, 0, no) \ 3704 SC(119, 34, 32, 3, yes, no, 0, no) \ 3705 SC(120, 34, 32, 4, yes, no, 0, no) \ 3706 \ 3707 SC(121, 35, 33, 1, yes, no, 0, no) \ 3708 SC(122, 35, 33, 2, yes, no, 0, no) \ 3709 SC(123, 35, 33, 3, yes, no, 0, no) \ 3710 SC(124, 35, 33, 4, yes, no, 0, no) \ 3711 \ 3712 SC(125, 36, 34, 1, yes, no, 0, no) \ 3713 SC(126, 36, 34, 2, yes, no, 0, no) \ 3714 SC(127, 36, 34, 3, yes, no, 0, no) \ 3715 SC(128, 36, 34, 4, yes, no, 0, no) \ 3716 \ 3717 SC(129, 37, 35, 1, yes, no, 0, no) \ 3718 SC(130, 37, 35, 2, yes, no, 0, no) \ 3719 SC(131, 37, 35, 3, yes, no, 0, no) \ 3720 SC(132, 37, 35, 4, yes, no, 0, no) \ 3721 \ 3722 SC(133, 38, 36, 1, yes, no, 0, no) \ 3723 SC(134, 38, 36, 2, yes, no, 0, no) \ 3724 SC(135, 38, 36, 3, yes, no, 0, no) \ 3725 SC(136, 38, 36, 4, yes, no, 0, no) \ 3726 \ 3727 SC(137, 39, 37, 1, yes, no, 0, no) \ 3728 SC(138, 39, 37, 2, yes, no, 0, no) \ 3729 SC(139, 39, 37, 3, yes, no, 0, no) \ 3730 SC(140, 39, 37, 4, yes, no, 0, no) \ 3731 \ 3732 SC(141, 40, 38, 1, yes, no, 0, no) \ 3733 SC(142, 40, 38, 2, yes, no, 0, no) \ 3734 SC(143, 40, 38, 3, yes, no, 0, no) \ 3735 SC(144, 40, 38, 4, yes, no, 0, no) \ 3736 \ 3737 SC(145, 41, 39, 1, yes, no, 0, no) \ 3738 SC(146, 41, 39, 2, yes, no, 0, no) \ 3739 SC(147, 41, 39, 3, yes, no, 0, no) \ 3740 SC(148, 41, 39, 4, yes, no, 0, no) \ 3741 \ 3742 SC(149, 42, 40, 1, yes, no, 0, no) \ 3743 SC(150, 42, 40, 2, yes, no, 0, no) \ 3744 SC(151, 42, 40, 3, yes, no, 0, no) \ 3745 SC(152, 42, 40, 4, yes, no, 0, no) \ 3746 \ 3747 SC(153, 43, 41, 1, yes, no, 0, no) \ 3748 SC(154, 43, 41, 2, yes, no, 0, no) \ 3749 SC(155, 43, 41, 3, yes, no, 0, no) \ 3750 SC(156, 43, 41, 4, yes, no, 0, no) \ 3751 \ 3752 SC(157, 44, 42, 1, yes, no, 0, no) \ 3753 SC(158, 44, 42, 2, yes, no, 0, no) \ 3754 SC(159, 44, 42, 3, yes, no, 0, no) \ 3755 SC(160, 44, 42, 4, yes, no, 0, no) \ 3756 \ 3757 SC(161, 45, 43, 1, yes, no, 0, no) \ 3758 SC(162, 45, 43, 2, yes, no, 0, no) \ 3759 SC(163, 45, 43, 3, yes, no, 0, no) \ 3760 SC(164, 45, 43, 4, yes, no, 0, no) \ 3761 \ 3762 SC(165, 46, 44, 1, yes, no, 0, no) \ 3763 SC(166, 46, 44, 2, yes, no, 0, no) \ 3764 SC(167, 46, 44, 3, yes, no, 0, no) \ 3765 SC(168, 46, 44, 4, yes, no, 0, no) \ 3766 \ 3767 SC(169, 47, 45, 1, yes, no, 0, no) \ 3768 SC(170, 47, 45, 2, yes, no, 0, no) \ 3769 SC(171, 47, 45, 3, yes, no, 0, no) \ 3770 SC(172, 47, 45, 4, yes, no, 0, no) \ 3771 \ 3772 SC(173, 48, 46, 1, yes, no, 0, no) \ 3773 SC(174, 48, 46, 2, yes, no, 0, no) \ 3774 SC(175, 48, 46, 3, yes, no, 0, no) \ 3775 SC(176, 48, 46, 4, yes, no, 0, no) \ 3776 \ 3777 SC(177, 49, 47, 1, yes, no, 0, no) \ 3778 SC(178, 49, 47, 2, yes, no, 0, no) \ 3779 SC(179, 49, 47, 3, yes, no, 0, no) \ 3780 SC(180, 49, 47, 4, yes, no, 0, no) \ 3781 \ 3782 SC(181, 50, 48, 1, yes, no, 0, no) \ 3783 SC(182, 50, 48, 2, yes, no, 0, no) \ 3784 SC(183, 50, 48, 3, yes, no, 0, no) \ 3785 SC(184, 50, 48, 4, yes, no, 0, no) \ 3786 \ 3787 SC(185, 51, 49, 1, yes, no, 0, no) \ 3788 SC(186, 51, 49, 2, yes, no, 0, no) \ 3789 SC(187, 51, 49, 3, yes, no, 0, no) \ 3790 SC(188, 51, 49, 4, yes, no, 0, no) \ 3791 \ 3792 SC(189, 52, 50, 1, yes, no, 0, no) \ 3793 SC(190, 52, 50, 2, yes, no, 0, no) \ 3794 SC(191, 52, 50, 3, yes, no, 0, no) \ 3795 SC(192, 52, 50, 4, yes, no, 0, no) \ 3796 \ 3797 SC(193, 53, 51, 1, yes, no, 0, no) \ 3798 SC(194, 53, 51, 2, yes, no, 0, no) \ 3799 SC(195, 53, 51, 3, yes, no, 0, no) \ 3800 SC(196, 53, 51, 4, yes, no, 0, no) \ 3801 \ 3802 SC(197, 54, 52, 1, yes, no, 0, no) \ 3803 SC(198, 54, 52, 2, yes, no, 0, no) \ 3804 SC(199, 54, 52, 3, yes, no, 0, no) \ 3805 SC(200, 54, 52, 4, yes, no, 0, no) \ 3806 \ 3807 SC(201, 55, 53, 1, yes, no, 0, no) \ 3808 SC(202, 55, 53, 2, yes, no, 0, no) \ 3809 SC(203, 55, 53, 3, yes, no, 0, no) \ 3810 SC(204, 55, 53, 4, yes, no, 0, no) \ 3811 \ 3812 SC(205, 56, 54, 1, yes, no, 0, no) \ 3813 SC(206, 56, 54, 2, yes, no, 0, no) \ 3814 SC(207, 56, 54, 3, yes, no, 0, no) \ 3815 SC(208, 56, 54, 4, yes, no, 0, no) \ 3816 \ 3817 SC(209, 57, 55, 1, yes, no, 0, no) \ 3818 SC(210, 57, 55, 2, yes, no, 0, no) \ 3819 SC(211, 57, 55, 3, yes, no, 0, no) \ 3820 SC(212, 57, 55, 4, yes, no, 0, no) \ 3821 \ 3822 SC(213, 58, 56, 1, yes, no, 0, no) \ 3823 SC(214, 58, 56, 2, yes, no, 0, no) \ 3824 SC(215, 58, 56, 3, yes, no, 0, no) \ 3825 SC(216, 58, 56, 4, yes, no, 0, no) \ 3826 \ 3827 SC(217, 59, 57, 1, yes, no, 0, no) \ 3828 SC(218, 59, 57, 2, yes, no, 0, no) \ 3829 SC(219, 59, 57, 3, yes, no, 0, no) \ 3830 SC(220, 59, 57, 4, yes, no, 0, no) \ 3831 \ 3832 SC(221, 60, 58, 1, yes, no, 0, no) \ 3833 SC(222, 60, 58, 2, yes, no, 0, no) \ 3834 SC(223, 60, 58, 3, yes, no, 0, no) \ 3835 SC(224, 60, 58, 4, yes, no, 0, no) \ 3836 \ 3837 SC(225, 61, 59, 1, yes, no, 0, no) \ 3838 SC(226, 61, 59, 2, yes, no, 0, no) \ 3839 SC(227, 61, 59, 3, yes, no, 0, no) \ 3840 SC(228, 61, 59, 4, yes, no, 0, no) \ 3841 \ 3842 SC(229, 62, 60, 1, yes, no, 0, no) \ 3843 SC(230, 62, 60, 2, yes, no, 0, no) \ 3844 SC(231, 62, 60, 3, yes, no, 0, no) \ 3845 3846 #define SIZE_CLASSES_DEFINED 3847 #define NTBINS 1 3848 #define NLBINS 29 3849 #define NBINS 44 3850 #define NSIZES 232 3851 #define LG_CEIL_NSIZES 8 3852 #define NPSIZES 191 3853 #define LG_TINY_MAXCLASS 3 3854 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 3855 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13)) 3856 #define LG_LARGE_MINCLASS 16 3857 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 3858 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 3859 #endif 3860 3861 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 14) 3862 #define SIZE_CLASSES \ 3863 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 3864 SC( 0, 4, 4, 0, no, yes, 1, 4) \ 3865 SC( 1, 4, 4, 1, no, yes, 1, 4) \ 3866 SC( 2, 4, 4, 2, no, yes, 3, 4) \ 3867 SC( 3, 4, 4, 3, no, yes, 1, 4) \ 3868 \ 3869 SC( 4, 6, 4, 1, no, yes, 5, 4) \ 3870 SC( 5, 6, 4, 2, no, yes, 3, 4) \ 3871 SC( 6, 6, 4, 3, no, yes, 7, 4) \ 3872 SC( 7, 6, 4, 4, no, yes, 1, 4) \ 3873 \ 3874 SC( 8, 7, 5, 1, no, yes, 5, 5) \ 3875 SC( 9, 7, 5, 2, no, yes, 3, 5) \ 3876 SC( 10, 7, 5, 3, no, yes, 7, 5) \ 3877 SC( 11, 7, 5, 4, no, yes, 1, 5) \ 3878 \ 3879 SC( 12, 8, 6, 1, no, yes, 5, 6) \ 3880 SC( 13, 8, 6, 2, no, yes, 3, 6) \ 3881 SC( 14, 8, 6, 3, no, yes, 7, 6) \ 3882 SC( 15, 8, 6, 4, no, yes, 1, 6) \ 3883 \ 3884 SC( 16, 9, 7, 1, no, yes, 5, 7) \ 3885 SC( 17, 9, 7, 2, no, yes, 3, 7) \ 3886 SC( 18, 9, 7, 3, no, yes, 7, 7) \ 3887 SC( 19, 9, 7, 4, no, yes, 1, 7) \ 3888 \ 3889 SC( 20, 10, 8, 1, no, yes, 5, 8) \ 3890 SC( 21, 10, 8, 2, no, yes, 3, 8) \ 3891 SC( 22, 10, 8, 3, no, yes, 7, 8) \ 3892 SC( 23, 10, 8, 4, no, yes, 1, 8) \ 3893 \ 3894 SC( 24, 11, 9, 1, no, yes, 5, 9) \ 3895 SC( 25, 11, 9, 2, no, yes, 3, 9) \ 3896 SC( 26, 11, 9, 3, no, yes, 7, 9) \ 3897 SC( 27, 11, 9, 4, no, yes, 1, 9) \ 3898 \ 3899 SC( 28, 12, 10, 1, no, yes, 5, no) \ 3900 SC( 29, 12, 10, 2, no, yes, 3, no) \ 3901 SC( 30, 12, 10, 3, no, yes, 7, no) \ 3902 SC( 31, 12, 10, 4, no, yes, 1, no) \ 3903 \ 3904 SC( 32, 13, 11, 1, no, yes, 5, no) \ 3905 SC( 33, 13, 11, 2, no, yes, 3, no) \ 3906 SC( 34, 13, 11, 3, no, yes, 7, no) \ 3907 SC( 35, 13, 11, 4, yes, yes, 1, no) \ 3908 \ 3909 SC( 36, 14, 12, 1, no, yes, 5, no) \ 3910 SC( 37, 14, 12, 2, no, yes, 3, no) \ 3911 SC( 38, 14, 12, 3, no, yes, 7, no) \ 3912 SC( 39, 14, 12, 4, yes, yes, 2, no) \ 3913 \ 3914 SC( 40, 15, 13, 1, no, yes, 5, no) \ 3915 SC( 41, 15, 13, 2, yes, yes, 3, no) \ 3916 SC( 42, 15, 13, 3, no, yes, 7, no) \ 3917 SC( 43, 15, 13, 4, yes, no, 0, no) \ 3918 \ 3919 SC( 44, 16, 14, 1, yes, no, 0, no) \ 3920 SC( 45, 16, 14, 2, yes, no, 0, no) \ 3921 SC( 46, 16, 14, 3, yes, no, 0, no) \ 3922 SC( 47, 16, 14, 4, yes, no, 0, no) \ 3923 \ 3924 SC( 48, 17, 15, 1, yes, no, 0, no) \ 3925 SC( 49, 17, 15, 2, yes, no, 0, no) \ 3926 SC( 50, 17, 15, 3, yes, no, 0, no) \ 3927 SC( 51, 17, 15, 4, yes, no, 0, no) \ 3928 \ 3929 SC( 52, 18, 16, 1, yes, no, 0, no) \ 3930 SC( 53, 18, 16, 2, yes, no, 0, no) \ 3931 SC( 54, 18, 16, 3, yes, no, 0, no) \ 3932 SC( 55, 18, 16, 4, yes, no, 0, no) \ 3933 \ 3934 SC( 56, 19, 17, 1, yes, no, 0, no) \ 3935 SC( 57, 19, 17, 2, yes, no, 0, no) \ 3936 SC( 58, 19, 17, 3, yes, no, 0, no) \ 3937 SC( 59, 19, 17, 4, yes, no, 0, no) \ 3938 \ 3939 SC( 60, 20, 18, 1, yes, no, 0, no) \ 3940 SC( 61, 20, 18, 2, yes, no, 0, no) \ 3941 SC( 62, 20, 18, 3, yes, no, 0, no) \ 3942 SC( 63, 20, 18, 4, yes, no, 0, no) \ 3943 \ 3944 SC( 64, 21, 19, 1, yes, no, 0, no) \ 3945 SC( 65, 21, 19, 2, yes, no, 0, no) \ 3946 SC( 66, 21, 19, 3, yes, no, 0, no) \ 3947 SC( 67, 21, 19, 4, yes, no, 0, no) \ 3948 \ 3949 SC( 68, 22, 20, 1, yes, no, 0, no) \ 3950 SC( 69, 22, 20, 2, yes, no, 0, no) \ 3951 SC( 70, 22, 20, 3, yes, no, 0, no) \ 3952 SC( 71, 22, 20, 4, yes, no, 0, no) \ 3953 \ 3954 SC( 72, 23, 21, 1, yes, no, 0, no) \ 3955 SC( 73, 23, 21, 2, yes, no, 0, no) \ 3956 SC( 74, 23, 21, 3, yes, no, 0, no) \ 3957 SC( 75, 23, 21, 4, yes, no, 0, no) \ 3958 \ 3959 SC( 76, 24, 22, 1, yes, no, 0, no) \ 3960 SC( 77, 24, 22, 2, yes, no, 0, no) \ 3961 SC( 78, 24, 22, 3, yes, no, 0, no) \ 3962 SC( 79, 24, 22, 4, yes, no, 0, no) \ 3963 \ 3964 SC( 80, 25, 23, 1, yes, no, 0, no) \ 3965 SC( 81, 25, 23, 2, yes, no, 0, no) \ 3966 SC( 82, 25, 23, 3, yes, no, 0, no) \ 3967 SC( 83, 25, 23, 4, yes, no, 0, no) \ 3968 \ 3969 SC( 84, 26, 24, 1, yes, no, 0, no) \ 3970 SC( 85, 26, 24, 2, yes, no, 0, no) \ 3971 SC( 86, 26, 24, 3, yes, no, 0, no) \ 3972 SC( 87, 26, 24, 4, yes, no, 0, no) \ 3973 \ 3974 SC( 88, 27, 25, 1, yes, no, 0, no) \ 3975 SC( 89, 27, 25, 2, yes, no, 0, no) \ 3976 SC( 90, 27, 25, 3, yes, no, 0, no) \ 3977 SC( 91, 27, 25, 4, yes, no, 0, no) \ 3978 \ 3979 SC( 92, 28, 26, 1, yes, no, 0, no) \ 3980 SC( 93, 28, 26, 2, yes, no, 0, no) \ 3981 SC( 94, 28, 26, 3, yes, no, 0, no) \ 3982 SC( 95, 28, 26, 4, yes, no, 0, no) \ 3983 \ 3984 SC( 96, 29, 27, 1, yes, no, 0, no) \ 3985 SC( 97, 29, 27, 2, yes, no, 0, no) \ 3986 SC( 98, 29, 27, 3, yes, no, 0, no) \ 3987 SC( 99, 29, 27, 4, yes, no, 0, no) \ 3988 \ 3989 SC(100, 30, 28, 1, yes, no, 0, no) \ 3990 SC(101, 30, 28, 2, yes, no, 0, no) \ 3991 SC(102, 30, 28, 3, yes, no, 0, no) \ 3992 SC(103, 30, 28, 4, yes, no, 0, no) \ 3993 \ 3994 SC(104, 31, 29, 1, yes, no, 0, no) \ 3995 SC(105, 31, 29, 2, yes, no, 0, no) \ 3996 SC(106, 31, 29, 3, yes, no, 0, no) \ 3997 SC(107, 31, 29, 4, yes, no, 0, no) \ 3998 \ 3999 SC(108, 32, 30, 1, yes, no, 0, no) \ 4000 SC(109, 32, 30, 2, yes, no, 0, no) \ 4001 SC(110, 32, 30, 3, yes, no, 0, no) \ 4002 SC(111, 32, 30, 4, yes, no, 0, no) \ 4003 \ 4004 SC(112, 33, 31, 1, yes, no, 0, no) \ 4005 SC(113, 33, 31, 2, yes, no, 0, no) \ 4006 SC(114, 33, 31, 3, yes, no, 0, no) \ 4007 SC(115, 33, 31, 4, yes, no, 0, no) \ 4008 \ 4009 SC(116, 34, 32, 1, yes, no, 0, no) \ 4010 SC(117, 34, 32, 2, yes, no, 0, no) \ 4011 SC(118, 34, 32, 3, yes, no, 0, no) \ 4012 SC(119, 34, 32, 4, yes, no, 0, no) \ 4013 \ 4014 SC(120, 35, 33, 1, yes, no, 0, no) \ 4015 SC(121, 35, 33, 2, yes, no, 0, no) \ 4016 SC(122, 35, 33, 3, yes, no, 0, no) \ 4017 SC(123, 35, 33, 4, yes, no, 0, no) \ 4018 \ 4019 SC(124, 36, 34, 1, yes, no, 0, no) \ 4020 SC(125, 36, 34, 2, yes, no, 0, no) \ 4021 SC(126, 36, 34, 3, yes, no, 0, no) \ 4022 SC(127, 36, 34, 4, yes, no, 0, no) \ 4023 \ 4024 SC(128, 37, 35, 1, yes, no, 0, no) \ 4025 SC(129, 37, 35, 2, yes, no, 0, no) \ 4026 SC(130, 37, 35, 3, yes, no, 0, no) \ 4027 SC(131, 37, 35, 4, yes, no, 0, no) \ 4028 \ 4029 SC(132, 38, 36, 1, yes, no, 0, no) \ 4030 SC(133, 38, 36, 2, yes, no, 0, no) \ 4031 SC(134, 38, 36, 3, yes, no, 0, no) \ 4032 SC(135, 38, 36, 4, yes, no, 0, no) \ 4033 \ 4034 SC(136, 39, 37, 1, yes, no, 0, no) \ 4035 SC(137, 39, 37, 2, yes, no, 0, no) \ 4036 SC(138, 39, 37, 3, yes, no, 0, no) \ 4037 SC(139, 39, 37, 4, yes, no, 0, no) \ 4038 \ 4039 SC(140, 40, 38, 1, yes, no, 0, no) \ 4040 SC(141, 40, 38, 2, yes, no, 0, no) \ 4041 SC(142, 40, 38, 3, yes, no, 0, no) \ 4042 SC(143, 40, 38, 4, yes, no, 0, no) \ 4043 \ 4044 SC(144, 41, 39, 1, yes, no, 0, no) \ 4045 SC(145, 41, 39, 2, yes, no, 0, no) \ 4046 SC(146, 41, 39, 3, yes, no, 0, no) \ 4047 SC(147, 41, 39, 4, yes, no, 0, no) \ 4048 \ 4049 SC(148, 42, 40, 1, yes, no, 0, no) \ 4050 SC(149, 42, 40, 2, yes, no, 0, no) \ 4051 SC(150, 42, 40, 3, yes, no, 0, no) \ 4052 SC(151, 42, 40, 4, yes, no, 0, no) \ 4053 \ 4054 SC(152, 43, 41, 1, yes, no, 0, no) \ 4055 SC(153, 43, 41, 2, yes, no, 0, no) \ 4056 SC(154, 43, 41, 3, yes, no, 0, no) \ 4057 SC(155, 43, 41, 4, yes, no, 0, no) \ 4058 \ 4059 SC(156, 44, 42, 1, yes, no, 0, no) \ 4060 SC(157, 44, 42, 2, yes, no, 0, no) \ 4061 SC(158, 44, 42, 3, yes, no, 0, no) \ 4062 SC(159, 44, 42, 4, yes, no, 0, no) \ 4063 \ 4064 SC(160, 45, 43, 1, yes, no, 0, no) \ 4065 SC(161, 45, 43, 2, yes, no, 0, no) \ 4066 SC(162, 45, 43, 3, yes, no, 0, no) \ 4067 SC(163, 45, 43, 4, yes, no, 0, no) \ 4068 \ 4069 SC(164, 46, 44, 1, yes, no, 0, no) \ 4070 SC(165, 46, 44, 2, yes, no, 0, no) \ 4071 SC(166, 46, 44, 3, yes, no, 0, no) \ 4072 SC(167, 46, 44, 4, yes, no, 0, no) \ 4073 \ 4074 SC(168, 47, 45, 1, yes, no, 0, no) \ 4075 SC(169, 47, 45, 2, yes, no, 0, no) \ 4076 SC(170, 47, 45, 3, yes, no, 0, no) \ 4077 SC(171, 47, 45, 4, yes, no, 0, no) \ 4078 \ 4079 SC(172, 48, 46, 1, yes, no, 0, no) \ 4080 SC(173, 48, 46, 2, yes, no, 0, no) \ 4081 SC(174, 48, 46, 3, yes, no, 0, no) \ 4082 SC(175, 48, 46, 4, yes, no, 0, no) \ 4083 \ 4084 SC(176, 49, 47, 1, yes, no, 0, no) \ 4085 SC(177, 49, 47, 2, yes, no, 0, no) \ 4086 SC(178, 49, 47, 3, yes, no, 0, no) \ 4087 SC(179, 49, 47, 4, yes, no, 0, no) \ 4088 \ 4089 SC(180, 50, 48, 1, yes, no, 0, no) \ 4090 SC(181, 50, 48, 2, yes, no, 0, no) \ 4091 SC(182, 50, 48, 3, yes, no, 0, no) \ 4092 SC(183, 50, 48, 4, yes, no, 0, no) \ 4093 \ 4094 SC(184, 51, 49, 1, yes, no, 0, no) \ 4095 SC(185, 51, 49, 2, yes, no, 0, no) \ 4096 SC(186, 51, 49, 3, yes, no, 0, no) \ 4097 SC(187, 51, 49, 4, yes, no, 0, no) \ 4098 \ 4099 SC(188, 52, 50, 1, yes, no, 0, no) \ 4100 SC(189, 52, 50, 2, yes, no, 0, no) \ 4101 SC(190, 52, 50, 3, yes, no, 0, no) \ 4102 SC(191, 52, 50, 4, yes, no, 0, no) \ 4103 \ 4104 SC(192, 53, 51, 1, yes, no, 0, no) \ 4105 SC(193, 53, 51, 2, yes, no, 0, no) \ 4106 SC(194, 53, 51, 3, yes, no, 0, no) \ 4107 SC(195, 53, 51, 4, yes, no, 0, no) \ 4108 \ 4109 SC(196, 54, 52, 1, yes, no, 0, no) \ 4110 SC(197, 54, 52, 2, yes, no, 0, no) \ 4111 SC(198, 54, 52, 3, yes, no, 0, no) \ 4112 SC(199, 54, 52, 4, yes, no, 0, no) \ 4113 \ 4114 SC(200, 55, 53, 1, yes, no, 0, no) \ 4115 SC(201, 55, 53, 2, yes, no, 0, no) \ 4116 SC(202, 55, 53, 3, yes, no, 0, no) \ 4117 SC(203, 55, 53, 4, yes, no, 0, no) \ 4118 \ 4119 SC(204, 56, 54, 1, yes, no, 0, no) \ 4120 SC(205, 56, 54, 2, yes, no, 0, no) \ 4121 SC(206, 56, 54, 3, yes, no, 0, no) \ 4122 SC(207, 56, 54, 4, yes, no, 0, no) \ 4123 \ 4124 SC(208, 57, 55, 1, yes, no, 0, no) \ 4125 SC(209, 57, 55, 2, yes, no, 0, no) \ 4126 SC(210, 57, 55, 3, yes, no, 0, no) \ 4127 SC(211, 57, 55, 4, yes, no, 0, no) \ 4128 \ 4129 SC(212, 58, 56, 1, yes, no, 0, no) \ 4130 SC(213, 58, 56, 2, yes, no, 0, no) \ 4131 SC(214, 58, 56, 3, yes, no, 0, no) \ 4132 SC(215, 58, 56, 4, yes, no, 0, no) \ 4133 \ 4134 SC(216, 59, 57, 1, yes, no, 0, no) \ 4135 SC(217, 59, 57, 2, yes, no, 0, no) \ 4136 SC(218, 59, 57, 3, yes, no, 0, no) \ 4137 SC(219, 59, 57, 4, yes, no, 0, no) \ 4138 \ 4139 SC(220, 60, 58, 1, yes, no, 0, no) \ 4140 SC(221, 60, 58, 2, yes, no, 0, no) \ 4141 SC(222, 60, 58, 3, yes, no, 0, no) \ 4142 SC(223, 60, 58, 4, yes, no, 0, no) \ 4143 \ 4144 SC(224, 61, 59, 1, yes, no, 0, no) \ 4145 SC(225, 61, 59, 2, yes, no, 0, no) \ 4146 SC(226, 61, 59, 3, yes, no, 0, no) \ 4147 SC(227, 61, 59, 4, yes, no, 0, no) \ 4148 \ 4149 SC(228, 62, 60, 1, yes, no, 0, no) \ 4150 SC(229, 62, 60, 2, yes, no, 0, no) \ 4151 SC(230, 62, 60, 3, yes, no, 0, no) \ 4152 4153 #define SIZE_CLASSES_DEFINED 4154 #define NTBINS 0 4155 #define NLBINS 28 4156 #define NBINS 43 4157 #define NSIZES 231 4158 #define LG_CEIL_NSIZES 8 4159 #define NPSIZES 191 4160 #define LG_TINY_MAXCLASS "NA" 4161 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 4162 #define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13)) 4163 #define LG_LARGE_MINCLASS 16 4164 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 4165 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 4166 #endif 4167 4168 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 11) 4169 #define SIZE_CLASSES \ 4170 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 4171 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 4172 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 4173 SC( 2, 3, 3, 2, no, yes, 3, 3) \ 4174 SC( 3, 3, 3, 3, no, yes, 1, 3) \ 4175 \ 4176 SC( 4, 5, 3, 1, no, yes, 5, 3) \ 4177 SC( 5, 5, 3, 2, no, yes, 3, 3) \ 4178 SC( 6, 5, 3, 3, no, yes, 7, 3) \ 4179 SC( 7, 5, 3, 4, no, yes, 1, 3) \ 4180 \ 4181 SC( 8, 6, 4, 1, no, yes, 5, 4) \ 4182 SC( 9, 6, 4, 2, no, yes, 3, 4) \ 4183 SC( 10, 6, 4, 3, no, yes, 7, 4) \ 4184 SC( 11, 6, 4, 4, no, yes, 1, 4) \ 4185 \ 4186 SC( 12, 7, 5, 1, no, yes, 5, 5) \ 4187 SC( 13, 7, 5, 2, no, yes, 3, 5) \ 4188 SC( 14, 7, 5, 3, no, yes, 7, 5) \ 4189 SC( 15, 7, 5, 4, no, yes, 1, 5) \ 4190 \ 4191 SC( 16, 8, 6, 1, no, yes, 5, 6) \ 4192 SC( 17, 8, 6, 2, no, yes, 3, 6) \ 4193 SC( 18, 8, 6, 3, no, yes, 7, 6) \ 4194 SC( 19, 8, 6, 4, no, yes, 1, 6) \ 4195 \ 4196 SC( 20, 9, 7, 1, no, yes, 5, 7) \ 4197 SC( 21, 9, 7, 2, no, yes, 3, 7) \ 4198 SC( 22, 9, 7, 3, no, yes, 7, 7) \ 4199 SC( 23, 9, 7, 4, no, yes, 1, 7) \ 4200 \ 4201 SC( 24, 10, 8, 1, no, yes, 5, 8) \ 4202 SC( 25, 10, 8, 2, no, yes, 3, 8) \ 4203 SC( 26, 10, 8, 3, no, yes, 7, 8) \ 4204 SC( 27, 10, 8, 4, yes, yes, 1, 8) \ 4205 \ 4206 SC( 28, 11, 9, 1, no, yes, 5, 9) \ 4207 SC( 29, 11, 9, 2, no, yes, 3, 9) \ 4208 SC( 30, 11, 9, 3, no, yes, 7, 9) \ 4209 SC( 31, 11, 9, 4, yes, yes, 2, 9) \ 4210 \ 4211 SC( 32, 12, 10, 1, no, yes, 5, no) \ 4212 SC( 33, 12, 10, 2, yes, yes, 3, no) \ 4213 SC( 34, 12, 10, 3, no, yes, 7, no) \ 4214 SC( 35, 12, 10, 4, yes, no, 0, no) \ 4215 \ 4216 SC( 36, 13, 11, 1, yes, no, 0, no) \ 4217 SC( 37, 13, 11, 2, yes, no, 0, no) \ 4218 SC( 38, 13, 11, 3, yes, no, 0, no) \ 4219 SC( 39, 13, 11, 4, yes, no, 0, no) \ 4220 \ 4221 SC( 40, 14, 12, 1, yes, no, 0, no) \ 4222 SC( 41, 14, 12, 2, yes, no, 0, no) \ 4223 SC( 42, 14, 12, 3, yes, no, 0, no) \ 4224 SC( 43, 14, 12, 4, yes, no, 0, no) \ 4225 \ 4226 SC( 44, 15, 13, 1, yes, no, 0, no) \ 4227 SC( 45, 15, 13, 2, yes, no, 0, no) \ 4228 SC( 46, 15, 13, 3, yes, no, 0, no) \ 4229 SC( 47, 15, 13, 4, yes, no, 0, no) \ 4230 \ 4231 SC( 48, 16, 14, 1, yes, no, 0, no) \ 4232 SC( 49, 16, 14, 2, yes, no, 0, no) \ 4233 SC( 50, 16, 14, 3, yes, no, 0, no) \ 4234 SC( 51, 16, 14, 4, yes, no, 0, no) \ 4235 \ 4236 SC( 52, 17, 15, 1, yes, no, 0, no) \ 4237 SC( 53, 17, 15, 2, yes, no, 0, no) \ 4238 SC( 54, 17, 15, 3, yes, no, 0, no) \ 4239 SC( 55, 17, 15, 4, yes, no, 0, no) \ 4240 \ 4241 SC( 56, 18, 16, 1, yes, no, 0, no) \ 4242 SC( 57, 18, 16, 2, yes, no, 0, no) \ 4243 SC( 58, 18, 16, 3, yes, no, 0, no) \ 4244 SC( 59, 18, 16, 4, yes, no, 0, no) \ 4245 \ 4246 SC( 60, 19, 17, 1, yes, no, 0, no) \ 4247 SC( 61, 19, 17, 2, yes, no, 0, no) \ 4248 SC( 62, 19, 17, 3, yes, no, 0, no) \ 4249 SC( 63, 19, 17, 4, yes, no, 0, no) \ 4250 \ 4251 SC( 64, 20, 18, 1, yes, no, 0, no) \ 4252 SC( 65, 20, 18, 2, yes, no, 0, no) \ 4253 SC( 66, 20, 18, 3, yes, no, 0, no) \ 4254 SC( 67, 20, 18, 4, yes, no, 0, no) \ 4255 \ 4256 SC( 68, 21, 19, 1, yes, no, 0, no) \ 4257 SC( 69, 21, 19, 2, yes, no, 0, no) \ 4258 SC( 70, 21, 19, 3, yes, no, 0, no) \ 4259 SC( 71, 21, 19, 4, yes, no, 0, no) \ 4260 \ 4261 SC( 72, 22, 20, 1, yes, no, 0, no) \ 4262 SC( 73, 22, 20, 2, yes, no, 0, no) \ 4263 SC( 74, 22, 20, 3, yes, no, 0, no) \ 4264 SC( 75, 22, 20, 4, yes, no, 0, no) \ 4265 \ 4266 SC( 76, 23, 21, 1, yes, no, 0, no) \ 4267 SC( 77, 23, 21, 2, yes, no, 0, no) \ 4268 SC( 78, 23, 21, 3, yes, no, 0, no) \ 4269 SC( 79, 23, 21, 4, yes, no, 0, no) \ 4270 \ 4271 SC( 80, 24, 22, 1, yes, no, 0, no) \ 4272 SC( 81, 24, 22, 2, yes, no, 0, no) \ 4273 SC( 82, 24, 22, 3, yes, no, 0, no) \ 4274 SC( 83, 24, 22, 4, yes, no, 0, no) \ 4275 \ 4276 SC( 84, 25, 23, 1, yes, no, 0, no) \ 4277 SC( 85, 25, 23, 2, yes, no, 0, no) \ 4278 SC( 86, 25, 23, 3, yes, no, 0, no) \ 4279 SC( 87, 25, 23, 4, yes, no, 0, no) \ 4280 \ 4281 SC( 88, 26, 24, 1, yes, no, 0, no) \ 4282 SC( 89, 26, 24, 2, yes, no, 0, no) \ 4283 SC( 90, 26, 24, 3, yes, no, 0, no) \ 4284 SC( 91, 26, 24, 4, yes, no, 0, no) \ 4285 \ 4286 SC( 92, 27, 25, 1, yes, no, 0, no) \ 4287 SC( 93, 27, 25, 2, yes, no, 0, no) \ 4288 SC( 94, 27, 25, 3, yes, no, 0, no) \ 4289 SC( 95, 27, 25, 4, yes, no, 0, no) \ 4290 \ 4291 SC( 96, 28, 26, 1, yes, no, 0, no) \ 4292 SC( 97, 28, 26, 2, yes, no, 0, no) \ 4293 SC( 98, 28, 26, 3, yes, no, 0, no) \ 4294 SC( 99, 28, 26, 4, yes, no, 0, no) \ 4295 \ 4296 SC(100, 29, 27, 1, yes, no, 0, no) \ 4297 SC(101, 29, 27, 2, yes, no, 0, no) \ 4298 SC(102, 29, 27, 3, yes, no, 0, no) \ 4299 SC(103, 29, 27, 4, yes, no, 0, no) \ 4300 \ 4301 SC(104, 30, 28, 1, yes, no, 0, no) \ 4302 SC(105, 30, 28, 2, yes, no, 0, no) \ 4303 SC(106, 30, 28, 3, yes, no, 0, no) \ 4304 4305 #define SIZE_CLASSES_DEFINED 4306 #define NTBINS 0 4307 #define NLBINS 32 4308 #define NBINS 35 4309 #define NSIZES 107 4310 #define LG_CEIL_NSIZES 7 4311 #define NPSIZES 75 4312 #define LG_TINY_MAXCLASS "NA" 4313 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 4314 #define SMALL_MAXCLASS ((((size_t)1) << 12) + (((size_t)3) << 10)) 4315 #define LG_LARGE_MINCLASS 13 4316 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 4317 #define LARGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 4318 #endif 4319 4320 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 11) 4321 #define SIZE_CLASSES \ 4322 /* index, lg_grp, lg_delta, ndelta, psz, bin, pgs, lg_delta_lookup */ \ 4323 SC( 0, 3, 3, 0, no, yes, 1, 3) \ 4324 SC( 1, 3, 3, 1, no, yes, 1, 3) \ 4325 SC( 2, 3, 3, 2, no, yes, 3, 3) \ 4326 SC( 3, 3, 3, 3, no, yes, 1, 3) \ 4327 \ 4328 SC( 4, 5, 3, 1, no, yes, 5, 3) \ 4329 SC( 5, 5, 3, 2, no, yes, 3, 3) \ 4330 SC( 6, 5, 3, 3, no, yes, 7, 3) \ 4331 SC( 7, 5, 3, 4, no, yes, 1, 3) \ 4332 \ 4333 SC( 8, 6, 4, 1, no, yes, 5, 4) \ 4334 SC( 9, 6, 4, 2, no, yes, 3, 4) \ 4335 SC( 10, 6, 4, 3, no, yes, 7, 4) \ 4336 SC( 11, 6, 4, 4, no, yes, 1, 4) \ 4337 \ 4338 SC( 12, 7, 5, 1, no, yes, 5, 5) \ 4339 SC( 13, 7, 5, 2, no, yes, 3, 5) \ 4340 SC( 14, 7, 5, 3, no, yes, 7, 5) \ 4341 SC( 15, 7, 5, 4, no, yes, 1, 5) \ 4342 \ 4343 SC( 16, 8, 6, 1, no, yes, 5, 6) \ 4344 SC( 17, 8, 6, 2, no, yes, 3, 6) \ 4345 SC( 18, 8, 6, 3, no, yes, 7, 6) \ 4346 SC( 19, 8, 6, 4, no, yes, 1, 6) \ 4347 \ 4348 SC( 20, 9, 7, 1, no, yes, 5, 7) \ 4349 SC( 21, 9, 7, 2, no, yes, 3, 7) \ 4350 SC( 22, 9, 7, 3, no, yes, 7, 7) \ 4351 SC( 23, 9, 7, 4, no, yes, 1, 7) \ 4352 \ 4353 SC( 24, 10, 8, 1, no, yes, 5, 8) \ 4354 SC( 25, 10, 8, 2, no, yes, 3, 8) \ 4355 SC( 26, 10, 8, 3, no, yes, 7, 8) \ 4356 SC( 27, 10, 8, 4, yes, yes, 1, 8) \ 4357 \ 4358 SC( 28, 11, 9, 1, no, yes, 5, 9) \ 4359 SC( 29, 11, 9, 2, no, yes, 3, 9) \ 4360 SC( 30, 11, 9, 3, no, yes, 7, 9) \ 4361 SC( 31, 11, 9, 4, yes, yes, 2, 9) \ 4362 \ 4363 SC( 32, 12, 10, 1, no, yes, 5, no) \ 4364 SC( 33, 12, 10, 2, yes, yes, 3, no) \ 4365 SC( 34, 12, 10, 3, no, yes, 7, no) \ 4366 SC( 35, 12, 10, 4, yes, no, 0, no) \ 4367 \ 4368 SC( 36, 13, 11, 1, yes, no, 0, no) \ 4369 SC( 37, 13, 11, 2, yes, no, 0, no) \ 4370 SC( 38, 13, 11, 3, yes, no, 0, no) \ 4371 SC( 39, 13, 11, 4, yes, no, 0, no) \ 4372 \ 4373 SC( 40, 14, 12, 1, yes, no, 0, no) \ 4374 SC( 41, 14, 12, 2, yes, no, 0, no) \ 4375 SC( 42, 14, 12, 3, yes, no, 0, no) \ 4376 SC( 43, 14, 12, 4, yes, no, 0, no) \ 4377 \ 4378 SC( 44, 15, 13, 1, yes, no, 0, no) \ 4379 SC( 45, 15, 13, 2, yes, no, 0, no) \ 4380 SC( 46, 15, 13, 3, yes, no, 0, no) \ 4381 SC( 47, 15, 13, 4, yes, no, 0, no) \ 4382 \ 4383 SC( 48, 16, 14, 1, yes, no, 0, no) \ 4384 SC( 49, 16, 14, 2, yes, no, 0, no) \ 4385 SC( 50, 16, 14, 3, yes, no, 0, no) \ 4386 SC( 51, 16, 14, 4, yes, no, 0, no) \ 4387 \ 4388 SC( 52, 17, 15, 1, yes, no, 0, no) \ 4389 SC( 53, 17, 15, 2, yes, no, 0, no) \ 4390 SC( 54, 17, 15, 3, yes, no, 0, no) \ 4391 SC( 55, 17, 15, 4, yes, no, 0, no) \ 4392 \ 4393 SC( 56, 18, 16, 1, yes, no, 0, no) \ 4394 SC( 57, 18, 16, 2, yes, no, 0, no) \ 4395 SC( 58, 18, 16, 3, yes, no, 0, no) \ 4396 SC( 59, 18, 16, 4, yes, no, 0, no) \ 4397 \ 4398 SC( 60, 19, 17, 1, yes, no, 0, no) \ 4399 SC( 61, 19, 17, 2, yes, no, 0, no) \ 4400 SC( 62, 19, 17, 3, yes, no, 0, no) \ 4401 SC( 63, 19, 17, 4, yes, no, 0, no) \ 4402 \ 4403 SC( 64, 20, 18, 1, yes, no, 0, no) \ 4404 SC( 65, 20, 18, 2, yes, no, 0, no) \ 4405 SC( 66, 20, 18, 3, yes, no, 0, no) \ 4406 SC( 67, 20, 18, 4, yes, no, 0, no) \ 4407 \ 4408 SC( 68, 21, 19, 1, yes, no, 0, no) \ 4409 SC( 69, 21, 19, 2, yes, no, 0, no) \ 4410 SC( 70, 21, 19, 3, yes, no, 0, no) \ 4411 SC( 71, 21, 19, 4, yes, no, 0, no) \ 4412 \ 4413 SC( 72, 22, 20, 1, yes, no, 0, no) \ 4414 SC( 73, 22, 20, 2, yes, no, 0, no) \ 4415 SC( 74, 22, 20, 3, yes, no, 0, no) \ 4416 SC( 75, 22, 20, 4, yes, no, 0, no) \ 4417 \ 4418 SC( 76, 23, 21, 1, yes, no, 0, no) \ 4419 SC( 77, 23, 21, 2, yes, no, 0, no) \ 4420 SC( 78, 23, 21, 3, yes, no, 0, no) \ 4421 SC( 79, 23, 21, 4, yes, no, 0, no) \ 4422 \ 4423 SC( 80, 24, 22, 1, yes, no, 0, no) \ 4424 SC( 81, 24, 22, 2, yes, no, 0, no) \ 4425 SC( 82, 24, 22, 3, yes, no, 0, no) \ 4426 SC( 83, 24, 22, 4, yes, no, 0, no) \ 4427 \ 4428 SC( 84, 25, 23, 1, yes, no, 0, no) \ 4429 SC( 85, 25, 23, 2, yes, no, 0, no) \ 4430 SC( 86, 25, 23, 3, yes, no, 0, no) \ 4431 SC( 87, 25, 23, 4, yes, no, 0, no) \ 4432 \ 4433 SC( 88, 26, 24, 1, yes, no, 0, no) \ 4434 SC( 89, 26, 24, 2, yes, no, 0, no) \ 4435 SC( 90, 26, 24, 3, yes, no, 0, no) \ 4436 SC( 91, 26, 24, 4, yes, no, 0, no) \ 4437 \ 4438 SC( 92, 27, 25, 1, yes, no, 0, no) \ 4439 SC( 93, 27, 25, 2, yes, no, 0, no) \ 4440 SC( 94, 27, 25, 3, yes, no, 0, no) \ 4441 SC( 95, 27, 25, 4, yes, no, 0, no) \ 4442 \ 4443 SC( 96, 28, 26, 1, yes, no, 0, no) \ 4444 SC( 97, 28, 26, 2, yes, no, 0, no) \ 4445 SC( 98, 28, 26, 3, yes, no, 0, no) \ 4446 SC( 99, 28, 26, 4, yes, no, 0, no) \ 4447 \ 4448 SC(100, 29, 27, 1, yes, no, 0, no) \ 4449 SC(101, 29, 27, 2, yes, no, 0, no) \ 4450 SC(102, 29, 27, 3, yes, no, 0, no) \ 4451 SC(103, 29, 27, 4, yes, no, 0, no) \ 4452 \ 4453 SC(104, 30, 28, 1, yes, no, 0, no) \ 4454 SC(105, 30, 28, 2, yes, no, 0, no) \ 4455 SC(106, 30, 28, 3, yes, no, 0, no) \ 4456 SC(107, 30, 28, 4, yes, no, 0, no) \ 4457 \ 4458 SC(108, 31, 29, 1, yes, no, 0, no) \ 4459 SC(109, 31, 29, 2, yes, no, 0, no) \ 4460 SC(110, 31, 29, 3, yes, no, 0, no) \ 4461 SC(111, 31, 29, 4, yes, no, 0, no) \ 4462 \ 4463 SC(112, 32, 30, 1, yes, no, 0, no) \ 4464 SC(113, 32, 30, 2, yes, no, 0, no) \ 4465 SC(114, 32, 30, 3, yes, no, 0, no) \ 4466 SC(115, 32, 30, 4, yes, no, 0, no) \ 4467 \ 4468 SC(116, 33, 31, 1, yes, no, 0, no) \ 4469 SC(117, 33, 31, 2, yes, no, 0, no) \ 4470 SC(118, 33, 31, 3, yes, no, 0, no) \ 4471 SC(119, 33, 31, 4, yes, no, 0, no) \ 4472 \ 4473 SC(120, 34, 32, 1, yes, no, 0, no) \ 4474 SC(121, 34, 32, 2, yes, no, 0, no) \ 4475 SC(122, 34, 32, 3, yes, no, 0, no) \ 4476 SC(123, 34, 32, 4, yes, no, 0, no) \ 4477 \ 4478 SC(124, 35, 33, 1, yes, no, 0, no) \ 4479 SC(125, 35, 33, 2, yes, no, 0, no) \ 4480 SC(126, 35, 33, 3, yes, no, 0, no) \ 4481 SC(127, 35, 33, 4, yes, no, 0, no) \ 4482 \ 4483 SC(128, 36, 34, 1, yes, no, 0, no) \ 4484 SC(129, 36, 34, 2, yes, no, 0, no) \ 4485 SC(130, 36, 34, 3, yes, no, 0, no) \ 4486 SC(131, 36, 34, 4, yes, no, 0, no) \ 4487 \ 4488 SC(132, 37, 35, 1, yes, no, 0, no) \ 4489 SC(133, 37, 35, 2, yes, no, 0, no) \ 4490 SC(134, 37, 35, 3, yes, no, 0, no) \ 4491 SC(135, 37, 35, 4, yes, no, 0, no) \ 4492 \ 4493 SC(136, 38, 36, 1, yes, no, 0, no) \ 4494 SC(137, 38, 36, 2, yes, no, 0, no) \ 4495 SC(138, 38, 36, 3, yes, no, 0, no) \ 4496 SC(139, 38, 36, 4, yes, no, 0, no) \ 4497 \ 4498 SC(140, 39, 37, 1, yes, no, 0, no) \ 4499 SC(141, 39, 37, 2, yes, no, 0, no) \ 4500 SC(142, 39, 37, 3, yes, no, 0, no) \ 4501 SC(143, 39, 37, 4, yes, no, 0, no) \ 4502 \ 4503 SC(144, 40, 38, 1, yes, no, 0, no) \ 4504 SC(145, 40, 38, 2, yes, no, 0, no) \ 4505 SC(146, 40, 38, 3, yes, no, 0, no) \ 4506 SC(147, 40, 38, 4, yes, no, 0, no) \ 4507 \ 4508 SC(148, 41, 39, 1, yes, no, 0, no) \ 4509 SC(149, 41, 39, 2, yes, no, 0, no) \ 4510 SC(150, 41, 39, 3, yes, no, 0, no) \ 4511 SC(151, 41, 39, 4, yes, no, 0, no) \ 4512 \ 4513 SC(152, 42, 40, 1, yes, no, 0, no) \ 4514 SC(153, 42, 40, 2, yes, no, 0, no) \ 4515 SC(154, 42, 40, 3, yes, no, 0, no) \ 4516 SC(155, 42, 40, 4, yes, no, 0, no) \ 4517 \ 4518 SC(156, 43, 41, 1, yes, no, 0, no) \ 4519 SC(157, 43, 41, 2, yes, no, 0, no) \ 4520 SC(158, 43, 41, 3, yes, no, 0, no) \ 4521 SC(159, 43, 41, 4, yes, no, 0, no) \ 4522 \ 4523 SC(160, 44, 42, 1, yes, no, 0, no) \ 4524 SC(161, 44, 42, 2, yes, no, 0, no) \ 4525 SC(162, 44, 42, 3, yes, no, 0, no) \ 4526 SC(163, 44, 42, 4, yes, no, 0, no) \ 4527 \ 4528 SC(164, 45, 43, 1, yes, no, 0, no) \ 4529 SC(165, 45, 43, 2, yes, no, 0, no) \ 4530 SC(166, 45, 43, 3, yes, no, 0, no) \ 4531 SC(167, 45, 43, 4, yes, no, 0, no) \ 4532 \ 4533 SC(168, 46, 44, 1, yes, no, 0, no) \ 4534 SC(169, 46, 44, 2, yes, no, 0, no) \ 4535 SC(170, 46, 44, 3, yes, no, 0, no) \ 4536 SC(171, 46, 44, 4, yes, no, 0, no) \ 4537 \ 4538 SC(172, 47, 45, 1, yes, no, 0, no) \ 4539 SC(173, 47, 45, 2, yes, no, 0, no) \ 4540 SC(174, 47, 45, 3, yes, no, 0, no) \ 4541 SC(175, 47, 45, 4, yes, no, 0, no) \ 4542 \ 4543 SC(176, 48, 46, 1, yes, no, 0, no) \ 4544 SC(177, 48, 46, 2, yes, no, 0, no) \ 4545 SC(178, 48, 46, 3, yes, no, 0, no) \ 4546 SC(179, 48, 46, 4, yes, no, 0, no) \ 4547 \ 4548 SC(180, 49, 47, 1, yes, no, 0, no) \ 4549 SC(181, 49, 47, 2, yes, no, 0, no) \ 4550 SC(182, 49, 47, 3, yes, no, 0, no) \ 4551 SC(183, 49, 47, 4, yes, no, 0, no) \ 4552 \ 4553 SC(184, 50, 48, 1, yes, no, 0, no) \ 4554 SC(185, 50, 48, 2, yes, no, 0, no) \ 4555 SC(186, 50, 48, 3, yes, no, 0, no) \ 4556 SC(187, 50, 48, 4, yes, no, 0, no) \ 4557 \ 4558 SC(188, 51, 49, 1, yes, no, 0, no) \ 4559 SC(189, 51, 49, 2, yes, no, 0, no) \ 4560 SC(190, 51, 49, 3, yes, no, 0, no) \ 4561 SC(191, 51, 49, 4, yes, no, 0, no) \ 4562 \ 4563 SC(192, 52, 50, 1, yes, no, 0, no) \ 4564 SC(193, 52, 50, 2, yes, no, 0, no) \ 4565 SC(194, 52, 50, 3, yes, no, 0, no) \ 4566 SC(195, 52, 50, 4, yes, no, 0, no) \ 4567 \ 4568 SC(196, 53, 51, 1, yes, no, 0, no) \ 4569 SC(197, 53, 51, 2, yes, no, 0, no) \ 4570 SC(198, 53, 51, 3, yes, no, 0, no) \ 4571 SC(199, 53, 51, 4, yes, no, 0, no) \ 4572 \ 4573 SC(200, 54, 52, 1, yes, no, 0, no) \ 4574 SC(201, 54, 52, 2, yes, no, 0, no) \ 4575 SC(202, 54, 52, 3, yes, no, 0, no) \ 4576 SC(203, 54, 52, 4, yes, no, 0, no) \ 4577 \ 4578 SC(204, 55, 53, 1, yes, no, 0, no) \ 4579 SC(205, 55, 53, 2, yes, no, 0, no) \ 4580 SC(206, 55, 53, 3, yes, no, 0, no) \ 4581 SC(207, 55, 53, 4, yes, no, 0, no) \ 4582 \ 4583 SC(208, 56, 54, 1, yes, no, 0, no) \ 4584 SC(209, 56, 54, 2, yes, no, 0, no) \ 4585 SC(210, 56, 54, 3, yes, no, 0, no) \ 4586 SC(211, 56, 54, 4, yes, no, 0, no) \ 4587 \ 4588 SC(212, 57, 55, 1, yes, no, 0, no) \ 4589 SC(213, 57, 55, 2, yes, no, 0, no) \ 4590 SC(214, 57, 55, 3, yes, no, 0, no) \ 4591 SC(215, 57, 55, 4, yes, no, 0, no) \ 4592 \ 4593 SC(216, 58, 56, 1, yes, no, 0, no) \ 4594 SC(217, 58, 56, 2, yes, no, 0, no) \ 4595 SC(218, 58, 56, 3, yes, no, 0, no) \ 4596 SC(219, 58, 56, 4, yes, no, 0, no) \ 4597 \ 4598 SC(220, 59, 57, 1, yes, no, 0, no) \ 4599 SC(221, 59, 57, 2, yes, no, 0, no) \ 4600 SC(222, 59, 57, 3, yes, no, 0, no) \ 4601 SC(223, 59, 57, 4, yes, no, 0, no) \ 4602 \ 4603 SC(224, 60, 58, 1, yes, no, 0, no) \ 4604 SC(225, 60, 58, 2, yes, no, 0, no) \ 4605 SC(226, 60, 58, 3, yes, no, 0, no) \ 4606 SC(227, 60, 58, 4, yes, no, 0, no) \ 4607 \ 4608 SC(228, 61, 59, 1, yes, no, 0, no) \ 4609 SC(229, 61, 59, 2, yes, no, 0, no) \ 4610 SC(230, 61, 59, 3, yes, no, 0, no) \ 4611 SC(231, 61, 59, 4, yes, no, 0, no) \ 4612 \ 4613 SC(232, 62, 60, 1, yes, no, 0, no) \ 4614 SC(233, 62, 60, 2, yes, no, 0, no) \ 4615 SC(234, 62, 60, 3, yes, no, 0, no) \ 4616 4617 #define SIZE_CLASSES_DEFINED 4618 #define NTBINS 0 4619 #define NLBINS 32 4620 #define NBINS 35 4621 #define NSIZES 235 4622 #define LG_CEIL_NSIZES 8 4623 #define NPSIZES 203 4624 #define LG_TINY_MAXCLASS "NA" 4625 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 4626 #define SMALL_MAXCLASS ((((size_t)1) << 12) + (((size_t)3) << 10)) 4627 #define LG_LARGE_MINCLASS 13 4628 #define LARGE_MINCLASS (ZU(1) << LG_LARGE_MINCLASS) 4629 #define LARGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 4630 #endif 4631 4632 #ifndef SIZE_CLASSES_DEFINED 4633 # error "No size class definitions match configuration" 4634 #endif 4635 #undef SIZE_CLASSES_DEFINED 4636 /* 4637 * The size2index_tab lookup table uses uint8_t to encode each bin index, so we 4638 * cannot support more than 256 small size classes. 4639 */ 4640 #if (NBINS > 256) 4641 # error "Too many small size classes" 4642 #endif 4643 4644 #endif /* JEMALLOC_INTERNAL_SIZE_CLASSES_H */ 4645