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