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