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