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