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