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 11 * SC(index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup) 12 * tuples. 13 * index: Size class index. 14 * lg_grp: Lg group base size (no deltas added). 15 * lg_delta: Lg delta to previous size class. 16 * ndelta: Delta multiplier. size == 1<<lg_grp + ndelta<<lg_delta 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 * LG_TINY_MAXCLASS: Lg of maximum tiny size class. 25 * LOOKUP_MAXCLASS: Maximum size class included in lookup table. 26 * SMALL_MAXCLASS: Maximum small size class. 27 * LG_LARGE_MINCLASS: Lg of minimum large size class. 28 * HUGE_MAXCLASS: Maximum (huge) size class. 29 */ 30 31 #define LG_SIZE_CLASS_GROUP 2 32 33 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 12) 34 #define SIZE_CLASSES \ 35 /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \ 36 SC( 0, 3, 3, 0, yes, 3) \ 37 SC( 1, 3, 3, 1, yes, 3) \ 38 SC( 2, 3, 3, 2, yes, 3) \ 39 SC( 3, 3, 3, 3, yes, 3) \ 40 \ 41 SC( 4, 5, 3, 1, yes, 3) \ 42 SC( 5, 5, 3, 2, yes, 3) \ 43 SC( 6, 5, 3, 3, yes, 3) \ 44 SC( 7, 5, 3, 4, yes, 3) \ 45 \ 46 SC( 8, 6, 4, 1, yes, 4) \ 47 SC( 9, 6, 4, 2, yes, 4) \ 48 SC( 10, 6, 4, 3, yes, 4) \ 49 SC( 11, 6, 4, 4, yes, 4) \ 50 \ 51 SC( 12, 7, 5, 1, yes, 5) \ 52 SC( 13, 7, 5, 2, yes, 5) \ 53 SC( 14, 7, 5, 3, yes, 5) \ 54 SC( 15, 7, 5, 4, yes, 5) \ 55 \ 56 SC( 16, 8, 6, 1, yes, 6) \ 57 SC( 17, 8, 6, 2, yes, 6) \ 58 SC( 18, 8, 6, 3, yes, 6) \ 59 SC( 19, 8, 6, 4, yes, 6) \ 60 \ 61 SC( 20, 9, 7, 1, yes, 7) \ 62 SC( 21, 9, 7, 2, yes, 7) \ 63 SC( 22, 9, 7, 3, yes, 7) \ 64 SC( 23, 9, 7, 4, yes, 7) \ 65 \ 66 SC( 24, 10, 8, 1, yes, 8) \ 67 SC( 25, 10, 8, 2, yes, 8) \ 68 SC( 26, 10, 8, 3, yes, 8) \ 69 SC( 27, 10, 8, 4, yes, 8) \ 70 \ 71 SC( 28, 11, 9, 1, yes, 9) \ 72 SC( 29, 11, 9, 2, yes, 9) \ 73 SC( 30, 11, 9, 3, yes, 9) \ 74 SC( 31, 11, 9, 4, yes, 9) \ 75 \ 76 SC( 32, 12, 10, 1, yes, no) \ 77 SC( 33, 12, 10, 2, yes, no) \ 78 SC( 34, 12, 10, 3, yes, no) \ 79 SC( 35, 12, 10, 4, yes, no) \ 80 \ 81 SC( 36, 13, 11, 1, yes, no) \ 82 SC( 37, 13, 11, 2, yes, no) \ 83 SC( 38, 13, 11, 3, yes, no) \ 84 SC( 39, 13, 11, 4, no, no) \ 85 \ 86 SC( 40, 14, 12, 1, no, no) \ 87 SC( 41, 14, 12, 2, no, no) \ 88 SC( 42, 14, 12, 3, no, no) \ 89 SC( 43, 14, 12, 4, no, no) \ 90 \ 91 SC( 44, 15, 13, 1, no, no) \ 92 SC( 45, 15, 13, 2, no, no) \ 93 SC( 46, 15, 13, 3, no, no) \ 94 SC( 47, 15, 13, 4, no, no) \ 95 \ 96 SC( 48, 16, 14, 1, no, no) \ 97 SC( 49, 16, 14, 2, no, no) \ 98 SC( 50, 16, 14, 3, no, no) \ 99 SC( 51, 16, 14, 4, no, no) \ 100 \ 101 SC( 52, 17, 15, 1, no, no) \ 102 SC( 53, 17, 15, 2, no, no) \ 103 SC( 54, 17, 15, 3, no, no) \ 104 SC( 55, 17, 15, 4, no, no) \ 105 \ 106 SC( 56, 18, 16, 1, no, no) \ 107 SC( 57, 18, 16, 2, no, no) \ 108 SC( 58, 18, 16, 3, no, no) \ 109 SC( 59, 18, 16, 4, no, no) \ 110 \ 111 SC( 60, 19, 17, 1, no, no) \ 112 SC( 61, 19, 17, 2, no, no) \ 113 SC( 62, 19, 17, 3, no, no) \ 114 SC( 63, 19, 17, 4, no, no) \ 115 \ 116 SC( 64, 20, 18, 1, no, no) \ 117 SC( 65, 20, 18, 2, no, no) \ 118 SC( 66, 20, 18, 3, no, no) \ 119 SC( 67, 20, 18, 4, no, no) \ 120 \ 121 SC( 68, 21, 19, 1, no, no) \ 122 SC( 69, 21, 19, 2, no, no) \ 123 SC( 70, 21, 19, 3, no, no) \ 124 SC( 71, 21, 19, 4, no, no) \ 125 \ 126 SC( 72, 22, 20, 1, no, no) \ 127 SC( 73, 22, 20, 2, no, no) \ 128 SC( 74, 22, 20, 3, no, no) \ 129 SC( 75, 22, 20, 4, no, no) \ 130 \ 131 SC( 76, 23, 21, 1, no, no) \ 132 SC( 77, 23, 21, 2, no, no) \ 133 SC( 78, 23, 21, 3, no, no) \ 134 SC( 79, 23, 21, 4, no, no) \ 135 \ 136 SC( 80, 24, 22, 1, no, no) \ 137 SC( 81, 24, 22, 2, no, no) \ 138 SC( 82, 24, 22, 3, no, no) \ 139 SC( 83, 24, 22, 4, no, no) \ 140 \ 141 SC( 84, 25, 23, 1, no, no) \ 142 SC( 85, 25, 23, 2, no, no) \ 143 SC( 86, 25, 23, 3, no, no) \ 144 SC( 87, 25, 23, 4, no, no) \ 145 \ 146 SC( 88, 26, 24, 1, no, no) \ 147 SC( 89, 26, 24, 2, no, no) \ 148 SC( 90, 26, 24, 3, no, no) \ 149 SC( 91, 26, 24, 4, no, no) \ 150 \ 151 SC( 92, 27, 25, 1, no, no) \ 152 SC( 93, 27, 25, 2, no, no) \ 153 SC( 94, 27, 25, 3, no, no) \ 154 SC( 95, 27, 25, 4, no, no) \ 155 \ 156 SC( 96, 28, 26, 1, no, no) \ 157 SC( 97, 28, 26, 2, no, no) \ 158 SC( 98, 28, 26, 3, no, no) \ 159 SC( 99, 28, 26, 4, no, no) \ 160 \ 161 SC(100, 29, 27, 1, no, no) \ 162 SC(101, 29, 27, 2, no, no) \ 163 SC(102, 29, 27, 3, no, no) \ 164 SC(103, 29, 27, 4, no, no) \ 165 \ 166 SC(104, 30, 28, 1, no, no) \ 167 SC(105, 30, 28, 2, no, no) \ 168 SC(106, 30, 28, 3, no, no) \ 169 170 #define SIZE_CLASSES_DEFINED 171 #define NTBINS 0 172 #define NLBINS 32 173 #define NBINS 39 174 #define NSIZES 107 175 #define LG_TINY_MAXCLASS "NA" 176 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 177 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) 178 #define LG_LARGE_MINCLASS 14 179 #define HUGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 180 #endif 181 182 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 12) 183 #define SIZE_CLASSES \ 184 /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \ 185 SC( 0, 3, 3, 0, yes, 3) \ 186 \ 187 SC( 1, 3, 3, 1, yes, 3) \ 188 SC( 2, 4, 4, 1, yes, 4) \ 189 SC( 3, 4, 4, 2, yes, 4) \ 190 SC( 4, 4, 4, 3, yes, 4) \ 191 \ 192 SC( 5, 6, 4, 1, yes, 4) \ 193 SC( 6, 6, 4, 2, yes, 4) \ 194 SC( 7, 6, 4, 3, yes, 4) \ 195 SC( 8, 6, 4, 4, yes, 4) \ 196 \ 197 SC( 9, 7, 5, 1, yes, 5) \ 198 SC( 10, 7, 5, 2, yes, 5) \ 199 SC( 11, 7, 5, 3, yes, 5) \ 200 SC( 12, 7, 5, 4, yes, 5) \ 201 \ 202 SC( 13, 8, 6, 1, yes, 6) \ 203 SC( 14, 8, 6, 2, yes, 6) \ 204 SC( 15, 8, 6, 3, yes, 6) \ 205 SC( 16, 8, 6, 4, yes, 6) \ 206 \ 207 SC( 17, 9, 7, 1, yes, 7) \ 208 SC( 18, 9, 7, 2, yes, 7) \ 209 SC( 19, 9, 7, 3, yes, 7) \ 210 SC( 20, 9, 7, 4, yes, 7) \ 211 \ 212 SC( 21, 10, 8, 1, yes, 8) \ 213 SC( 22, 10, 8, 2, yes, 8) \ 214 SC( 23, 10, 8, 3, yes, 8) \ 215 SC( 24, 10, 8, 4, yes, 8) \ 216 \ 217 SC( 25, 11, 9, 1, yes, 9) \ 218 SC( 26, 11, 9, 2, yes, 9) \ 219 SC( 27, 11, 9, 3, yes, 9) \ 220 SC( 28, 11, 9, 4, yes, 9) \ 221 \ 222 SC( 29, 12, 10, 1, yes, no) \ 223 SC( 30, 12, 10, 2, yes, no) \ 224 SC( 31, 12, 10, 3, yes, no) \ 225 SC( 32, 12, 10, 4, yes, no) \ 226 \ 227 SC( 33, 13, 11, 1, yes, no) \ 228 SC( 34, 13, 11, 2, yes, no) \ 229 SC( 35, 13, 11, 3, yes, no) \ 230 SC( 36, 13, 11, 4, no, no) \ 231 \ 232 SC( 37, 14, 12, 1, no, no) \ 233 SC( 38, 14, 12, 2, no, no) \ 234 SC( 39, 14, 12, 3, no, no) \ 235 SC( 40, 14, 12, 4, no, no) \ 236 \ 237 SC( 41, 15, 13, 1, no, no) \ 238 SC( 42, 15, 13, 2, no, no) \ 239 SC( 43, 15, 13, 3, no, no) \ 240 SC( 44, 15, 13, 4, no, no) \ 241 \ 242 SC( 45, 16, 14, 1, no, no) \ 243 SC( 46, 16, 14, 2, no, no) \ 244 SC( 47, 16, 14, 3, no, no) \ 245 SC( 48, 16, 14, 4, no, no) \ 246 \ 247 SC( 49, 17, 15, 1, no, no) \ 248 SC( 50, 17, 15, 2, no, no) \ 249 SC( 51, 17, 15, 3, no, no) \ 250 SC( 52, 17, 15, 4, no, no) \ 251 \ 252 SC( 53, 18, 16, 1, no, no) \ 253 SC( 54, 18, 16, 2, no, no) \ 254 SC( 55, 18, 16, 3, no, no) \ 255 SC( 56, 18, 16, 4, no, no) \ 256 \ 257 SC( 57, 19, 17, 1, no, no) \ 258 SC( 58, 19, 17, 2, no, no) \ 259 SC( 59, 19, 17, 3, no, no) \ 260 SC( 60, 19, 17, 4, no, no) \ 261 \ 262 SC( 61, 20, 18, 1, no, no) \ 263 SC( 62, 20, 18, 2, no, no) \ 264 SC( 63, 20, 18, 3, no, no) \ 265 SC( 64, 20, 18, 4, no, no) \ 266 \ 267 SC( 65, 21, 19, 1, no, no) \ 268 SC( 66, 21, 19, 2, no, no) \ 269 SC( 67, 21, 19, 3, no, no) \ 270 SC( 68, 21, 19, 4, no, no) \ 271 \ 272 SC( 69, 22, 20, 1, no, no) \ 273 SC( 70, 22, 20, 2, no, no) \ 274 SC( 71, 22, 20, 3, no, no) \ 275 SC( 72, 22, 20, 4, no, no) \ 276 \ 277 SC( 73, 23, 21, 1, no, no) \ 278 SC( 74, 23, 21, 2, no, no) \ 279 SC( 75, 23, 21, 3, no, no) \ 280 SC( 76, 23, 21, 4, no, no) \ 281 \ 282 SC( 77, 24, 22, 1, no, no) \ 283 SC( 78, 24, 22, 2, no, no) \ 284 SC( 79, 24, 22, 3, no, no) \ 285 SC( 80, 24, 22, 4, no, no) \ 286 \ 287 SC( 81, 25, 23, 1, no, no) \ 288 SC( 82, 25, 23, 2, no, no) \ 289 SC( 83, 25, 23, 3, no, no) \ 290 SC( 84, 25, 23, 4, no, no) \ 291 \ 292 SC( 85, 26, 24, 1, no, no) \ 293 SC( 86, 26, 24, 2, no, no) \ 294 SC( 87, 26, 24, 3, no, no) \ 295 SC( 88, 26, 24, 4, no, no) \ 296 \ 297 SC( 89, 27, 25, 1, no, no) \ 298 SC( 90, 27, 25, 2, no, no) \ 299 SC( 91, 27, 25, 3, no, no) \ 300 SC( 92, 27, 25, 4, no, no) \ 301 \ 302 SC( 93, 28, 26, 1, no, no) \ 303 SC( 94, 28, 26, 2, no, no) \ 304 SC( 95, 28, 26, 3, no, no) \ 305 SC( 96, 28, 26, 4, no, no) \ 306 \ 307 SC( 97, 29, 27, 1, no, no) \ 308 SC( 98, 29, 27, 2, no, no) \ 309 SC( 99, 29, 27, 3, no, no) \ 310 SC(100, 29, 27, 4, no, no) \ 311 \ 312 SC(101, 30, 28, 1, no, no) \ 313 SC(102, 30, 28, 2, no, no) \ 314 SC(103, 30, 28, 3, no, no) \ 315 316 #define SIZE_CLASSES_DEFINED 317 #define NTBINS 1 318 #define NLBINS 29 319 #define NBINS 36 320 #define NSIZES 104 321 #define LG_TINY_MAXCLASS 3 322 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 323 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) 324 #define LG_LARGE_MINCLASS 14 325 #define HUGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 326 #endif 327 328 #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 12) 329 #define SIZE_CLASSES \ 330 /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \ 331 SC( 0, 4, 4, 0, yes, 4) \ 332 SC( 1, 4, 4, 1, yes, 4) \ 333 SC( 2, 4, 4, 2, yes, 4) \ 334 SC( 3, 4, 4, 3, yes, 4) \ 335 \ 336 SC( 4, 6, 4, 1, yes, 4) \ 337 SC( 5, 6, 4, 2, yes, 4) \ 338 SC( 6, 6, 4, 3, yes, 4) \ 339 SC( 7, 6, 4, 4, yes, 4) \ 340 \ 341 SC( 8, 7, 5, 1, yes, 5) \ 342 SC( 9, 7, 5, 2, yes, 5) \ 343 SC( 10, 7, 5, 3, yes, 5) \ 344 SC( 11, 7, 5, 4, yes, 5) \ 345 \ 346 SC( 12, 8, 6, 1, yes, 6) \ 347 SC( 13, 8, 6, 2, yes, 6) \ 348 SC( 14, 8, 6, 3, yes, 6) \ 349 SC( 15, 8, 6, 4, yes, 6) \ 350 \ 351 SC( 16, 9, 7, 1, yes, 7) \ 352 SC( 17, 9, 7, 2, yes, 7) \ 353 SC( 18, 9, 7, 3, yes, 7) \ 354 SC( 19, 9, 7, 4, yes, 7) \ 355 \ 356 SC( 20, 10, 8, 1, yes, 8) \ 357 SC( 21, 10, 8, 2, yes, 8) \ 358 SC( 22, 10, 8, 3, yes, 8) \ 359 SC( 23, 10, 8, 4, yes, 8) \ 360 \ 361 SC( 24, 11, 9, 1, yes, 9) \ 362 SC( 25, 11, 9, 2, yes, 9) \ 363 SC( 26, 11, 9, 3, yes, 9) \ 364 SC( 27, 11, 9, 4, yes, 9) \ 365 \ 366 SC( 28, 12, 10, 1, yes, no) \ 367 SC( 29, 12, 10, 2, yes, no) \ 368 SC( 30, 12, 10, 3, yes, no) \ 369 SC( 31, 12, 10, 4, yes, no) \ 370 \ 371 SC( 32, 13, 11, 1, yes, no) \ 372 SC( 33, 13, 11, 2, yes, no) \ 373 SC( 34, 13, 11, 3, yes, no) \ 374 SC( 35, 13, 11, 4, no, no) \ 375 \ 376 SC( 36, 14, 12, 1, no, no) \ 377 SC( 37, 14, 12, 2, no, no) \ 378 SC( 38, 14, 12, 3, no, no) \ 379 SC( 39, 14, 12, 4, no, no) \ 380 \ 381 SC( 40, 15, 13, 1, no, no) \ 382 SC( 41, 15, 13, 2, no, no) \ 383 SC( 42, 15, 13, 3, no, no) \ 384 SC( 43, 15, 13, 4, no, no) \ 385 \ 386 SC( 44, 16, 14, 1, no, no) \ 387 SC( 45, 16, 14, 2, no, no) \ 388 SC( 46, 16, 14, 3, no, no) \ 389 SC( 47, 16, 14, 4, no, no) \ 390 \ 391 SC( 48, 17, 15, 1, no, no) \ 392 SC( 49, 17, 15, 2, no, no) \ 393 SC( 50, 17, 15, 3, no, no) \ 394 SC( 51, 17, 15, 4, no, no) \ 395 \ 396 SC( 52, 18, 16, 1, no, no) \ 397 SC( 53, 18, 16, 2, no, no) \ 398 SC( 54, 18, 16, 3, no, no) \ 399 SC( 55, 18, 16, 4, no, no) \ 400 \ 401 SC( 56, 19, 17, 1, no, no) \ 402 SC( 57, 19, 17, 2, no, no) \ 403 SC( 58, 19, 17, 3, no, no) \ 404 SC( 59, 19, 17, 4, no, no) \ 405 \ 406 SC( 60, 20, 18, 1, no, no) \ 407 SC( 61, 20, 18, 2, no, no) \ 408 SC( 62, 20, 18, 3, no, no) \ 409 SC( 63, 20, 18, 4, no, no) \ 410 \ 411 SC( 64, 21, 19, 1, no, no) \ 412 SC( 65, 21, 19, 2, no, no) \ 413 SC( 66, 21, 19, 3, no, no) \ 414 SC( 67, 21, 19, 4, no, no) \ 415 \ 416 SC( 68, 22, 20, 1, no, no) \ 417 SC( 69, 22, 20, 2, no, no) \ 418 SC( 70, 22, 20, 3, no, no) \ 419 SC( 71, 22, 20, 4, no, no) \ 420 \ 421 SC( 72, 23, 21, 1, no, no) \ 422 SC( 73, 23, 21, 2, no, no) \ 423 SC( 74, 23, 21, 3, no, no) \ 424 SC( 75, 23, 21, 4, no, no) \ 425 \ 426 SC( 76, 24, 22, 1, no, no) \ 427 SC( 77, 24, 22, 2, no, no) \ 428 SC( 78, 24, 22, 3, no, no) \ 429 SC( 79, 24, 22, 4, no, no) \ 430 \ 431 SC( 80, 25, 23, 1, no, no) \ 432 SC( 81, 25, 23, 2, no, no) \ 433 SC( 82, 25, 23, 3, no, no) \ 434 SC( 83, 25, 23, 4, no, no) \ 435 \ 436 SC( 84, 26, 24, 1, no, no) \ 437 SC( 85, 26, 24, 2, no, no) \ 438 SC( 86, 26, 24, 3, no, no) \ 439 SC( 87, 26, 24, 4, no, no) \ 440 \ 441 SC( 88, 27, 25, 1, no, no) \ 442 SC( 89, 27, 25, 2, no, no) \ 443 SC( 90, 27, 25, 3, no, no) \ 444 SC( 91, 27, 25, 4, no, no) \ 445 \ 446 SC( 92, 28, 26, 1, no, no) \ 447 SC( 93, 28, 26, 2, no, no) \ 448 SC( 94, 28, 26, 3, no, no) \ 449 SC( 95, 28, 26, 4, no, no) \ 450 \ 451 SC( 96, 29, 27, 1, no, no) \ 452 SC( 97, 29, 27, 2, no, no) \ 453 SC( 98, 29, 27, 3, no, no) \ 454 SC( 99, 29, 27, 4, no, no) \ 455 \ 456 SC(100, 30, 28, 1, no, no) \ 457 SC(101, 30, 28, 2, no, no) \ 458 SC(102, 30, 28, 3, no, no) \ 459 460 #define SIZE_CLASSES_DEFINED 461 #define NTBINS 0 462 #define NLBINS 28 463 #define NBINS 35 464 #define NSIZES 103 465 #define LG_TINY_MAXCLASS "NA" 466 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 467 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) 468 #define LG_LARGE_MINCLASS 14 469 #define HUGE_MAXCLASS ((((size_t)1) << 30) + (((size_t)3) << 28)) 470 #endif 471 472 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 12) 473 #define SIZE_CLASSES \ 474 /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \ 475 SC( 0, 3, 3, 0, yes, 3) \ 476 SC( 1, 3, 3, 1, yes, 3) \ 477 SC( 2, 3, 3, 2, yes, 3) \ 478 SC( 3, 3, 3, 3, yes, 3) \ 479 \ 480 SC( 4, 5, 3, 1, yes, 3) \ 481 SC( 5, 5, 3, 2, yes, 3) \ 482 SC( 6, 5, 3, 3, yes, 3) \ 483 SC( 7, 5, 3, 4, yes, 3) \ 484 \ 485 SC( 8, 6, 4, 1, yes, 4) \ 486 SC( 9, 6, 4, 2, yes, 4) \ 487 SC( 10, 6, 4, 3, yes, 4) \ 488 SC( 11, 6, 4, 4, yes, 4) \ 489 \ 490 SC( 12, 7, 5, 1, yes, 5) \ 491 SC( 13, 7, 5, 2, yes, 5) \ 492 SC( 14, 7, 5, 3, yes, 5) \ 493 SC( 15, 7, 5, 4, yes, 5) \ 494 \ 495 SC( 16, 8, 6, 1, yes, 6) \ 496 SC( 17, 8, 6, 2, yes, 6) \ 497 SC( 18, 8, 6, 3, yes, 6) \ 498 SC( 19, 8, 6, 4, yes, 6) \ 499 \ 500 SC( 20, 9, 7, 1, yes, 7) \ 501 SC( 21, 9, 7, 2, yes, 7) \ 502 SC( 22, 9, 7, 3, yes, 7) \ 503 SC( 23, 9, 7, 4, yes, 7) \ 504 \ 505 SC( 24, 10, 8, 1, yes, 8) \ 506 SC( 25, 10, 8, 2, yes, 8) \ 507 SC( 26, 10, 8, 3, yes, 8) \ 508 SC( 27, 10, 8, 4, yes, 8) \ 509 \ 510 SC( 28, 11, 9, 1, yes, 9) \ 511 SC( 29, 11, 9, 2, yes, 9) \ 512 SC( 30, 11, 9, 3, yes, 9) \ 513 SC( 31, 11, 9, 4, yes, 9) \ 514 \ 515 SC( 32, 12, 10, 1, yes, no) \ 516 SC( 33, 12, 10, 2, yes, no) \ 517 SC( 34, 12, 10, 3, yes, no) \ 518 SC( 35, 12, 10, 4, yes, no) \ 519 \ 520 SC( 36, 13, 11, 1, yes, no) \ 521 SC( 37, 13, 11, 2, yes, no) \ 522 SC( 38, 13, 11, 3, yes, no) \ 523 SC( 39, 13, 11, 4, no, no) \ 524 \ 525 SC( 40, 14, 12, 1, no, no) \ 526 SC( 41, 14, 12, 2, no, no) \ 527 SC( 42, 14, 12, 3, no, no) \ 528 SC( 43, 14, 12, 4, no, no) \ 529 \ 530 SC( 44, 15, 13, 1, no, no) \ 531 SC( 45, 15, 13, 2, no, no) \ 532 SC( 46, 15, 13, 3, no, no) \ 533 SC( 47, 15, 13, 4, no, no) \ 534 \ 535 SC( 48, 16, 14, 1, no, no) \ 536 SC( 49, 16, 14, 2, no, no) \ 537 SC( 50, 16, 14, 3, no, no) \ 538 SC( 51, 16, 14, 4, no, no) \ 539 \ 540 SC( 52, 17, 15, 1, no, no) \ 541 SC( 53, 17, 15, 2, no, no) \ 542 SC( 54, 17, 15, 3, no, no) \ 543 SC( 55, 17, 15, 4, no, no) \ 544 \ 545 SC( 56, 18, 16, 1, no, no) \ 546 SC( 57, 18, 16, 2, no, no) \ 547 SC( 58, 18, 16, 3, no, no) \ 548 SC( 59, 18, 16, 4, no, no) \ 549 \ 550 SC( 60, 19, 17, 1, no, no) \ 551 SC( 61, 19, 17, 2, no, no) \ 552 SC( 62, 19, 17, 3, no, no) \ 553 SC( 63, 19, 17, 4, no, no) \ 554 \ 555 SC( 64, 20, 18, 1, no, no) \ 556 SC( 65, 20, 18, 2, no, no) \ 557 SC( 66, 20, 18, 3, no, no) \ 558 SC( 67, 20, 18, 4, no, no) \ 559 \ 560 SC( 68, 21, 19, 1, no, no) \ 561 SC( 69, 21, 19, 2, no, no) \ 562 SC( 70, 21, 19, 3, no, no) \ 563 SC( 71, 21, 19, 4, no, no) \ 564 \ 565 SC( 72, 22, 20, 1, no, no) \ 566 SC( 73, 22, 20, 2, no, no) \ 567 SC( 74, 22, 20, 3, no, no) \ 568 SC( 75, 22, 20, 4, no, no) \ 569 \ 570 SC( 76, 23, 21, 1, no, no) \ 571 SC( 77, 23, 21, 2, no, no) \ 572 SC( 78, 23, 21, 3, no, no) \ 573 SC( 79, 23, 21, 4, no, no) \ 574 \ 575 SC( 80, 24, 22, 1, no, no) \ 576 SC( 81, 24, 22, 2, no, no) \ 577 SC( 82, 24, 22, 3, no, no) \ 578 SC( 83, 24, 22, 4, no, no) \ 579 \ 580 SC( 84, 25, 23, 1, no, no) \ 581 SC( 85, 25, 23, 2, no, no) \ 582 SC( 86, 25, 23, 3, no, no) \ 583 SC( 87, 25, 23, 4, no, no) \ 584 \ 585 SC( 88, 26, 24, 1, no, no) \ 586 SC( 89, 26, 24, 2, no, no) \ 587 SC( 90, 26, 24, 3, no, no) \ 588 SC( 91, 26, 24, 4, no, no) \ 589 \ 590 SC( 92, 27, 25, 1, no, no) \ 591 SC( 93, 27, 25, 2, no, no) \ 592 SC( 94, 27, 25, 3, no, no) \ 593 SC( 95, 27, 25, 4, no, no) \ 594 \ 595 SC( 96, 28, 26, 1, no, no) \ 596 SC( 97, 28, 26, 2, no, no) \ 597 SC( 98, 28, 26, 3, no, no) \ 598 SC( 99, 28, 26, 4, no, no) \ 599 \ 600 SC(100, 29, 27, 1, no, no) \ 601 SC(101, 29, 27, 2, no, no) \ 602 SC(102, 29, 27, 3, no, no) \ 603 SC(103, 29, 27, 4, no, no) \ 604 \ 605 SC(104, 30, 28, 1, no, no) \ 606 SC(105, 30, 28, 2, no, no) \ 607 SC(106, 30, 28, 3, no, no) \ 608 SC(107, 30, 28, 4, no, no) \ 609 \ 610 SC(108, 31, 29, 1, no, no) \ 611 SC(109, 31, 29, 2, no, no) \ 612 SC(110, 31, 29, 3, no, no) \ 613 SC(111, 31, 29, 4, no, no) \ 614 \ 615 SC(112, 32, 30, 1, no, no) \ 616 SC(113, 32, 30, 2, no, no) \ 617 SC(114, 32, 30, 3, no, no) \ 618 SC(115, 32, 30, 4, no, no) \ 619 \ 620 SC(116, 33, 31, 1, no, no) \ 621 SC(117, 33, 31, 2, no, no) \ 622 SC(118, 33, 31, 3, no, no) \ 623 SC(119, 33, 31, 4, no, no) \ 624 \ 625 SC(120, 34, 32, 1, no, no) \ 626 SC(121, 34, 32, 2, no, no) \ 627 SC(122, 34, 32, 3, no, no) \ 628 SC(123, 34, 32, 4, no, no) \ 629 \ 630 SC(124, 35, 33, 1, no, no) \ 631 SC(125, 35, 33, 2, no, no) \ 632 SC(126, 35, 33, 3, no, no) \ 633 SC(127, 35, 33, 4, no, no) \ 634 \ 635 SC(128, 36, 34, 1, no, no) \ 636 SC(129, 36, 34, 2, no, no) \ 637 SC(130, 36, 34, 3, no, no) \ 638 SC(131, 36, 34, 4, no, no) \ 639 \ 640 SC(132, 37, 35, 1, no, no) \ 641 SC(133, 37, 35, 2, no, no) \ 642 SC(134, 37, 35, 3, no, no) \ 643 SC(135, 37, 35, 4, no, no) \ 644 \ 645 SC(136, 38, 36, 1, no, no) \ 646 SC(137, 38, 36, 2, no, no) \ 647 SC(138, 38, 36, 3, no, no) \ 648 SC(139, 38, 36, 4, no, no) \ 649 \ 650 SC(140, 39, 37, 1, no, no) \ 651 SC(141, 39, 37, 2, no, no) \ 652 SC(142, 39, 37, 3, no, no) \ 653 SC(143, 39, 37, 4, no, no) \ 654 \ 655 SC(144, 40, 38, 1, no, no) \ 656 SC(145, 40, 38, 2, no, no) \ 657 SC(146, 40, 38, 3, no, no) \ 658 SC(147, 40, 38, 4, no, no) \ 659 \ 660 SC(148, 41, 39, 1, no, no) \ 661 SC(149, 41, 39, 2, no, no) \ 662 SC(150, 41, 39, 3, no, no) \ 663 SC(151, 41, 39, 4, no, no) \ 664 \ 665 SC(152, 42, 40, 1, no, no) \ 666 SC(153, 42, 40, 2, no, no) \ 667 SC(154, 42, 40, 3, no, no) \ 668 SC(155, 42, 40, 4, no, no) \ 669 \ 670 SC(156, 43, 41, 1, no, no) \ 671 SC(157, 43, 41, 2, no, no) \ 672 SC(158, 43, 41, 3, no, no) \ 673 SC(159, 43, 41, 4, no, no) \ 674 \ 675 SC(160, 44, 42, 1, no, no) \ 676 SC(161, 44, 42, 2, no, no) \ 677 SC(162, 44, 42, 3, no, no) \ 678 SC(163, 44, 42, 4, no, no) \ 679 \ 680 SC(164, 45, 43, 1, no, no) \ 681 SC(165, 45, 43, 2, no, no) \ 682 SC(166, 45, 43, 3, no, no) \ 683 SC(167, 45, 43, 4, no, no) \ 684 \ 685 SC(168, 46, 44, 1, no, no) \ 686 SC(169, 46, 44, 2, no, no) \ 687 SC(170, 46, 44, 3, no, no) \ 688 SC(171, 46, 44, 4, no, no) \ 689 \ 690 SC(172, 47, 45, 1, no, no) \ 691 SC(173, 47, 45, 2, no, no) \ 692 SC(174, 47, 45, 3, no, no) \ 693 SC(175, 47, 45, 4, no, no) \ 694 \ 695 SC(176, 48, 46, 1, no, no) \ 696 SC(177, 48, 46, 2, no, no) \ 697 SC(178, 48, 46, 3, no, no) \ 698 SC(179, 48, 46, 4, no, no) \ 699 \ 700 SC(180, 49, 47, 1, no, no) \ 701 SC(181, 49, 47, 2, no, no) \ 702 SC(182, 49, 47, 3, no, no) \ 703 SC(183, 49, 47, 4, no, no) \ 704 \ 705 SC(184, 50, 48, 1, no, no) \ 706 SC(185, 50, 48, 2, no, no) \ 707 SC(186, 50, 48, 3, no, no) \ 708 SC(187, 50, 48, 4, no, no) \ 709 \ 710 SC(188, 51, 49, 1, no, no) \ 711 SC(189, 51, 49, 2, no, no) \ 712 SC(190, 51, 49, 3, no, no) \ 713 SC(191, 51, 49, 4, no, no) \ 714 \ 715 SC(192, 52, 50, 1, no, no) \ 716 SC(193, 52, 50, 2, no, no) \ 717 SC(194, 52, 50, 3, no, no) \ 718 SC(195, 52, 50, 4, no, no) \ 719 \ 720 SC(196, 53, 51, 1, no, no) \ 721 SC(197, 53, 51, 2, no, no) \ 722 SC(198, 53, 51, 3, no, no) \ 723 SC(199, 53, 51, 4, no, no) \ 724 \ 725 SC(200, 54, 52, 1, no, no) \ 726 SC(201, 54, 52, 2, no, no) \ 727 SC(202, 54, 52, 3, no, no) \ 728 SC(203, 54, 52, 4, no, no) \ 729 \ 730 SC(204, 55, 53, 1, no, no) \ 731 SC(205, 55, 53, 2, no, no) \ 732 SC(206, 55, 53, 3, no, no) \ 733 SC(207, 55, 53, 4, no, no) \ 734 \ 735 SC(208, 56, 54, 1, no, no) \ 736 SC(209, 56, 54, 2, no, no) \ 737 SC(210, 56, 54, 3, no, no) \ 738 SC(211, 56, 54, 4, no, no) \ 739 \ 740 SC(212, 57, 55, 1, no, no) \ 741 SC(213, 57, 55, 2, no, no) \ 742 SC(214, 57, 55, 3, no, no) \ 743 SC(215, 57, 55, 4, no, no) \ 744 \ 745 SC(216, 58, 56, 1, no, no) \ 746 SC(217, 58, 56, 2, no, no) \ 747 SC(218, 58, 56, 3, no, no) \ 748 SC(219, 58, 56, 4, no, no) \ 749 \ 750 SC(220, 59, 57, 1, no, no) \ 751 SC(221, 59, 57, 2, no, no) \ 752 SC(222, 59, 57, 3, no, no) \ 753 SC(223, 59, 57, 4, no, no) \ 754 \ 755 SC(224, 60, 58, 1, no, no) \ 756 SC(225, 60, 58, 2, no, no) \ 757 SC(226, 60, 58, 3, no, no) \ 758 SC(227, 60, 58, 4, no, no) \ 759 \ 760 SC(228, 61, 59, 1, no, no) \ 761 SC(229, 61, 59, 2, no, no) \ 762 SC(230, 61, 59, 3, no, no) \ 763 SC(231, 61, 59, 4, no, no) \ 764 \ 765 SC(232, 62, 60, 1, no, no) \ 766 SC(233, 62, 60, 2, no, no) \ 767 SC(234, 62, 60, 3, no, no) \ 768 769 #define SIZE_CLASSES_DEFINED 770 #define NTBINS 0 771 #define NLBINS 32 772 #define NBINS 39 773 #define NSIZES 235 774 #define LG_TINY_MAXCLASS "NA" 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) << 62) + (((size_t)3) << 60)) 779 #endif 780 781 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 12) 782 #define SIZE_CLASSES \ 783 /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \ 784 SC( 0, 3, 3, 0, yes, 3) \ 785 \ 786 SC( 1, 3, 3, 1, yes, 3) \ 787 SC( 2, 4, 4, 1, yes, 4) \ 788 SC( 3, 4, 4, 2, yes, 4) \ 789 SC( 4, 4, 4, 3, yes, 4) \ 790 \ 791 SC( 5, 6, 4, 1, yes, 4) \ 792 SC( 6, 6, 4, 2, yes, 4) \ 793 SC( 7, 6, 4, 3, yes, 4) \ 794 SC( 8, 6, 4, 4, yes, 4) \ 795 \ 796 SC( 9, 7, 5, 1, yes, 5) \ 797 SC( 10, 7, 5, 2, yes, 5) \ 798 SC( 11, 7, 5, 3, yes, 5) \ 799 SC( 12, 7, 5, 4, yes, 5) \ 800 \ 801 SC( 13, 8, 6, 1, yes, 6) \ 802 SC( 14, 8, 6, 2, yes, 6) \ 803 SC( 15, 8, 6, 3, yes, 6) \ 804 SC( 16, 8, 6, 4, yes, 6) \ 805 \ 806 SC( 17, 9, 7, 1, yes, 7) \ 807 SC( 18, 9, 7, 2, yes, 7) \ 808 SC( 19, 9, 7, 3, yes, 7) \ 809 SC( 20, 9, 7, 4, yes, 7) \ 810 \ 811 SC( 21, 10, 8, 1, yes, 8) \ 812 SC( 22, 10, 8, 2, yes, 8) \ 813 SC( 23, 10, 8, 3, yes, 8) \ 814 SC( 24, 10, 8, 4, yes, 8) \ 815 \ 816 SC( 25, 11, 9, 1, yes, 9) \ 817 SC( 26, 11, 9, 2, yes, 9) \ 818 SC( 27, 11, 9, 3, yes, 9) \ 819 SC( 28, 11, 9, 4, yes, 9) \ 820 \ 821 SC( 29, 12, 10, 1, yes, no) \ 822 SC( 30, 12, 10, 2, yes, no) \ 823 SC( 31, 12, 10, 3, yes, no) \ 824 SC( 32, 12, 10, 4, yes, no) \ 825 \ 826 SC( 33, 13, 11, 1, yes, no) \ 827 SC( 34, 13, 11, 2, yes, no) \ 828 SC( 35, 13, 11, 3, yes, no) \ 829 SC( 36, 13, 11, 4, no, no) \ 830 \ 831 SC( 37, 14, 12, 1, no, no) \ 832 SC( 38, 14, 12, 2, no, no) \ 833 SC( 39, 14, 12, 3, no, no) \ 834 SC( 40, 14, 12, 4, no, no) \ 835 \ 836 SC( 41, 15, 13, 1, no, no) \ 837 SC( 42, 15, 13, 2, no, no) \ 838 SC( 43, 15, 13, 3, no, no) \ 839 SC( 44, 15, 13, 4, no, no) \ 840 \ 841 SC( 45, 16, 14, 1, no, no) \ 842 SC( 46, 16, 14, 2, no, no) \ 843 SC( 47, 16, 14, 3, no, no) \ 844 SC( 48, 16, 14, 4, no, no) \ 845 \ 846 SC( 49, 17, 15, 1, no, no) \ 847 SC( 50, 17, 15, 2, no, no) \ 848 SC( 51, 17, 15, 3, no, no) \ 849 SC( 52, 17, 15, 4, no, no) \ 850 \ 851 SC( 53, 18, 16, 1, no, no) \ 852 SC( 54, 18, 16, 2, no, no) \ 853 SC( 55, 18, 16, 3, no, no) \ 854 SC( 56, 18, 16, 4, no, no) \ 855 \ 856 SC( 57, 19, 17, 1, no, no) \ 857 SC( 58, 19, 17, 2, no, no) \ 858 SC( 59, 19, 17, 3, no, no) \ 859 SC( 60, 19, 17, 4, no, no) \ 860 \ 861 SC( 61, 20, 18, 1, no, no) \ 862 SC( 62, 20, 18, 2, no, no) \ 863 SC( 63, 20, 18, 3, no, no) \ 864 SC( 64, 20, 18, 4, no, no) \ 865 \ 866 SC( 65, 21, 19, 1, no, no) \ 867 SC( 66, 21, 19, 2, no, no) \ 868 SC( 67, 21, 19, 3, no, no) \ 869 SC( 68, 21, 19, 4, no, no) \ 870 \ 871 SC( 69, 22, 20, 1, no, no) \ 872 SC( 70, 22, 20, 2, no, no) \ 873 SC( 71, 22, 20, 3, no, no) \ 874 SC( 72, 22, 20, 4, no, no) \ 875 \ 876 SC( 73, 23, 21, 1, no, no) \ 877 SC( 74, 23, 21, 2, no, no) \ 878 SC( 75, 23, 21, 3, no, no) \ 879 SC( 76, 23, 21, 4, no, no) \ 880 \ 881 SC( 77, 24, 22, 1, no, no) \ 882 SC( 78, 24, 22, 2, no, no) \ 883 SC( 79, 24, 22, 3, no, no) \ 884 SC( 80, 24, 22, 4, no, no) \ 885 \ 886 SC( 81, 25, 23, 1, no, no) \ 887 SC( 82, 25, 23, 2, no, no) \ 888 SC( 83, 25, 23, 3, no, no) \ 889 SC( 84, 25, 23, 4, no, no) \ 890 \ 891 SC( 85, 26, 24, 1, no, no) \ 892 SC( 86, 26, 24, 2, no, no) \ 893 SC( 87, 26, 24, 3, no, no) \ 894 SC( 88, 26, 24, 4, no, no) \ 895 \ 896 SC( 89, 27, 25, 1, no, no) \ 897 SC( 90, 27, 25, 2, no, no) \ 898 SC( 91, 27, 25, 3, no, no) \ 899 SC( 92, 27, 25, 4, no, no) \ 900 \ 901 SC( 93, 28, 26, 1, no, no) \ 902 SC( 94, 28, 26, 2, no, no) \ 903 SC( 95, 28, 26, 3, no, no) \ 904 SC( 96, 28, 26, 4, no, no) \ 905 \ 906 SC( 97, 29, 27, 1, no, no) \ 907 SC( 98, 29, 27, 2, no, no) \ 908 SC( 99, 29, 27, 3, no, no) \ 909 SC(100, 29, 27, 4, no, no) \ 910 \ 911 SC(101, 30, 28, 1, no, no) \ 912 SC(102, 30, 28, 2, no, no) \ 913 SC(103, 30, 28, 3, no, no) \ 914 SC(104, 30, 28, 4, no, no) \ 915 \ 916 SC(105, 31, 29, 1, no, no) \ 917 SC(106, 31, 29, 2, no, no) \ 918 SC(107, 31, 29, 3, no, no) \ 919 SC(108, 31, 29, 4, no, no) \ 920 \ 921 SC(109, 32, 30, 1, no, no) \ 922 SC(110, 32, 30, 2, no, no) \ 923 SC(111, 32, 30, 3, no, no) \ 924 SC(112, 32, 30, 4, no, no) \ 925 \ 926 SC(113, 33, 31, 1, no, no) \ 927 SC(114, 33, 31, 2, no, no) \ 928 SC(115, 33, 31, 3, no, no) \ 929 SC(116, 33, 31, 4, no, no) \ 930 \ 931 SC(117, 34, 32, 1, no, no) \ 932 SC(118, 34, 32, 2, no, no) \ 933 SC(119, 34, 32, 3, no, no) \ 934 SC(120, 34, 32, 4, no, no) \ 935 \ 936 SC(121, 35, 33, 1, no, no) \ 937 SC(122, 35, 33, 2, no, no) \ 938 SC(123, 35, 33, 3, no, no) \ 939 SC(124, 35, 33, 4, no, no) \ 940 \ 941 SC(125, 36, 34, 1, no, no) \ 942 SC(126, 36, 34, 2, no, no) \ 943 SC(127, 36, 34, 3, no, no) \ 944 SC(128, 36, 34, 4, no, no) \ 945 \ 946 SC(129, 37, 35, 1, no, no) \ 947 SC(130, 37, 35, 2, no, no) \ 948 SC(131, 37, 35, 3, no, no) \ 949 SC(132, 37, 35, 4, no, no) \ 950 \ 951 SC(133, 38, 36, 1, no, no) \ 952 SC(134, 38, 36, 2, no, no) \ 953 SC(135, 38, 36, 3, no, no) \ 954 SC(136, 38, 36, 4, no, no) \ 955 \ 956 SC(137, 39, 37, 1, no, no) \ 957 SC(138, 39, 37, 2, no, no) \ 958 SC(139, 39, 37, 3, no, no) \ 959 SC(140, 39, 37, 4, no, no) \ 960 \ 961 SC(141, 40, 38, 1, no, no) \ 962 SC(142, 40, 38, 2, no, no) \ 963 SC(143, 40, 38, 3, no, no) \ 964 SC(144, 40, 38, 4, no, no) \ 965 \ 966 SC(145, 41, 39, 1, no, no) \ 967 SC(146, 41, 39, 2, no, no) \ 968 SC(147, 41, 39, 3, no, no) \ 969 SC(148, 41, 39, 4, no, no) \ 970 \ 971 SC(149, 42, 40, 1, no, no) \ 972 SC(150, 42, 40, 2, no, no) \ 973 SC(151, 42, 40, 3, no, no) \ 974 SC(152, 42, 40, 4, no, no) \ 975 \ 976 SC(153, 43, 41, 1, no, no) \ 977 SC(154, 43, 41, 2, no, no) \ 978 SC(155, 43, 41, 3, no, no) \ 979 SC(156, 43, 41, 4, no, no) \ 980 \ 981 SC(157, 44, 42, 1, no, no) \ 982 SC(158, 44, 42, 2, no, no) \ 983 SC(159, 44, 42, 3, no, no) \ 984 SC(160, 44, 42, 4, no, no) \ 985 \ 986 SC(161, 45, 43, 1, no, no) \ 987 SC(162, 45, 43, 2, no, no) \ 988 SC(163, 45, 43, 3, no, no) \ 989 SC(164, 45, 43, 4, no, no) \ 990 \ 991 SC(165, 46, 44, 1, no, no) \ 992 SC(166, 46, 44, 2, no, no) \ 993 SC(167, 46, 44, 3, no, no) \ 994 SC(168, 46, 44, 4, no, no) \ 995 \ 996 SC(169, 47, 45, 1, no, no) \ 997 SC(170, 47, 45, 2, no, no) \ 998 SC(171, 47, 45, 3, no, no) \ 999 SC(172, 47, 45, 4, no, no) \ 1000 \ 1001 SC(173, 48, 46, 1, no, no) \ 1002 SC(174, 48, 46, 2, no, no) \ 1003 SC(175, 48, 46, 3, no, no) \ 1004 SC(176, 48, 46, 4, no, no) \ 1005 \ 1006 SC(177, 49, 47, 1, no, no) \ 1007 SC(178, 49, 47, 2, no, no) \ 1008 SC(179, 49, 47, 3, no, no) \ 1009 SC(180, 49, 47, 4, no, no) \ 1010 \ 1011 SC(181, 50, 48, 1, no, no) \ 1012 SC(182, 50, 48, 2, no, no) \ 1013 SC(183, 50, 48, 3, no, no) \ 1014 SC(184, 50, 48, 4, no, no) \ 1015 \ 1016 SC(185, 51, 49, 1, no, no) \ 1017 SC(186, 51, 49, 2, no, no) \ 1018 SC(187, 51, 49, 3, no, no) \ 1019 SC(188, 51, 49, 4, no, no) \ 1020 \ 1021 SC(189, 52, 50, 1, no, no) \ 1022 SC(190, 52, 50, 2, no, no) \ 1023 SC(191, 52, 50, 3, no, no) \ 1024 SC(192, 52, 50, 4, no, no) \ 1025 \ 1026 SC(193, 53, 51, 1, no, no) \ 1027 SC(194, 53, 51, 2, no, no) \ 1028 SC(195, 53, 51, 3, no, no) \ 1029 SC(196, 53, 51, 4, no, no) \ 1030 \ 1031 SC(197, 54, 52, 1, no, no) \ 1032 SC(198, 54, 52, 2, no, no) \ 1033 SC(199, 54, 52, 3, no, no) \ 1034 SC(200, 54, 52, 4, no, no) \ 1035 \ 1036 SC(201, 55, 53, 1, no, no) \ 1037 SC(202, 55, 53, 2, no, no) \ 1038 SC(203, 55, 53, 3, no, no) \ 1039 SC(204, 55, 53, 4, no, no) \ 1040 \ 1041 SC(205, 56, 54, 1, no, no) \ 1042 SC(206, 56, 54, 2, no, no) \ 1043 SC(207, 56, 54, 3, no, no) \ 1044 SC(208, 56, 54, 4, no, no) \ 1045 \ 1046 SC(209, 57, 55, 1, no, no) \ 1047 SC(210, 57, 55, 2, no, no) \ 1048 SC(211, 57, 55, 3, no, no) \ 1049 SC(212, 57, 55, 4, no, no) \ 1050 \ 1051 SC(213, 58, 56, 1, no, no) \ 1052 SC(214, 58, 56, 2, no, no) \ 1053 SC(215, 58, 56, 3, no, no) \ 1054 SC(216, 58, 56, 4, no, no) \ 1055 \ 1056 SC(217, 59, 57, 1, no, no) \ 1057 SC(218, 59, 57, 2, no, no) \ 1058 SC(219, 59, 57, 3, no, no) \ 1059 SC(220, 59, 57, 4, no, no) \ 1060 \ 1061 SC(221, 60, 58, 1, no, no) \ 1062 SC(222, 60, 58, 2, no, no) \ 1063 SC(223, 60, 58, 3, no, no) \ 1064 SC(224, 60, 58, 4, no, no) \ 1065 \ 1066 SC(225, 61, 59, 1, no, no) \ 1067 SC(226, 61, 59, 2, no, no) \ 1068 SC(227, 61, 59, 3, no, no) \ 1069 SC(228, 61, 59, 4, no, no) \ 1070 \ 1071 SC(229, 62, 60, 1, no, no) \ 1072 SC(230, 62, 60, 2, no, no) \ 1073 SC(231, 62, 60, 3, no, no) \ 1074 1075 #define SIZE_CLASSES_DEFINED 1076 #define NTBINS 1 1077 #define NLBINS 29 1078 #define NBINS 36 1079 #define NSIZES 232 1080 #define LG_TINY_MAXCLASS 3 1081 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 1082 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) 1083 #define LG_LARGE_MINCLASS 14 1084 #define HUGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 1085 #endif 1086 1087 #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 12) 1088 #define SIZE_CLASSES \ 1089 /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \ 1090 SC( 0, 4, 4, 0, yes, 4) \ 1091 SC( 1, 4, 4, 1, yes, 4) \ 1092 SC( 2, 4, 4, 2, yes, 4) \ 1093 SC( 3, 4, 4, 3, yes, 4) \ 1094 \ 1095 SC( 4, 6, 4, 1, yes, 4) \ 1096 SC( 5, 6, 4, 2, yes, 4) \ 1097 SC( 6, 6, 4, 3, yes, 4) \ 1098 SC( 7, 6, 4, 4, yes, 4) \ 1099 \ 1100 SC( 8, 7, 5, 1, yes, 5) \ 1101 SC( 9, 7, 5, 2, yes, 5) \ 1102 SC( 10, 7, 5, 3, yes, 5) \ 1103 SC( 11, 7, 5, 4, yes, 5) \ 1104 \ 1105 SC( 12, 8, 6, 1, yes, 6) \ 1106 SC( 13, 8, 6, 2, yes, 6) \ 1107 SC( 14, 8, 6, 3, yes, 6) \ 1108 SC( 15, 8, 6, 4, yes, 6) \ 1109 \ 1110 SC( 16, 9, 7, 1, yes, 7) \ 1111 SC( 17, 9, 7, 2, yes, 7) \ 1112 SC( 18, 9, 7, 3, yes, 7) \ 1113 SC( 19, 9, 7, 4, yes, 7) \ 1114 \ 1115 SC( 20, 10, 8, 1, yes, 8) \ 1116 SC( 21, 10, 8, 2, yes, 8) \ 1117 SC( 22, 10, 8, 3, yes, 8) \ 1118 SC( 23, 10, 8, 4, yes, 8) \ 1119 \ 1120 SC( 24, 11, 9, 1, yes, 9) \ 1121 SC( 25, 11, 9, 2, yes, 9) \ 1122 SC( 26, 11, 9, 3, yes, 9) \ 1123 SC( 27, 11, 9, 4, yes, 9) \ 1124 \ 1125 SC( 28, 12, 10, 1, yes, no) \ 1126 SC( 29, 12, 10, 2, yes, no) \ 1127 SC( 30, 12, 10, 3, yes, no) \ 1128 SC( 31, 12, 10, 4, yes, no) \ 1129 \ 1130 SC( 32, 13, 11, 1, yes, no) \ 1131 SC( 33, 13, 11, 2, yes, no) \ 1132 SC( 34, 13, 11, 3, yes, no) \ 1133 SC( 35, 13, 11, 4, no, no) \ 1134 \ 1135 SC( 36, 14, 12, 1, no, no) \ 1136 SC( 37, 14, 12, 2, no, no) \ 1137 SC( 38, 14, 12, 3, no, no) \ 1138 SC( 39, 14, 12, 4, no, no) \ 1139 \ 1140 SC( 40, 15, 13, 1, no, no) \ 1141 SC( 41, 15, 13, 2, no, no) \ 1142 SC( 42, 15, 13, 3, no, no) \ 1143 SC( 43, 15, 13, 4, no, no) \ 1144 \ 1145 SC( 44, 16, 14, 1, no, no) \ 1146 SC( 45, 16, 14, 2, no, no) \ 1147 SC( 46, 16, 14, 3, no, no) \ 1148 SC( 47, 16, 14, 4, no, no) \ 1149 \ 1150 SC( 48, 17, 15, 1, no, no) \ 1151 SC( 49, 17, 15, 2, no, no) \ 1152 SC( 50, 17, 15, 3, no, no) \ 1153 SC( 51, 17, 15, 4, no, no) \ 1154 \ 1155 SC( 52, 18, 16, 1, no, no) \ 1156 SC( 53, 18, 16, 2, no, no) \ 1157 SC( 54, 18, 16, 3, no, no) \ 1158 SC( 55, 18, 16, 4, no, no) \ 1159 \ 1160 SC( 56, 19, 17, 1, no, no) \ 1161 SC( 57, 19, 17, 2, no, no) \ 1162 SC( 58, 19, 17, 3, no, no) \ 1163 SC( 59, 19, 17, 4, no, no) \ 1164 \ 1165 SC( 60, 20, 18, 1, no, no) \ 1166 SC( 61, 20, 18, 2, no, no) \ 1167 SC( 62, 20, 18, 3, no, no) \ 1168 SC( 63, 20, 18, 4, no, no) \ 1169 \ 1170 SC( 64, 21, 19, 1, no, no) \ 1171 SC( 65, 21, 19, 2, no, no) \ 1172 SC( 66, 21, 19, 3, no, no) \ 1173 SC( 67, 21, 19, 4, no, no) \ 1174 \ 1175 SC( 68, 22, 20, 1, no, no) \ 1176 SC( 69, 22, 20, 2, no, no) \ 1177 SC( 70, 22, 20, 3, no, no) \ 1178 SC( 71, 22, 20, 4, no, no) \ 1179 \ 1180 SC( 72, 23, 21, 1, no, no) \ 1181 SC( 73, 23, 21, 2, no, no) \ 1182 SC( 74, 23, 21, 3, no, no) \ 1183 SC( 75, 23, 21, 4, no, no) \ 1184 \ 1185 SC( 76, 24, 22, 1, no, no) \ 1186 SC( 77, 24, 22, 2, no, no) \ 1187 SC( 78, 24, 22, 3, no, no) \ 1188 SC( 79, 24, 22, 4, no, no) \ 1189 \ 1190 SC( 80, 25, 23, 1, no, no) \ 1191 SC( 81, 25, 23, 2, no, no) \ 1192 SC( 82, 25, 23, 3, no, no) \ 1193 SC( 83, 25, 23, 4, no, no) \ 1194 \ 1195 SC( 84, 26, 24, 1, no, no) \ 1196 SC( 85, 26, 24, 2, no, no) \ 1197 SC( 86, 26, 24, 3, no, no) \ 1198 SC( 87, 26, 24, 4, no, no) \ 1199 \ 1200 SC( 88, 27, 25, 1, no, no) \ 1201 SC( 89, 27, 25, 2, no, no) \ 1202 SC( 90, 27, 25, 3, no, no) \ 1203 SC( 91, 27, 25, 4, no, no) \ 1204 \ 1205 SC( 92, 28, 26, 1, no, no) \ 1206 SC( 93, 28, 26, 2, no, no) \ 1207 SC( 94, 28, 26, 3, no, no) \ 1208 SC( 95, 28, 26, 4, no, no) \ 1209 \ 1210 SC( 96, 29, 27, 1, no, no) \ 1211 SC( 97, 29, 27, 2, no, no) \ 1212 SC( 98, 29, 27, 3, no, no) \ 1213 SC( 99, 29, 27, 4, no, no) \ 1214 \ 1215 SC(100, 30, 28, 1, no, no) \ 1216 SC(101, 30, 28, 2, no, no) \ 1217 SC(102, 30, 28, 3, no, no) \ 1218 SC(103, 30, 28, 4, no, no) \ 1219 \ 1220 SC(104, 31, 29, 1, no, no) \ 1221 SC(105, 31, 29, 2, no, no) \ 1222 SC(106, 31, 29, 3, no, no) \ 1223 SC(107, 31, 29, 4, no, no) \ 1224 \ 1225 SC(108, 32, 30, 1, no, no) \ 1226 SC(109, 32, 30, 2, no, no) \ 1227 SC(110, 32, 30, 3, no, no) \ 1228 SC(111, 32, 30, 4, no, no) \ 1229 \ 1230 SC(112, 33, 31, 1, no, no) \ 1231 SC(113, 33, 31, 2, no, no) \ 1232 SC(114, 33, 31, 3, no, no) \ 1233 SC(115, 33, 31, 4, no, no) \ 1234 \ 1235 SC(116, 34, 32, 1, no, no) \ 1236 SC(117, 34, 32, 2, no, no) \ 1237 SC(118, 34, 32, 3, no, no) \ 1238 SC(119, 34, 32, 4, no, no) \ 1239 \ 1240 SC(120, 35, 33, 1, no, no) \ 1241 SC(121, 35, 33, 2, no, no) \ 1242 SC(122, 35, 33, 3, no, no) \ 1243 SC(123, 35, 33, 4, no, no) \ 1244 \ 1245 SC(124, 36, 34, 1, no, no) \ 1246 SC(125, 36, 34, 2, no, no) \ 1247 SC(126, 36, 34, 3, no, no) \ 1248 SC(127, 36, 34, 4, no, no) \ 1249 \ 1250 SC(128, 37, 35, 1, no, no) \ 1251 SC(129, 37, 35, 2, no, no) \ 1252 SC(130, 37, 35, 3, no, no) \ 1253 SC(131, 37, 35, 4, no, no) \ 1254 \ 1255 SC(132, 38, 36, 1, no, no) \ 1256 SC(133, 38, 36, 2, no, no) \ 1257 SC(134, 38, 36, 3, no, no) \ 1258 SC(135, 38, 36, 4, no, no) \ 1259 \ 1260 SC(136, 39, 37, 1, no, no) \ 1261 SC(137, 39, 37, 2, no, no) \ 1262 SC(138, 39, 37, 3, no, no) \ 1263 SC(139, 39, 37, 4, no, no) \ 1264 \ 1265 SC(140, 40, 38, 1, no, no) \ 1266 SC(141, 40, 38, 2, no, no) \ 1267 SC(142, 40, 38, 3, no, no) \ 1268 SC(143, 40, 38, 4, no, no) \ 1269 \ 1270 SC(144, 41, 39, 1, no, no) \ 1271 SC(145, 41, 39, 2, no, no) \ 1272 SC(146, 41, 39, 3, no, no) \ 1273 SC(147, 41, 39, 4, no, no) \ 1274 \ 1275 SC(148, 42, 40, 1, no, no) \ 1276 SC(149, 42, 40, 2, no, no) \ 1277 SC(150, 42, 40, 3, no, no) \ 1278 SC(151, 42, 40, 4, no, no) \ 1279 \ 1280 SC(152, 43, 41, 1, no, no) \ 1281 SC(153, 43, 41, 2, no, no) \ 1282 SC(154, 43, 41, 3, no, no) \ 1283 SC(155, 43, 41, 4, no, no) \ 1284 \ 1285 SC(156, 44, 42, 1, no, no) \ 1286 SC(157, 44, 42, 2, no, no) \ 1287 SC(158, 44, 42, 3, no, no) \ 1288 SC(159, 44, 42, 4, no, no) \ 1289 \ 1290 SC(160, 45, 43, 1, no, no) \ 1291 SC(161, 45, 43, 2, no, no) \ 1292 SC(162, 45, 43, 3, no, no) \ 1293 SC(163, 45, 43, 4, no, no) \ 1294 \ 1295 SC(164, 46, 44, 1, no, no) \ 1296 SC(165, 46, 44, 2, no, no) \ 1297 SC(166, 46, 44, 3, no, no) \ 1298 SC(167, 46, 44, 4, no, no) \ 1299 \ 1300 SC(168, 47, 45, 1, no, no) \ 1301 SC(169, 47, 45, 2, no, no) \ 1302 SC(170, 47, 45, 3, no, no) \ 1303 SC(171, 47, 45, 4, no, no) \ 1304 \ 1305 SC(172, 48, 46, 1, no, no) \ 1306 SC(173, 48, 46, 2, no, no) \ 1307 SC(174, 48, 46, 3, no, no) \ 1308 SC(175, 48, 46, 4, no, no) \ 1309 \ 1310 SC(176, 49, 47, 1, no, no) \ 1311 SC(177, 49, 47, 2, no, no) \ 1312 SC(178, 49, 47, 3, no, no) \ 1313 SC(179, 49, 47, 4, no, no) \ 1314 \ 1315 SC(180, 50, 48, 1, no, no) \ 1316 SC(181, 50, 48, 2, no, no) \ 1317 SC(182, 50, 48, 3, no, no) \ 1318 SC(183, 50, 48, 4, no, no) \ 1319 \ 1320 SC(184, 51, 49, 1, no, no) \ 1321 SC(185, 51, 49, 2, no, no) \ 1322 SC(186, 51, 49, 3, no, no) \ 1323 SC(187, 51, 49, 4, no, no) \ 1324 \ 1325 SC(188, 52, 50, 1, no, no) \ 1326 SC(189, 52, 50, 2, no, no) \ 1327 SC(190, 52, 50, 3, no, no) \ 1328 SC(191, 52, 50, 4, no, no) \ 1329 \ 1330 SC(192, 53, 51, 1, no, no) \ 1331 SC(193, 53, 51, 2, no, no) \ 1332 SC(194, 53, 51, 3, no, no) \ 1333 SC(195, 53, 51, 4, no, no) \ 1334 \ 1335 SC(196, 54, 52, 1, no, no) \ 1336 SC(197, 54, 52, 2, no, no) \ 1337 SC(198, 54, 52, 3, no, no) \ 1338 SC(199, 54, 52, 4, no, no) \ 1339 \ 1340 SC(200, 55, 53, 1, no, no) \ 1341 SC(201, 55, 53, 2, no, no) \ 1342 SC(202, 55, 53, 3, no, no) \ 1343 SC(203, 55, 53, 4, no, no) \ 1344 \ 1345 SC(204, 56, 54, 1, no, no) \ 1346 SC(205, 56, 54, 2, no, no) \ 1347 SC(206, 56, 54, 3, no, no) \ 1348 SC(207, 56, 54, 4, no, no) \ 1349 \ 1350 SC(208, 57, 55, 1, no, no) \ 1351 SC(209, 57, 55, 2, no, no) \ 1352 SC(210, 57, 55, 3, no, no) \ 1353 SC(211, 57, 55, 4, no, no) \ 1354 \ 1355 SC(212, 58, 56, 1, no, no) \ 1356 SC(213, 58, 56, 2, no, no) \ 1357 SC(214, 58, 56, 3, no, no) \ 1358 SC(215, 58, 56, 4, no, no) \ 1359 \ 1360 SC(216, 59, 57, 1, no, no) \ 1361 SC(217, 59, 57, 2, no, no) \ 1362 SC(218, 59, 57, 3, no, no) \ 1363 SC(219, 59, 57, 4, no, no) \ 1364 \ 1365 SC(220, 60, 58, 1, no, no) \ 1366 SC(221, 60, 58, 2, no, no) \ 1367 SC(222, 60, 58, 3, no, no) \ 1368 SC(223, 60, 58, 4, no, no) \ 1369 \ 1370 SC(224, 61, 59, 1, no, no) \ 1371 SC(225, 61, 59, 2, no, no) \ 1372 SC(226, 61, 59, 3, no, no) \ 1373 SC(227, 61, 59, 4, no, no) \ 1374 \ 1375 SC(228, 62, 60, 1, no, no) \ 1376 SC(229, 62, 60, 2, no, no) \ 1377 SC(230, 62, 60, 3, no, no) \ 1378 1379 #define SIZE_CLASSES_DEFINED 1380 #define NTBINS 0 1381 #define NLBINS 28 1382 #define NBINS 35 1383 #define NSIZES 231 1384 #define LG_TINY_MAXCLASS "NA" 1385 #define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9)) 1386 #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) 1387 #define LG_LARGE_MINCLASS 14 1388 #define HUGE_MAXCLASS ((((size_t)1) << 62) + (((size_t)3) << 60)) 1389 #endif 1390 1391 #ifndef SIZE_CLASSES_DEFINED 1392 # error "No size class definitions match configuration" 1393 #endif 1394 #undef SIZE_CLASSES_DEFINED 1395 /* 1396 * The size2index_tab lookup table uses uint8_t to encode each bin index, so we 1397 * cannot support more than 256 small size classes. Further constrain NBINS to 1398 * 255 since all small size classes, plus a "not small" size class must be 1399 * stored in 8 bits of arena_chunk_map_bits_t's bits field. 1400 */ 1401 #if (NBINS > 255) 1402 # error "Too many small size classes" 1403 #endif 1404 1405 #endif /* JEMALLOC_H_TYPES */ 1406 /******************************************************************************/ 1407 #ifdef JEMALLOC_H_STRUCTS 1408 1409 1410 #endif /* JEMALLOC_H_STRUCTS */ 1411 /******************************************************************************/ 1412 #ifdef JEMALLOC_H_EXTERNS 1413 1414 1415 #endif /* JEMALLOC_H_EXTERNS */ 1416 /******************************************************************************/ 1417 #ifdef JEMALLOC_H_INLINES 1418 1419 1420 #endif /* JEMALLOC_H_INLINES */ 1421 /******************************************************************************/ 1422