aboutsummaryrefslogtreecommitdiff
path: root/include/jemalloc/internal/size_classes.h
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2014-07-01 14:34:56 -0700
committerChristopher Ferris <cferris@google.com>2014-07-01 15:47:44 -0700
commit9ebe2acb722ad8e29179cfbff35547f607e0f532 (patch)
tree58db2f60f498f4f22bd0b21ffc10dd068ca2b248 /include/jemalloc/internal/size_classes.h
parent5b8106e848d99433f62310dbf3cb80ef9812e572 (diff)
downloadjemalloc-9ebe2acb722ad8e29179cfbff35547f607e0f532.tar.gz
Update header files from new jemalloc changes.
Also, fix gitignore, not to ignore generated headers. Change-Id: I6c781ae85112c2098d6808adba55c0c8e05e5ecc
Diffstat (limited to 'include/jemalloc/internal/size_classes.h')
-rw-r--r--include/jemalloc/internal/size_classes.h4729
1 files changed, 4089 insertions, 640 deletions
diff --git a/include/jemalloc/internal/size_classes.h b/include/jemalloc/internal/size_classes.h
index dea2081..8d71011 100644
--- a/include/jemalloc/internal/size_classes.h
+++ b/include/jemalloc/internal/size_classes.h
@@ -2,689 +2,4138 @@
/******************************************************************************/
#ifdef JEMALLOC_H_TYPES
-#if (LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 12)
+/*
+ * This header requires LG_SIZEOF_PTR, LG_TINY_MIN, LG_QUANTUM, and LG_PAGE to
+ * be defined prior to inclusion, and it in turn defines:
+ *
+ * LG_SIZE_CLASS_GROUP: Lg of size class count for each size doubling.
+ * SIZE_CLASSES: Complete table of
+ * SC(index, lg_delta, size, bin, lg_delta_lookup) tuples.
+ * index: Size class index.
+ * lg_grp: Lg group base size (no deltas added).
+ * lg_delta: Lg delta to previous size class.
+ * ndelta: Delta multiplier. size == 1<<lg_grp + ndelta<<lg_delta
+ * bin: 'yes' if a small bin size class, 'no' otherwise.
+ * lg_delta_lookup: Same as lg_delta if a lookup table size class, 'no'
+ * otherwise.
+ * NTBINS: Number of tiny bins.
+ * NLBINS: Number of bins supported by the lookup table.
+ * NBINS: Number of small size class bins.
+ * LG_TINY_MAXCLASS: Lg of maximum tiny size class.
+ * LOOKUP_MAXCLASS: Maximum size class included in lookup table.
+ * SMALL_MAXCLASS: Maximum small size class.
+ */
+
+#define LG_SIZE_CLASS_GROUP 2
+
+#if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 12)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 3, 3, 2, yes, 3) \
+ SC( 3, 3, 3, 3, yes, 3) \
+ \
+ SC( 4, 5, 3, 1, yes, 3) \
+ SC( 5, 5, 3, 2, yes, 3) \
+ SC( 6, 5, 3, 3, yes, 3) \
+ SC( 7, 5, 3, 4, yes, 3) \
+ \
+ SC( 8, 6, 4, 1, yes, 4) \
+ SC( 9, 6, 4, 2, yes, 4) \
+ SC( 10, 6, 4, 3, yes, 4) \
+ SC( 11, 6, 4, 4, yes, 4) \
+ \
+ SC( 12, 7, 5, 1, yes, 5) \
+ SC( 13, 7, 5, 2, yes, 5) \
+ SC( 14, 7, 5, 3, yes, 5) \
+ SC( 15, 7, 5, 4, yes, 5) \
+ \
+ SC( 16, 8, 6, 1, yes, 6) \
+ SC( 17, 8, 6, 2, yes, 6) \
+ SC( 18, 8, 6, 3, yes, 6) \
+ SC( 19, 8, 6, 4, yes, 6) \
+ \
+ SC( 20, 9, 7, 1, yes, 7) \
+ SC( 21, 9, 7, 2, yes, 7) \
+ SC( 22, 9, 7, 3, yes, 7) \
+ SC( 23, 9, 7, 4, yes, 7) \
+ \
+ SC( 24, 10, 8, 1, yes, 8) \
+ SC( 25, 10, 8, 2, yes, 8) \
+ SC( 26, 10, 8, 3, yes, 8) \
+ SC( 27, 10, 8, 4, yes, 8) \
+ \
+ SC( 28, 11, 9, 1, yes, 9) \
+ SC( 29, 11, 9, 2, yes, 9) \
+ SC( 30, 11, 9, 3, yes, 9) \
+ SC( 31, 11, 9, 4, no, 9) \
+ \
+ SC( 32, 12, 10, 1, no, no) \
+ SC( 33, 12, 10, 2, no, no) \
+ SC( 34, 12, 10, 3, no, no) \
+ SC( 35, 12, 10, 4, no, no) \
+ \
+ SC( 36, 13, 11, 1, no, no) \
+ SC( 37, 13, 11, 2, no, no) \
+ SC( 38, 13, 11, 3, no, no) \
+ SC( 39, 13, 11, 4, no, no) \
+ \
+ SC( 40, 14, 12, 1, no, no) \
+ SC( 41, 14, 12, 2, no, no) \
+ SC( 42, 14, 12, 3, no, no) \
+ SC( 43, 14, 12, 4, no, no) \
+ \
+ SC( 44, 15, 13, 1, no, no) \
+ SC( 45, 15, 13, 2, no, no) \
+ SC( 46, 15, 13, 3, no, no) \
+ SC( 47, 15, 13, 4, no, no) \
+ \
+ SC( 48, 16, 14, 1, no, no) \
+ SC( 49, 16, 14, 2, no, no) \
+ SC( 50, 16, 14, 3, no, no) \
+ SC( 51, 16, 14, 4, no, no) \
+ \
+ SC( 52, 17, 15, 1, no, no) \
+ SC( 53, 17, 15, 2, no, no) \
+ SC( 54, 17, 15, 3, no, no) \
+ SC( 55, 17, 15, 4, no, no) \
+ \
+ SC( 56, 18, 16, 1, no, no) \
+ SC( 57, 18, 16, 2, no, no) \
+ SC( 58, 18, 16, 3, no, no) \
+ SC( 59, 18, 16, 4, no, no) \
+ \
+ SC( 60, 19, 17, 1, no, no) \
+ SC( 61, 19, 17, 2, no, no) \
+ SC( 62, 19, 17, 3, no, no) \
+ SC( 63, 19, 17, 4, no, no) \
+ \
+ SC( 64, 20, 18, 1, no, no) \
+ SC( 65, 20, 18, 2, no, no) \
+ SC( 66, 20, 18, 3, no, no) \
+ SC( 67, 20, 18, 4, no, no) \
+ \
+ SC( 68, 21, 19, 1, no, no) \
+ SC( 69, 21, 19, 2, no, no) \
+ SC( 70, 21, 19, 3, no, no) \
+ SC( 71, 21, 19, 4, no, no) \
+ \
+ SC( 72, 22, 20, 1, no, no) \
+ SC( 73, 22, 20, 2, no, no) \
+ SC( 74, 22, 20, 3, no, no) \
+ SC( 75, 22, 20, 4, no, no) \
+ \
+ SC( 76, 23, 21, 1, no, no) \
+ SC( 77, 23, 21, 2, no, no) \
+ SC( 78, 23, 21, 3, no, no) \
+ SC( 79, 23, 21, 4, no, no) \
+ \
+ SC( 80, 24, 22, 1, no, no) \
+ SC( 81, 24, 22, 2, no, no) \
+ SC( 82, 24, 22, 3, no, no) \
+ SC( 83, 24, 22, 4, no, no) \
+ \
+ SC( 84, 25, 23, 1, no, no) \
+ SC( 85, 25, 23, 2, no, no) \
+ SC( 86, 25, 23, 3, no, no) \
+ SC( 87, 25, 23, 4, no, no) \
+ \
+ SC( 88, 26, 24, 1, no, no) \
+ SC( 89, 26, 24, 2, no, no) \
+ SC( 90, 26, 24, 3, no, no) \
+ SC( 91, 26, 24, 4, no, no) \
+ \
+ SC( 92, 27, 25, 1, no, no) \
+ SC( 93, 27, 25, 2, no, no) \
+ SC( 94, 27, 25, 3, no, no) \
+ SC( 95, 27, 25, 4, no, no) \
+ \
+ SC( 96, 28, 26, 1, no, no) \
+ SC( 97, 28, 26, 2, no, no) \
+ SC( 98, 28, 26, 3, no, no) \
+ SC( 99, 28, 26, 4, no, no) \
+ \
+ SC(100, 29, 27, 1, no, no) \
+ SC(101, 29, 27, 2, no, no) \
+ SC(102, 29, 27, 3, no, no) \
+ SC(103, 29, 27, 4, no, no) \
+ \
+ SC(104, 30, 28, 1, no, no) \
+ SC(105, 30, 28, 2, no, no) \
+ SC(106, 30, 28, 3, no, no) \
+ SC(107, 30, 28, 4, no, no) \
+ \
+ SC(108, 31, 29, 1, no, no) \
+ SC(109, 31, 29, 2, no, no) \
+ SC(110, 31, 29, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 8, 8) \
- SIZE_CLASS(1, 8, 16) \
- SIZE_CLASS(2, 8, 24) \
- SIZE_CLASS(3, 8, 32) \
- SIZE_CLASS(4, 8, 40) \
- SIZE_CLASS(5, 8, 48) \
- SIZE_CLASS(6, 8, 56) \
- SIZE_CLASS(7, 8, 64) \
- SIZE_CLASS(8, 16, 80) \
- SIZE_CLASS(9, 16, 96) \
- SIZE_CLASS(10, 16, 112) \
- SIZE_CLASS(11, 16, 128) \
- SIZE_CLASS(12, 32, 160) \
- SIZE_CLASS(13, 32, 192) \
- SIZE_CLASS(14, 32, 224) \
- SIZE_CLASS(15, 32, 256) \
- SIZE_CLASS(16, 64, 320) \
- SIZE_CLASS(17, 64, 384) \
- SIZE_CLASS(18, 64, 448) \
- SIZE_CLASS(19, 64, 512) \
- SIZE_CLASS(20, 128, 640) \
- SIZE_CLASS(21, 128, 768) \
- SIZE_CLASS(22, 128, 896) \
- SIZE_CLASS(23, 128, 1024) \
- SIZE_CLASS(24, 256, 1280) \
- SIZE_CLASS(25, 256, 1536) \
- SIZE_CLASS(26, 256, 1792) \
- SIZE_CLASS(27, 256, 2048) \
- SIZE_CLASS(28, 512, 2560) \
- SIZE_CLASS(29, 512, 3072) \
- SIZE_CLASS(30, 512, 3584) \
-
-#define NBINS 31
-#define SMALL_MAXCLASS 3584
+#define NTBINS 0
+#define NLBINS 32
+#define NBINS 31
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 11) + (((size_t)3) << 9))
#endif
-#if (LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 13)
+#if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 13)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 3, 3, 2, yes, 3) \
+ SC( 3, 3, 3, 3, yes, 3) \
+ \
+ SC( 4, 5, 3, 1, yes, 3) \
+ SC( 5, 5, 3, 2, yes, 3) \
+ SC( 6, 5, 3, 3, yes, 3) \
+ SC( 7, 5, 3, 4, yes, 3) \
+ \
+ SC( 8, 6, 4, 1, yes, 4) \
+ SC( 9, 6, 4, 2, yes, 4) \
+ SC( 10, 6, 4, 3, yes, 4) \
+ SC( 11, 6, 4, 4, yes, 4) \
+ \
+ SC( 12, 7, 5, 1, yes, 5) \
+ SC( 13, 7, 5, 2, yes, 5) \
+ SC( 14, 7, 5, 3, yes, 5) \
+ SC( 15, 7, 5, 4, yes, 5) \
+ \
+ SC( 16, 8, 6, 1, yes, 6) \
+ SC( 17, 8, 6, 2, yes, 6) \
+ SC( 18, 8, 6, 3, yes, 6) \
+ SC( 19, 8, 6, 4, yes, 6) \
+ \
+ SC( 20, 9, 7, 1, yes, 7) \
+ SC( 21, 9, 7, 2, yes, 7) \
+ SC( 22, 9, 7, 3, yes, 7) \
+ SC( 23, 9, 7, 4, yes, 7) \
+ \
+ SC( 24, 10, 8, 1, yes, 8) \
+ SC( 25, 10, 8, 2, yes, 8) \
+ SC( 26, 10, 8, 3, yes, 8) \
+ SC( 27, 10, 8, 4, yes, 8) \
+ \
+ SC( 28, 11, 9, 1, yes, 9) \
+ SC( 29, 11, 9, 2, yes, 9) \
+ SC( 30, 11, 9, 3, yes, 9) \
+ SC( 31, 11, 9, 4, yes, 9) \
+ \
+ SC( 32, 12, 10, 1, yes, no) \
+ SC( 33, 12, 10, 2, yes, no) \
+ SC( 34, 12, 10, 3, yes, no) \
+ SC( 35, 12, 10, 4, no, no) \
+ \
+ SC( 36, 13, 11, 1, no, no) \
+ SC( 37, 13, 11, 2, no, no) \
+ SC( 38, 13, 11, 3, no, no) \
+ SC( 39, 13, 11, 4, no, no) \
+ \
+ SC( 40, 14, 12, 1, no, no) \
+ SC( 41, 14, 12, 2, no, no) \
+ SC( 42, 14, 12, 3, no, no) \
+ SC( 43, 14, 12, 4, no, no) \
+ \
+ SC( 44, 15, 13, 1, no, no) \
+ SC( 45, 15, 13, 2, no, no) \
+ SC( 46, 15, 13, 3, no, no) \
+ SC( 47, 15, 13, 4, no, no) \
+ \
+ SC( 48, 16, 14, 1, no, no) \
+ SC( 49, 16, 14, 2, no, no) \
+ SC( 50, 16, 14, 3, no, no) \
+ SC( 51, 16, 14, 4, no, no) \
+ \
+ SC( 52, 17, 15, 1, no, no) \
+ SC( 53, 17, 15, 2, no, no) \
+ SC( 54, 17, 15, 3, no, no) \
+ SC( 55, 17, 15, 4, no, no) \
+ \
+ SC( 56, 18, 16, 1, no, no) \
+ SC( 57, 18, 16, 2, no, no) \
+ SC( 58, 18, 16, 3, no, no) \
+ SC( 59, 18, 16, 4, no, no) \
+ \
+ SC( 60, 19, 17, 1, no, no) \
+ SC( 61, 19, 17, 2, no, no) \
+ SC( 62, 19, 17, 3, no, no) \
+ SC( 63, 19, 17, 4, no, no) \
+ \
+ SC( 64, 20, 18, 1, no, no) \
+ SC( 65, 20, 18, 2, no, no) \
+ SC( 66, 20, 18, 3, no, no) \
+ SC( 67, 20, 18, 4, no, no) \
+ \
+ SC( 68, 21, 19, 1, no, no) \
+ SC( 69, 21, 19, 2, no, no) \
+ SC( 70, 21, 19, 3, no, no) \
+ SC( 71, 21, 19, 4, no, no) \
+ \
+ SC( 72, 22, 20, 1, no, no) \
+ SC( 73, 22, 20, 2, no, no) \
+ SC( 74, 22, 20, 3, no, no) \
+ SC( 75, 22, 20, 4, no, no) \
+ \
+ SC( 76, 23, 21, 1, no, no) \
+ SC( 77, 23, 21, 2, no, no) \
+ SC( 78, 23, 21, 3, no, no) \
+ SC( 79, 23, 21, 4, no, no) \
+ \
+ SC( 80, 24, 22, 1, no, no) \
+ SC( 81, 24, 22, 2, no, no) \
+ SC( 82, 24, 22, 3, no, no) \
+ SC( 83, 24, 22, 4, no, no) \
+ \
+ SC( 84, 25, 23, 1, no, no) \
+ SC( 85, 25, 23, 2, no, no) \
+ SC( 86, 25, 23, 3, no, no) \
+ SC( 87, 25, 23, 4, no, no) \
+ \
+ SC( 88, 26, 24, 1, no, no) \
+ SC( 89, 26, 24, 2, no, no) \
+ SC( 90, 26, 24, 3, no, no) \
+ SC( 91, 26, 24, 4, no, no) \
+ \
+ SC( 92, 27, 25, 1, no, no) \
+ SC( 93, 27, 25, 2, no, no) \
+ SC( 94, 27, 25, 3, no, no) \
+ SC( 95, 27, 25, 4, no, no) \
+ \
+ SC( 96, 28, 26, 1, no, no) \
+ SC( 97, 28, 26, 2, no, no) \
+ SC( 98, 28, 26, 3, no, no) \
+ SC( 99, 28, 26, 4, no, no) \
+ \
+ SC(100, 29, 27, 1, no, no) \
+ SC(101, 29, 27, 2, no, no) \
+ SC(102, 29, 27, 3, no, no) \
+ SC(103, 29, 27, 4, no, no) \
+ \
+ SC(104, 30, 28, 1, no, no) \
+ SC(105, 30, 28, 2, no, no) \
+ SC(106, 30, 28, 3, no, no) \
+ SC(107, 30, 28, 4, no, no) \
+ \
+ SC(108, 31, 29, 1, no, no) \
+ SC(109, 31, 29, 2, no, no) \
+ SC(110, 31, 29, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 8, 8) \
- SIZE_CLASS(1, 8, 16) \
- SIZE_CLASS(2, 8, 24) \
- SIZE_CLASS(3, 8, 32) \
- SIZE_CLASS(4, 8, 40) \
- SIZE_CLASS(5, 8, 48) \
- SIZE_CLASS(6, 8, 56) \
- SIZE_CLASS(7, 8, 64) \
- SIZE_CLASS(8, 16, 80) \
- SIZE_CLASS(9, 16, 96) \
- SIZE_CLASS(10, 16, 112) \
- SIZE_CLASS(11, 16, 128) \
- SIZE_CLASS(12, 32, 160) \
- SIZE_CLASS(13, 32, 192) \
- SIZE_CLASS(14, 32, 224) \
- SIZE_CLASS(15, 32, 256) \
- SIZE_CLASS(16, 64, 320) \
- SIZE_CLASS(17, 64, 384) \
- SIZE_CLASS(18, 64, 448) \
- SIZE_CLASS(19, 64, 512) \
- SIZE_CLASS(20, 128, 640) \
- SIZE_CLASS(21, 128, 768) \
- SIZE_CLASS(22, 128, 896) \
- SIZE_CLASS(23, 128, 1024) \
- SIZE_CLASS(24, 256, 1280) \
- SIZE_CLASS(25, 256, 1536) \
- SIZE_CLASS(26, 256, 1792) \
- SIZE_CLASS(27, 256, 2048) \
- SIZE_CLASS(28, 512, 2560) \
- SIZE_CLASS(29, 512, 3072) \
- SIZE_CLASS(30, 512, 3584) \
- SIZE_CLASS(31, 512, 4096) \
- SIZE_CLASS(32, 1024, 5120) \
- SIZE_CLASS(33, 1024, 6144) \
- SIZE_CLASS(34, 1024, 7168) \
-
-#define NBINS 35
-#define SMALL_MAXCLASS 7168
+#define NTBINS 0
+#define NLBINS 32
+#define NBINS 35
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 12) + (((size_t)3) << 10))
#endif
-#if (LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 14)
+#if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 16)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 3, 3, 2, yes, 3) \
+ SC( 3, 3, 3, 3, yes, 3) \
+ \
+ SC( 4, 5, 3, 1, yes, 3) \
+ SC( 5, 5, 3, 2, yes, 3) \
+ SC( 6, 5, 3, 3, yes, 3) \
+ SC( 7, 5, 3, 4, yes, 3) \
+ \
+ SC( 8, 6, 4, 1, yes, 4) \
+ SC( 9, 6, 4, 2, yes, 4) \
+ SC( 10, 6, 4, 3, yes, 4) \
+ SC( 11, 6, 4, 4, yes, 4) \
+ \
+ SC( 12, 7, 5, 1, yes, 5) \
+ SC( 13, 7, 5, 2, yes, 5) \
+ SC( 14, 7, 5, 3, yes, 5) \
+ SC( 15, 7, 5, 4, yes, 5) \
+ \
+ SC( 16, 8, 6, 1, yes, 6) \
+ SC( 17, 8, 6, 2, yes, 6) \
+ SC( 18, 8, 6, 3, yes, 6) \
+ SC( 19, 8, 6, 4, yes, 6) \
+ \
+ SC( 20, 9, 7, 1, yes, 7) \
+ SC( 21, 9, 7, 2, yes, 7) \
+ SC( 22, 9, 7, 3, yes, 7) \
+ SC( 23, 9, 7, 4, yes, 7) \
+ \
+ SC( 24, 10, 8, 1, yes, 8) \
+ SC( 25, 10, 8, 2, yes, 8) \
+ SC( 26, 10, 8, 3, yes, 8) \
+ SC( 27, 10, 8, 4, yes, 8) \
+ \
+ SC( 28, 11, 9, 1, yes, 9) \
+ SC( 29, 11, 9, 2, yes, 9) \
+ SC( 30, 11, 9, 3, yes, 9) \
+ SC( 31, 11, 9, 4, yes, 9) \
+ \
+ SC( 32, 12, 10, 1, yes, no) \
+ SC( 33, 12, 10, 2, yes, no) \
+ SC( 34, 12, 10, 3, yes, no) \
+ SC( 35, 12, 10, 4, yes, no) \
+ \
+ SC( 36, 13, 11, 1, yes, no) \
+ SC( 37, 13, 11, 2, yes, no) \
+ SC( 38, 13, 11, 3, yes, no) \
+ SC( 39, 13, 11, 4, yes, no) \
+ \
+ SC( 40, 14, 12, 1, yes, no) \
+ SC( 41, 14, 12, 2, yes, no) \
+ SC( 42, 14, 12, 3, yes, no) \
+ SC( 43, 14, 12, 4, yes, no) \
+ \
+ SC( 44, 15, 13, 1, yes, no) \
+ SC( 45, 15, 13, 2, yes, no) \
+ SC( 46, 15, 13, 3, yes, no) \
+ SC( 47, 15, 13, 4, no, no) \
+ \
+ SC( 48, 16, 14, 1, no, no) \
+ SC( 49, 16, 14, 2, no, no) \
+ SC( 50, 16, 14, 3, no, no) \
+ SC( 51, 16, 14, 4, no, no) \
+ \
+ SC( 52, 17, 15, 1, no, no) \
+ SC( 53, 17, 15, 2, no, no) \
+ SC( 54, 17, 15, 3, no, no) \
+ SC( 55, 17, 15, 4, no, no) \
+ \
+ SC( 56, 18, 16, 1, no, no) \
+ SC( 57, 18, 16, 2, no, no) \
+ SC( 58, 18, 16, 3, no, no) \
+ SC( 59, 18, 16, 4, no, no) \
+ \
+ SC( 60, 19, 17, 1, no, no) \
+ SC( 61, 19, 17, 2, no, no) \
+ SC( 62, 19, 17, 3, no, no) \
+ SC( 63, 19, 17, 4, no, no) \
+ \
+ SC( 64, 20, 18, 1, no, no) \
+ SC( 65, 20, 18, 2, no, no) \
+ SC( 66, 20, 18, 3, no, no) \
+ SC( 67, 20, 18, 4, no, no) \
+ \
+ SC( 68, 21, 19, 1, no, no) \
+ SC( 69, 21, 19, 2, no, no) \
+ SC( 70, 21, 19, 3, no, no) \
+ SC( 71, 21, 19, 4, no, no) \
+ \
+ SC( 72, 22, 20, 1, no, no) \
+ SC( 73, 22, 20, 2, no, no) \
+ SC( 74, 22, 20, 3, no, no) \
+ SC( 75, 22, 20, 4, no, no) \
+ \
+ SC( 76, 23, 21, 1, no, no) \
+ SC( 77, 23, 21, 2, no, no) \
+ SC( 78, 23, 21, 3, no, no) \
+ SC( 79, 23, 21, 4, no, no) \
+ \
+ SC( 80, 24, 22, 1, no, no) \
+ SC( 81, 24, 22, 2, no, no) \
+ SC( 82, 24, 22, 3, no, no) \
+ SC( 83, 24, 22, 4, no, no) \
+ \
+ SC( 84, 25, 23, 1, no, no) \
+ SC( 85, 25, 23, 2, no, no) \
+ SC( 86, 25, 23, 3, no, no) \
+ SC( 87, 25, 23, 4, no, no) \
+ \
+ SC( 88, 26, 24, 1, no, no) \
+ SC( 89, 26, 24, 2, no, no) \
+ SC( 90, 26, 24, 3, no, no) \
+ SC( 91, 26, 24, 4, no, no) \
+ \
+ SC( 92, 27, 25, 1, no, no) \
+ SC( 93, 27, 25, 2, no, no) \
+ SC( 94, 27, 25, 3, no, no) \
+ SC( 95, 27, 25, 4, no, no) \
+ \
+ SC( 96, 28, 26, 1, no, no) \
+ SC( 97, 28, 26, 2, no, no) \
+ SC( 98, 28, 26, 3, no, no) \
+ SC( 99, 28, 26, 4, no, no) \
+ \
+ SC(100, 29, 27, 1, no, no) \
+ SC(101, 29, 27, 2, no, no) \
+ SC(102, 29, 27, 3, no, no) \
+ SC(103, 29, 27, 4, no, no) \
+ \
+ SC(104, 30, 28, 1, no, no) \
+ SC(105, 30, 28, 2, no, no) \
+ SC(106, 30, 28, 3, no, no) \
+ SC(107, 30, 28, 4, no, no) \
+ \
+ SC(108, 31, 29, 1, no, no) \
+ SC(109, 31, 29, 2, no, no) \
+ SC(110, 31, 29, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 8, 8) \
- SIZE_CLASS(1, 8, 16) \
- SIZE_CLASS(2, 8, 24) \
- SIZE_CLASS(3, 8, 32) \
- SIZE_CLASS(4, 8, 40) \
- SIZE_CLASS(5, 8, 48) \
- SIZE_CLASS(6, 8, 56) \
- SIZE_CLASS(7, 8, 64) \
- SIZE_CLASS(8, 16, 80) \
- SIZE_CLASS(9, 16, 96) \
- SIZE_CLASS(10, 16, 112) \
- SIZE_CLASS(11, 16, 128) \
- SIZE_CLASS(12, 32, 160) \
- SIZE_CLASS(13, 32, 192) \
- SIZE_CLASS(14, 32, 224) \
- SIZE_CLASS(15, 32, 256) \
- SIZE_CLASS(16, 64, 320) \
- SIZE_CLASS(17, 64, 384) \
- SIZE_CLASS(18, 64, 448) \
- SIZE_CLASS(19, 64, 512) \
- SIZE_CLASS(20, 128, 640) \
- SIZE_CLASS(21, 128, 768) \
- SIZE_CLASS(22, 128, 896) \
- SIZE_CLASS(23, 128, 1024) \
- SIZE_CLASS(24, 256, 1280) \
- SIZE_CLASS(25, 256, 1536) \
- SIZE_CLASS(26, 256, 1792) \
- SIZE_CLASS(27, 256, 2048) \
- SIZE_CLASS(28, 512, 2560) \
- SIZE_CLASS(29, 512, 3072) \
- SIZE_CLASS(30, 512, 3584) \
- SIZE_CLASS(31, 512, 4096) \
- SIZE_CLASS(32, 1024, 5120) \
- SIZE_CLASS(33, 1024, 6144) \
- SIZE_CLASS(34, 1024, 7168) \
- SIZE_CLASS(35, 1024, 8192) \
- SIZE_CLASS(36, 2048, 10240) \
- SIZE_CLASS(37, 2048, 12288) \
- SIZE_CLASS(38, 2048, 14336) \
-
-#define NBINS 39
-#define SMALL_MAXCLASS 14336
+#define NTBINS 0
+#define NLBINS 32
+#define NBINS 47
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
#endif
-#if (LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 15)
+#if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 12)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 4, 4, 1, yes, 4) \
+ SC( 3, 4, 4, 2, yes, 4) \
+ SC( 4, 4, 4, 3, yes, 4) \
+ \
+ SC( 5, 6, 4, 1, yes, 4) \
+ SC( 6, 6, 4, 2, yes, 4) \
+ SC( 7, 6, 4, 3, yes, 4) \
+ SC( 8, 6, 4, 4, yes, 4) \
+ \
+ SC( 9, 7, 5, 1, yes, 5) \
+ SC( 10, 7, 5, 2, yes, 5) \
+ SC( 11, 7, 5, 3, yes, 5) \
+ SC( 12, 7, 5, 4, yes, 5) \
+ \
+ SC( 13, 8, 6, 1, yes, 6) \
+ SC( 14, 8, 6, 2, yes, 6) \
+ SC( 15, 8, 6, 3, yes, 6) \
+ SC( 16, 8, 6, 4, yes, 6) \
+ \
+ SC( 17, 9, 7, 1, yes, 7) \
+ SC( 18, 9, 7, 2, yes, 7) \
+ SC( 19, 9, 7, 3, yes, 7) \
+ SC( 20, 9, 7, 4, yes, 7) \
+ \
+ SC( 21, 10, 8, 1, yes, 8) \
+ SC( 22, 10, 8, 2, yes, 8) \
+ SC( 23, 10, 8, 3, yes, 8) \
+ SC( 24, 10, 8, 4, yes, 8) \
+ \
+ SC( 25, 11, 9, 1, yes, 9) \
+ SC( 26, 11, 9, 2, yes, 9) \
+ SC( 27, 11, 9, 3, yes, 9) \
+ SC( 28, 11, 9, 4, no, 9) \
+ \
+ SC( 29, 12, 10, 1, no, no) \
+ SC( 30, 12, 10, 2, no, no) \
+ SC( 31, 12, 10, 3, no, no) \
+ SC( 32, 12, 10, 4, no, no) \
+ \
+ SC( 33, 13, 11, 1, no, no) \
+ SC( 34, 13, 11, 2, no, no) \
+ SC( 35, 13, 11, 3, no, no) \
+ SC( 36, 13, 11, 4, no, no) \
+ \
+ SC( 37, 14, 12, 1, no, no) \
+ SC( 38, 14, 12, 2, no, no) \
+ SC( 39, 14, 12, 3, no, no) \
+ SC( 40, 14, 12, 4, no, no) \
+ \
+ SC( 41, 15, 13, 1, no, no) \
+ SC( 42, 15, 13, 2, no, no) \
+ SC( 43, 15, 13, 3, no, no) \
+ SC( 44, 15, 13, 4, no, no) \
+ \
+ SC( 45, 16, 14, 1, no, no) \
+ SC( 46, 16, 14, 2, no, no) \
+ SC( 47, 16, 14, 3, no, no) \
+ SC( 48, 16, 14, 4, no, no) \
+ \
+ SC( 49, 17, 15, 1, no, no) \
+ SC( 50, 17, 15, 2, no, no) \
+ SC( 51, 17, 15, 3, no, no) \
+ SC( 52, 17, 15, 4, no, no) \
+ \
+ SC( 53, 18, 16, 1, no, no) \
+ SC( 54, 18, 16, 2, no, no) \
+ SC( 55, 18, 16, 3, no, no) \
+ SC( 56, 18, 16, 4, no, no) \
+ \
+ SC( 57, 19, 17, 1, no, no) \
+ SC( 58, 19, 17, 2, no, no) \
+ SC( 59, 19, 17, 3, no, no) \
+ SC( 60, 19, 17, 4, no, no) \
+ \
+ SC( 61, 20, 18, 1, no, no) \
+ SC( 62, 20, 18, 2, no, no) \
+ SC( 63, 20, 18, 3, no, no) \
+ SC( 64, 20, 18, 4, no, no) \
+ \
+ SC( 65, 21, 19, 1, no, no) \
+ SC( 66, 21, 19, 2, no, no) \
+ SC( 67, 21, 19, 3, no, no) \
+ SC( 68, 21, 19, 4, no, no) \
+ \
+ SC( 69, 22, 20, 1, no, no) \
+ SC( 70, 22, 20, 2, no, no) \
+ SC( 71, 22, 20, 3, no, no) \
+ SC( 72, 22, 20, 4, no, no) \
+ \
+ SC( 73, 23, 21, 1, no, no) \
+ SC( 74, 23, 21, 2, no, no) \
+ SC( 75, 23, 21, 3, no, no) \
+ SC( 76, 23, 21, 4, no, no) \
+ \
+ SC( 77, 24, 22, 1, no, no) \
+ SC( 78, 24, 22, 2, no, no) \
+ SC( 79, 24, 22, 3, no, no) \
+ SC( 80, 24, 22, 4, no, no) \
+ \
+ SC( 81, 25, 23, 1, no, no) \
+ SC( 82, 25, 23, 2, no, no) \
+ SC( 83, 25, 23, 3, no, no) \
+ SC( 84, 25, 23, 4, no, no) \
+ \
+ SC( 85, 26, 24, 1, no, no) \
+ SC( 86, 26, 24, 2, no, no) \
+ SC( 87, 26, 24, 3, no, no) \
+ SC( 88, 26, 24, 4, no, no) \
+ \
+ SC( 89, 27, 25, 1, no, no) \
+ SC( 90, 27, 25, 2, no, no) \
+ SC( 91, 27, 25, 3, no, no) \
+ SC( 92, 27, 25, 4, no, no) \
+ \
+ SC( 93, 28, 26, 1, no, no) \
+ SC( 94, 28, 26, 2, no, no) \
+ SC( 95, 28, 26, 3, no, no) \
+ SC( 96, 28, 26, 4, no, no) \
+ \
+ SC( 97, 29, 27, 1, no, no) \
+ SC( 98, 29, 27, 2, no, no) \
+ SC( 99, 29, 27, 3, no, no) \
+ SC(100, 29, 27, 4, no, no) \
+ \
+ SC(101, 30, 28, 1, no, no) \
+ SC(102, 30, 28, 2, no, no) \
+ SC(103, 30, 28, 3, no, no) \
+ SC(104, 30, 28, 4, no, no) \
+ \
+ SC(105, 31, 29, 1, no, no) \
+ SC(106, 31, 29, 2, no, no) \
+ SC(107, 31, 29, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 8, 8) \
- SIZE_CLASS(1, 8, 16) \
- SIZE_CLASS(2, 8, 24) \
- SIZE_CLASS(3, 8, 32) \
- SIZE_CLASS(4, 8, 40) \
- SIZE_CLASS(5, 8, 48) \
- SIZE_CLASS(6, 8, 56) \
- SIZE_CLASS(7, 8, 64) \
- SIZE_CLASS(8, 16, 80) \
- SIZE_CLASS(9, 16, 96) \
- SIZE_CLASS(10, 16, 112) \
- SIZE_CLASS(11, 16, 128) \
- SIZE_CLASS(12, 32, 160) \
- SIZE_CLASS(13, 32, 192) \
- SIZE_CLASS(14, 32, 224) \
- SIZE_CLASS(15, 32, 256) \
- SIZE_CLASS(16, 64, 320) \
- SIZE_CLASS(17, 64, 384) \
- SIZE_CLASS(18, 64, 448) \
- SIZE_CLASS(19, 64, 512) \
- SIZE_CLASS(20, 128, 640) \
- SIZE_CLASS(21, 128, 768) \
- SIZE_CLASS(22, 128, 896) \
- SIZE_CLASS(23, 128, 1024) \
- SIZE_CLASS(24, 256, 1280) \
- SIZE_CLASS(25, 256, 1536) \
- SIZE_CLASS(26, 256, 1792) \
- SIZE_CLASS(27, 256, 2048) \
- SIZE_CLASS(28, 512, 2560) \
- SIZE_CLASS(29, 512, 3072) \
- SIZE_CLASS(30, 512, 3584) \
- SIZE_CLASS(31, 512, 4096) \
- SIZE_CLASS(32, 1024, 5120) \
- SIZE_CLASS(33, 1024, 6144) \
- SIZE_CLASS(34, 1024, 7168) \
- SIZE_CLASS(35, 1024, 8192) \
- SIZE_CLASS(36, 2048, 10240) \
- SIZE_CLASS(37, 2048, 12288) \
- SIZE_CLASS(38, 2048, 14336) \
- SIZE_CLASS(39, 2048, 16384) \
- SIZE_CLASS(40, 4096, 20480) \
- SIZE_CLASS(41, 4096, 24576) \
- SIZE_CLASS(42, 4096, 28672) \
-
-#define NBINS 43
-#define SMALL_MAXCLASS 28672
+#define NTBINS 1
+#define NLBINS 29
+#define NBINS 28
+#define LG_TINY_MAXCLASS 3
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 11) + (((size_t)3) << 9))
#endif
-#if (LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 16)
+#if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 13)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 4, 4, 1, yes, 4) \
+ SC( 3, 4, 4, 2, yes, 4) \
+ SC( 4, 4, 4, 3, yes, 4) \
+ \
+ SC( 5, 6, 4, 1, yes, 4) \
+ SC( 6, 6, 4, 2, yes, 4) \
+ SC( 7, 6, 4, 3, yes, 4) \
+ SC( 8, 6, 4, 4, yes, 4) \
+ \
+ SC( 9, 7, 5, 1, yes, 5) \
+ SC( 10, 7, 5, 2, yes, 5) \
+ SC( 11, 7, 5, 3, yes, 5) \
+ SC( 12, 7, 5, 4, yes, 5) \
+ \
+ SC( 13, 8, 6, 1, yes, 6) \
+ SC( 14, 8, 6, 2, yes, 6) \
+ SC( 15, 8, 6, 3, yes, 6) \
+ SC( 16, 8, 6, 4, yes, 6) \
+ \
+ SC( 17, 9, 7, 1, yes, 7) \
+ SC( 18, 9, 7, 2, yes, 7) \
+ SC( 19, 9, 7, 3, yes, 7) \
+ SC( 20, 9, 7, 4, yes, 7) \
+ \
+ SC( 21, 10, 8, 1, yes, 8) \
+ SC( 22, 10, 8, 2, yes, 8) \
+ SC( 23, 10, 8, 3, yes, 8) \
+ SC( 24, 10, 8, 4, yes, 8) \
+ \
+ SC( 25, 11, 9, 1, yes, 9) \
+ SC( 26, 11, 9, 2, yes, 9) \
+ SC( 27, 11, 9, 3, yes, 9) \
+ SC( 28, 11, 9, 4, yes, 9) \
+ \
+ SC( 29, 12, 10, 1, yes, no) \
+ SC( 30, 12, 10, 2, yes, no) \
+ SC( 31, 12, 10, 3, yes, no) \
+ SC( 32, 12, 10, 4, no, no) \
+ \
+ SC( 33, 13, 11, 1, no, no) \
+ SC( 34, 13, 11, 2, no, no) \
+ SC( 35, 13, 11, 3, no, no) \
+ SC( 36, 13, 11, 4, no, no) \
+ \
+ SC( 37, 14, 12, 1, no, no) \
+ SC( 38, 14, 12, 2, no, no) \
+ SC( 39, 14, 12, 3, no, no) \
+ SC( 40, 14, 12, 4, no, no) \
+ \
+ SC( 41, 15, 13, 1, no, no) \
+ SC( 42, 15, 13, 2, no, no) \
+ SC( 43, 15, 13, 3, no, no) \
+ SC( 44, 15, 13, 4, no, no) \
+ \
+ SC( 45, 16, 14, 1, no, no) \
+ SC( 46, 16, 14, 2, no, no) \
+ SC( 47, 16, 14, 3, no, no) \
+ SC( 48, 16, 14, 4, no, no) \
+ \
+ SC( 49, 17, 15, 1, no, no) \
+ SC( 50, 17, 15, 2, no, no) \
+ SC( 51, 17, 15, 3, no, no) \
+ SC( 52, 17, 15, 4, no, no) \
+ \
+ SC( 53, 18, 16, 1, no, no) \
+ SC( 54, 18, 16, 2, no, no) \
+ SC( 55, 18, 16, 3, no, no) \
+ SC( 56, 18, 16, 4, no, no) \
+ \
+ SC( 57, 19, 17, 1, no, no) \
+ SC( 58, 19, 17, 2, no, no) \
+ SC( 59, 19, 17, 3, no, no) \
+ SC( 60, 19, 17, 4, no, no) \
+ \
+ SC( 61, 20, 18, 1, no, no) \
+ SC( 62, 20, 18, 2, no, no) \
+ SC( 63, 20, 18, 3, no, no) \
+ SC( 64, 20, 18, 4, no, no) \
+ \
+ SC( 65, 21, 19, 1, no, no) \
+ SC( 66, 21, 19, 2, no, no) \
+ SC( 67, 21, 19, 3, no, no) \
+ SC( 68, 21, 19, 4, no, no) \
+ \
+ SC( 69, 22, 20, 1, no, no) \
+ SC( 70, 22, 20, 2, no, no) \
+ SC( 71, 22, 20, 3, no, no) \
+ SC( 72, 22, 20, 4, no, no) \
+ \
+ SC( 73, 23, 21, 1, no, no) \
+ SC( 74, 23, 21, 2, no, no) \
+ SC( 75, 23, 21, 3, no, no) \
+ SC( 76, 23, 21, 4, no, no) \
+ \
+ SC( 77, 24, 22, 1, no, no) \
+ SC( 78, 24, 22, 2, no, no) \
+ SC( 79, 24, 22, 3, no, no) \
+ SC( 80, 24, 22, 4, no, no) \
+ \
+ SC( 81, 25, 23, 1, no, no) \
+ SC( 82, 25, 23, 2, no, no) \
+ SC( 83, 25, 23, 3, no, no) \
+ SC( 84, 25, 23, 4, no, no) \
+ \
+ SC( 85, 26, 24, 1, no, no) \
+ SC( 86, 26, 24, 2, no, no) \
+ SC( 87, 26, 24, 3, no, no) \
+ SC( 88, 26, 24, 4, no, no) \
+ \
+ SC( 89, 27, 25, 1, no, no) \
+ SC( 90, 27, 25, 2, no, no) \
+ SC( 91, 27, 25, 3, no, no) \
+ SC( 92, 27, 25, 4, no, no) \
+ \
+ SC( 93, 28, 26, 1, no, no) \
+ SC( 94, 28, 26, 2, no, no) \
+ SC( 95, 28, 26, 3, no, no) \
+ SC( 96, 28, 26, 4, no, no) \
+ \
+ SC( 97, 29, 27, 1, no, no) \
+ SC( 98, 29, 27, 2, no, no) \
+ SC( 99, 29, 27, 3, no, no) \
+ SC(100, 29, 27, 4, no, no) \
+ \
+ SC(101, 30, 28, 1, no, no) \
+ SC(102, 30, 28, 2, no, no) \
+ SC(103, 30, 28, 3, no, no) \
+ SC(104, 30, 28, 4, no, no) \
+ \
+ SC(105, 31, 29, 1, no, no) \
+ SC(106, 31, 29, 2, no, no) \
+ SC(107, 31, 29, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 8, 8) \
- SIZE_CLASS(1, 8, 16) \
- SIZE_CLASS(2, 8, 24) \
- SIZE_CLASS(3, 8, 32) \
- SIZE_CLASS(4, 8, 40) \
- SIZE_CLASS(5, 8, 48) \
- SIZE_CLASS(6, 8, 56) \
- SIZE_CLASS(7, 8, 64) \
- SIZE_CLASS(8, 16, 80) \
- SIZE_CLASS(9, 16, 96) \
- SIZE_CLASS(10, 16, 112) \
- SIZE_CLASS(11, 16, 128) \
- SIZE_CLASS(12, 32, 160) \
- SIZE_CLASS(13, 32, 192) \
- SIZE_CLASS(14, 32, 224) \
- SIZE_CLASS(15, 32, 256) \
- SIZE_CLASS(16, 64, 320) \
- SIZE_CLASS(17, 64, 384) \
- SIZE_CLASS(18, 64, 448) \
- SIZE_CLASS(19, 64, 512) \
- SIZE_CLASS(20, 128, 640) \
- SIZE_CLASS(21, 128, 768) \
- SIZE_CLASS(22, 128, 896) \
- SIZE_CLASS(23, 128, 1024) \
- SIZE_CLASS(24, 256, 1280) \
- SIZE_CLASS(25, 256, 1536) \
- SIZE_CLASS(26, 256, 1792) \
- SIZE_CLASS(27, 256, 2048) \
- SIZE_CLASS(28, 512, 2560) \
- SIZE_CLASS(29, 512, 3072) \
- SIZE_CLASS(30, 512, 3584) \
- SIZE_CLASS(31, 512, 4096) \
- SIZE_CLASS(32, 1024, 5120) \
- SIZE_CLASS(33, 1024, 6144) \
- SIZE_CLASS(34, 1024, 7168) \
- SIZE_CLASS(35, 1024, 8192) \
- SIZE_CLASS(36, 2048, 10240) \
- SIZE_CLASS(37, 2048, 12288) \
- SIZE_CLASS(38, 2048, 14336) \
- SIZE_CLASS(39, 2048, 16384) \
- SIZE_CLASS(40, 4096, 20480) \
- SIZE_CLASS(41, 4096, 24576) \
- SIZE_CLASS(42, 4096, 28672) \
- SIZE_CLASS(43, 4096, 32768) \
- SIZE_CLASS(44, 8192, 40960) \
- SIZE_CLASS(45, 8192, 49152) \
- SIZE_CLASS(46, 8192, 57344) \
-
-#define NBINS 47
-#define SMALL_MAXCLASS 57344
+#define NTBINS 1
+#define NLBINS 29
+#define NBINS 32
+#define LG_TINY_MAXCLASS 3
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 12) + (((size_t)3) << 10))
#endif
-#if (LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 12)
+#if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 16)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 4, 4, 1, yes, 4) \
+ SC( 3, 4, 4, 2, yes, 4) \
+ SC( 4, 4, 4, 3, yes, 4) \
+ \
+ SC( 5, 6, 4, 1, yes, 4) \
+ SC( 6, 6, 4, 2, yes, 4) \
+ SC( 7, 6, 4, 3, yes, 4) \
+ SC( 8, 6, 4, 4, yes, 4) \
+ \
+ SC( 9, 7, 5, 1, yes, 5) \
+ SC( 10, 7, 5, 2, yes, 5) \
+ SC( 11, 7, 5, 3, yes, 5) \
+ SC( 12, 7, 5, 4, yes, 5) \
+ \
+ SC( 13, 8, 6, 1, yes, 6) \
+ SC( 14, 8, 6, 2, yes, 6) \
+ SC( 15, 8, 6, 3, yes, 6) \
+ SC( 16, 8, 6, 4, yes, 6) \
+ \
+ SC( 17, 9, 7, 1, yes, 7) \
+ SC( 18, 9, 7, 2, yes, 7) \
+ SC( 19, 9, 7, 3, yes, 7) \
+ SC( 20, 9, 7, 4, yes, 7) \
+ \
+ SC( 21, 10, 8, 1, yes, 8) \
+ SC( 22, 10, 8, 2, yes, 8) \
+ SC( 23, 10, 8, 3, yes, 8) \
+ SC( 24, 10, 8, 4, yes, 8) \
+ \
+ SC( 25, 11, 9, 1, yes, 9) \
+ SC( 26, 11, 9, 2, yes, 9) \
+ SC( 27, 11, 9, 3, yes, 9) \
+ SC( 28, 11, 9, 4, yes, 9) \
+ \
+ SC( 29, 12, 10, 1, yes, no) \
+ SC( 30, 12, 10, 2, yes, no) \
+ SC( 31, 12, 10, 3, yes, no) \
+ SC( 32, 12, 10, 4, yes, no) \
+ \
+ SC( 33, 13, 11, 1, yes, no) \
+ SC( 34, 13, 11, 2, yes, no) \
+ SC( 35, 13, 11, 3, yes, no) \
+ SC( 36, 13, 11, 4, yes, no) \
+ \
+ SC( 37, 14, 12, 1, yes, no) \
+ SC( 38, 14, 12, 2, yes, no) \
+ SC( 39, 14, 12, 3, yes, no) \
+ SC( 40, 14, 12, 4, yes, no) \
+ \
+ SC( 41, 15, 13, 1, yes, no) \
+ SC( 42, 15, 13, 2, yes, no) \
+ SC( 43, 15, 13, 3, yes, no) \
+ SC( 44, 15, 13, 4, no, no) \
+ \
+ SC( 45, 16, 14, 1, no, no) \
+ SC( 46, 16, 14, 2, no, no) \
+ SC( 47, 16, 14, 3, no, no) \
+ SC( 48, 16, 14, 4, no, no) \
+ \
+ SC( 49, 17, 15, 1, no, no) \
+ SC( 50, 17, 15, 2, no, no) \
+ SC( 51, 17, 15, 3, no, no) \
+ SC( 52, 17, 15, 4, no, no) \
+ \
+ SC( 53, 18, 16, 1, no, no) \
+ SC( 54, 18, 16, 2, no, no) \
+ SC( 55, 18, 16, 3, no, no) \
+ SC( 56, 18, 16, 4, no, no) \
+ \
+ SC( 57, 19, 17, 1, no, no) \
+ SC( 58, 19, 17, 2, no, no) \
+ SC( 59, 19, 17, 3, no, no) \
+ SC( 60, 19, 17, 4, no, no) \
+ \
+ SC( 61, 20, 18, 1, no, no) \
+ SC( 62, 20, 18, 2, no, no) \
+ SC( 63, 20, 18, 3, no, no) \
+ SC( 64, 20, 18, 4, no, no) \
+ \
+ SC( 65, 21, 19, 1, no, no) \
+ SC( 66, 21, 19, 2, no, no) \
+ SC( 67, 21, 19, 3, no, no) \
+ SC( 68, 21, 19, 4, no, no) \
+ \
+ SC( 69, 22, 20, 1, no, no) \
+ SC( 70, 22, 20, 2, no, no) \
+ SC( 71, 22, 20, 3, no, no) \
+ SC( 72, 22, 20, 4, no, no) \
+ \
+ SC( 73, 23, 21, 1, no, no) \
+ SC( 74, 23, 21, 2, no, no) \
+ SC( 75, 23, 21, 3, no, no) \
+ SC( 76, 23, 21, 4, no, no) \
+ \
+ SC( 77, 24, 22, 1, no, no) \
+ SC( 78, 24, 22, 2, no, no) \
+ SC( 79, 24, 22, 3, no, no) \
+ SC( 80, 24, 22, 4, no, no) \
+ \
+ SC( 81, 25, 23, 1, no, no) \
+ SC( 82, 25, 23, 2, no, no) \
+ SC( 83, 25, 23, 3, no, no) \
+ SC( 84, 25, 23, 4, no, no) \
+ \
+ SC( 85, 26, 24, 1, no, no) \
+ SC( 86, 26, 24, 2, no, no) \
+ SC( 87, 26, 24, 3, no, no) \
+ SC( 88, 26, 24, 4, no, no) \
+ \
+ SC( 89, 27, 25, 1, no, no) \
+ SC( 90, 27, 25, 2, no, no) \
+ SC( 91, 27, 25, 3, no, no) \
+ SC( 92, 27, 25, 4, no, no) \
+ \
+ SC( 93, 28, 26, 1, no, no) \
+ SC( 94, 28, 26, 2, no, no) \
+ SC( 95, 28, 26, 3, no, no) \
+ SC( 96, 28, 26, 4, no, no) \
+ \
+ SC( 97, 29, 27, 1, no, no) \
+ SC( 98, 29, 27, 2, no, no) \
+ SC( 99, 29, 27, 3, no, no) \
+ SC(100, 29, 27, 4, no, no) \
+ \
+ SC(101, 30, 28, 1, no, no) \
+ SC(102, 30, 28, 2, no, no) \
+ SC(103, 30, 28, 3, no, no) \
+ SC(104, 30, 28, 4, no, no) \
+ \
+ SC(105, 31, 29, 1, no, no) \
+ SC(106, 31, 29, 2, no, no) \
+ SC(107, 31, 29, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 8, 8) \
- SIZE_CLASS(1, 8, 16) \
- SIZE_CLASS(2, 16, 32) \
- SIZE_CLASS(3, 16, 48) \
- SIZE_CLASS(4, 16, 64) \
- SIZE_CLASS(5, 16, 80) \
- SIZE_CLASS(6, 16, 96) \
- SIZE_CLASS(7, 16, 112) \
- SIZE_CLASS(8, 16, 128) \
- SIZE_CLASS(9, 32, 160) \
- SIZE_CLASS(10, 32, 192) \
- SIZE_CLASS(11, 32, 224) \
- SIZE_CLASS(12, 32, 256) \
- SIZE_CLASS(13, 64, 320) \
- SIZE_CLASS(14, 64, 384) \
- SIZE_CLASS(15, 64, 448) \
- SIZE_CLASS(16, 64, 512) \
- SIZE_CLASS(17, 128, 640) \
- SIZE_CLASS(18, 128, 768) \
- SIZE_CLASS(19, 128, 896) \
- SIZE_CLASS(20, 128, 1024) \
- SIZE_CLASS(21, 256, 1280) \
- SIZE_CLASS(22, 256, 1536) \
- SIZE_CLASS(23, 256, 1792) \
- SIZE_CLASS(24, 256, 2048) \
- SIZE_CLASS(25, 512, 2560) \
- SIZE_CLASS(26, 512, 3072) \
- SIZE_CLASS(27, 512, 3584) \
-
-#define NBINS 28
-#define SMALL_MAXCLASS 3584
+#define NTBINS 1
+#define NLBINS 29
+#define NBINS 44
+#define LG_TINY_MAXCLASS 3
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
#endif
-#if (LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 13)
+#if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 12)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 4, 4, 0, yes, 4) \
+ SC( 1, 4, 4, 1, yes, 4) \
+ SC( 2, 4, 4, 2, yes, 4) \
+ SC( 3, 4, 4, 3, yes, 4) \
+ \
+ SC( 4, 6, 4, 1, yes, 4) \
+ SC( 5, 6, 4, 2, yes, 4) \
+ SC( 6, 6, 4, 3, yes, 4) \
+ SC( 7, 6, 4, 4, yes, 4) \
+ \
+ SC( 8, 7, 5, 1, yes, 5) \
+ SC( 9, 7, 5, 2, yes, 5) \
+ SC( 10, 7, 5, 3, yes, 5) \
+ SC( 11, 7, 5, 4, yes, 5) \
+ \
+ SC( 12, 8, 6, 1, yes, 6) \
+ SC( 13, 8, 6, 2, yes, 6) \
+ SC( 14, 8, 6, 3, yes, 6) \
+ SC( 15, 8, 6, 4, yes, 6) \
+ \
+ SC( 16, 9, 7, 1, yes, 7) \
+ SC( 17, 9, 7, 2, yes, 7) \
+ SC( 18, 9, 7, 3, yes, 7) \
+ SC( 19, 9, 7, 4, yes, 7) \
+ \
+ SC( 20, 10, 8, 1, yes, 8) \
+ SC( 21, 10, 8, 2, yes, 8) \
+ SC( 22, 10, 8, 3, yes, 8) \
+ SC( 23, 10, 8, 4, yes, 8) \
+ \
+ SC( 24, 11, 9, 1, yes, 9) \
+ SC( 25, 11, 9, 2, yes, 9) \
+ SC( 26, 11, 9, 3, yes, 9) \
+ SC( 27, 11, 9, 4, no, 9) \
+ \
+ SC( 28, 12, 10, 1, no, no) \
+ SC( 29, 12, 10, 2, no, no) \
+ SC( 30, 12, 10, 3, no, no) \
+ SC( 31, 12, 10, 4, no, no) \
+ \
+ SC( 32, 13, 11, 1, no, no) \
+ SC( 33, 13, 11, 2, no, no) \
+ SC( 34, 13, 11, 3, no, no) \
+ SC( 35, 13, 11, 4, no, no) \
+ \
+ SC( 36, 14, 12, 1, no, no) \
+ SC( 37, 14, 12, 2, no, no) \
+ SC( 38, 14, 12, 3, no, no) \
+ SC( 39, 14, 12, 4, no, no) \
+ \
+ SC( 40, 15, 13, 1, no, no) \
+ SC( 41, 15, 13, 2, no, no) \
+ SC( 42, 15, 13, 3, no, no) \
+ SC( 43, 15, 13, 4, no, no) \
+ \
+ SC( 44, 16, 14, 1, no, no) \
+ SC( 45, 16, 14, 2, no, no) \
+ SC( 46, 16, 14, 3, no, no) \
+ SC( 47, 16, 14, 4, no, no) \
+ \
+ SC( 48, 17, 15, 1, no, no) \
+ SC( 49, 17, 15, 2, no, no) \
+ SC( 50, 17, 15, 3, no, no) \
+ SC( 51, 17, 15, 4, no, no) \
+ \
+ SC( 52, 18, 16, 1, no, no) \
+ SC( 53, 18, 16, 2, no, no) \
+ SC( 54, 18, 16, 3, no, no) \
+ SC( 55, 18, 16, 4, no, no) \
+ \
+ SC( 56, 19, 17, 1, no, no) \
+ SC( 57, 19, 17, 2, no, no) \
+ SC( 58, 19, 17, 3, no, no) \
+ SC( 59, 19, 17, 4, no, no) \
+ \
+ SC( 60, 20, 18, 1, no, no) \
+ SC( 61, 20, 18, 2, no, no) \
+ SC( 62, 20, 18, 3, no, no) \
+ SC( 63, 20, 18, 4, no, no) \
+ \
+ SC( 64, 21, 19, 1, no, no) \
+ SC( 65, 21, 19, 2, no, no) \
+ SC( 66, 21, 19, 3, no, no) \
+ SC( 67, 21, 19, 4, no, no) \
+ \
+ SC( 68, 22, 20, 1, no, no) \
+ SC( 69, 22, 20, 2, no, no) \
+ SC( 70, 22, 20, 3, no, no) \
+ SC( 71, 22, 20, 4, no, no) \
+ \
+ SC( 72, 23, 21, 1, no, no) \
+ SC( 73, 23, 21, 2, no, no) \
+ SC( 74, 23, 21, 3, no, no) \
+ SC( 75, 23, 21, 4, no, no) \
+ \
+ SC( 76, 24, 22, 1, no, no) \
+ SC( 77, 24, 22, 2, no, no) \
+ SC( 78, 24, 22, 3, no, no) \
+ SC( 79, 24, 22, 4, no, no) \
+ \
+ SC( 80, 25, 23, 1, no, no) \
+ SC( 81, 25, 23, 2, no, no) \
+ SC( 82, 25, 23, 3, no, no) \
+ SC( 83, 25, 23, 4, no, no) \
+ \
+ SC( 84, 26, 24, 1, no, no) \
+ SC( 85, 26, 24, 2, no, no) \
+ SC( 86, 26, 24, 3, no, no) \
+ SC( 87, 26, 24, 4, no, no) \
+ \
+ SC( 88, 27, 25, 1, no, no) \
+ SC( 89, 27, 25, 2, no, no) \
+ SC( 90, 27, 25, 3, no, no) \
+ SC( 91, 27, 25, 4, no, no) \
+ \
+ SC( 92, 28, 26, 1, no, no) \
+ SC( 93, 28, 26, 2, no, no) \
+ SC( 94, 28, 26, 3, no, no) \
+ SC( 95, 28, 26, 4, no, no) \
+ \
+ SC( 96, 29, 27, 1, no, no) \
+ SC( 97, 29, 27, 2, no, no) \
+ SC( 98, 29, 27, 3, no, no) \
+ SC( 99, 29, 27, 4, no, no) \
+ \
+ SC(100, 30, 28, 1, no, no) \
+ SC(101, 30, 28, 2, no, no) \
+ SC(102, 30, 28, 3, no, no) \
+ SC(103, 30, 28, 4, no, no) \
+ \
+ SC(104, 31, 29, 1, no, no) \
+ SC(105, 31, 29, 2, no, no) \
+ SC(106, 31, 29, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 8, 8) \
- SIZE_CLASS(1, 8, 16) \
- SIZE_CLASS(2, 16, 32) \
- SIZE_CLASS(3, 16, 48) \
- SIZE_CLASS(4, 16, 64) \
- SIZE_CLASS(5, 16, 80) \
- SIZE_CLASS(6, 16, 96) \
- SIZE_CLASS(7, 16, 112) \
- SIZE_CLASS(8, 16, 128) \
- SIZE_CLASS(9, 32, 160) \
- SIZE_CLASS(10, 32, 192) \
- SIZE_CLASS(11, 32, 224) \
- SIZE_CLASS(12, 32, 256) \
- SIZE_CLASS(13, 64, 320) \
- SIZE_CLASS(14, 64, 384) \
- SIZE_CLASS(15, 64, 448) \
- SIZE_CLASS(16, 64, 512) \
- SIZE_CLASS(17, 128, 640) \
- SIZE_CLASS(18, 128, 768) \
- SIZE_CLASS(19, 128, 896) \
- SIZE_CLASS(20, 128, 1024) \
- SIZE_CLASS(21, 256, 1280) \
- SIZE_CLASS(22, 256, 1536) \
- SIZE_CLASS(23, 256, 1792) \
- SIZE_CLASS(24, 256, 2048) \
- SIZE_CLASS(25, 512, 2560) \
- SIZE_CLASS(26, 512, 3072) \
- SIZE_CLASS(27, 512, 3584) \
- SIZE_CLASS(28, 512, 4096) \
- SIZE_CLASS(29, 1024, 5120) \
- SIZE_CLASS(30, 1024, 6144) \
- SIZE_CLASS(31, 1024, 7168) \
-
-#define NBINS 32
-#define SMALL_MAXCLASS 7168
+#define NTBINS 0
+#define NLBINS 28
+#define NBINS 27
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 11) + (((size_t)3) << 9))
#endif
-#if (LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 14)
+#if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 13)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 4, 4, 0, yes, 4) \
+ SC( 1, 4, 4, 1, yes, 4) \
+ SC( 2, 4, 4, 2, yes, 4) \
+ SC( 3, 4, 4, 3, yes, 4) \
+ \
+ SC( 4, 6, 4, 1, yes, 4) \
+ SC( 5, 6, 4, 2, yes, 4) \
+ SC( 6, 6, 4, 3, yes, 4) \
+ SC( 7, 6, 4, 4, yes, 4) \
+ \
+ SC( 8, 7, 5, 1, yes, 5) \
+ SC( 9, 7, 5, 2, yes, 5) \
+ SC( 10, 7, 5, 3, yes, 5) \
+ SC( 11, 7, 5, 4, yes, 5) \
+ \
+ SC( 12, 8, 6, 1, yes, 6) \
+ SC( 13, 8, 6, 2, yes, 6) \
+ SC( 14, 8, 6, 3, yes, 6) \
+ SC( 15, 8, 6, 4, yes, 6) \
+ \
+ SC( 16, 9, 7, 1, yes, 7) \
+ SC( 17, 9, 7, 2, yes, 7) \
+ SC( 18, 9, 7, 3, yes, 7) \
+ SC( 19, 9, 7, 4, yes, 7) \
+ \
+ SC( 20, 10, 8, 1, yes, 8) \
+ SC( 21, 10, 8, 2, yes, 8) \
+ SC( 22, 10, 8, 3, yes, 8) \
+ SC( 23, 10, 8, 4, yes, 8) \
+ \
+ SC( 24, 11, 9, 1, yes, 9) \
+ SC( 25, 11, 9, 2, yes, 9) \
+ SC( 26, 11, 9, 3, yes, 9) \
+ SC( 27, 11, 9, 4, yes, 9) \
+ \
+ SC( 28, 12, 10, 1, yes, no) \
+ SC( 29, 12, 10, 2, yes, no) \
+ SC( 30, 12, 10, 3, yes, no) \
+ SC( 31, 12, 10, 4, no, no) \
+ \
+ SC( 32, 13, 11, 1, no, no) \
+ SC( 33, 13, 11, 2, no, no) \
+ SC( 34, 13, 11, 3, no, no) \
+ SC( 35, 13, 11, 4, no, no) \
+ \
+ SC( 36, 14, 12, 1, no, no) \
+ SC( 37, 14, 12, 2, no, no) \
+ SC( 38, 14, 12, 3, no, no) \
+ SC( 39, 14, 12, 4, no, no) \
+ \
+ SC( 40, 15, 13, 1, no, no) \
+ SC( 41, 15, 13, 2, no, no) \
+ SC( 42, 15, 13, 3, no, no) \
+ SC( 43, 15, 13, 4, no, no) \
+ \
+ SC( 44, 16, 14, 1, no, no) \
+ SC( 45, 16, 14, 2, no, no) \
+ SC( 46, 16, 14, 3, no, no) \
+ SC( 47, 16, 14, 4, no, no) \
+ \
+ SC( 48, 17, 15, 1, no, no) \
+ SC( 49, 17, 15, 2, no, no) \
+ SC( 50, 17, 15, 3, no, no) \
+ SC( 51, 17, 15, 4, no, no) \
+ \
+ SC( 52, 18, 16, 1, no, no) \
+ SC( 53, 18, 16, 2, no, no) \
+ SC( 54, 18, 16, 3, no, no) \
+ SC( 55, 18, 16, 4, no, no) \
+ \
+ SC( 56, 19, 17, 1, no, no) \
+ SC( 57, 19, 17, 2, no, no) \
+ SC( 58, 19, 17, 3, no, no) \
+ SC( 59, 19, 17, 4, no, no) \
+ \
+ SC( 60, 20, 18, 1, no, no) \
+ SC( 61, 20, 18, 2, no, no) \
+ SC( 62, 20, 18, 3, no, no) \
+ SC( 63, 20, 18, 4, no, no) \
+ \
+ SC( 64, 21, 19, 1, no, no) \
+ SC( 65, 21, 19, 2, no, no) \
+ SC( 66, 21, 19, 3, no, no) \
+ SC( 67, 21, 19, 4, no, no) \
+ \
+ SC( 68, 22, 20, 1, no, no) \
+ SC( 69, 22, 20, 2, no, no) \
+ SC( 70, 22, 20, 3, no, no) \
+ SC( 71, 22, 20, 4, no, no) \
+ \
+ SC( 72, 23, 21, 1, no, no) \
+ SC( 73, 23, 21, 2, no, no) \
+ SC( 74, 23, 21, 3, no, no) \
+ SC( 75, 23, 21, 4, no, no) \
+ \
+ SC( 76, 24, 22, 1, no, no) \
+ SC( 77, 24, 22, 2, no, no) \
+ SC( 78, 24, 22, 3, no, no) \
+ SC( 79, 24, 22, 4, no, no) \
+ \
+ SC( 80, 25, 23, 1, no, no) \
+ SC( 81, 25, 23, 2, no, no) \
+ SC( 82, 25, 23, 3, no, no) \
+ SC( 83, 25, 23, 4, no, no) \
+ \
+ SC( 84, 26, 24, 1, no, no) \
+ SC( 85, 26, 24, 2, no, no) \
+ SC( 86, 26, 24, 3, no, no) \
+ SC( 87, 26, 24, 4, no, no) \
+ \
+ SC( 88, 27, 25, 1, no, no) \
+ SC( 89, 27, 25, 2, no, no) \
+ SC( 90, 27, 25, 3, no, no) \
+ SC( 91, 27, 25, 4, no, no) \
+ \
+ SC( 92, 28, 26, 1, no, no) \
+ SC( 93, 28, 26, 2, no, no) \
+ SC( 94, 28, 26, 3, no, no) \
+ SC( 95, 28, 26, 4, no, no) \
+ \
+ SC( 96, 29, 27, 1, no, no) \
+ SC( 97, 29, 27, 2, no, no) \
+ SC( 98, 29, 27, 3, no, no) \
+ SC( 99, 29, 27, 4, no, no) \
+ \
+ SC(100, 30, 28, 1, no, no) \
+ SC(101, 30, 28, 2, no, no) \
+ SC(102, 30, 28, 3, no, no) \
+ SC(103, 30, 28, 4, no, no) \
+ \
+ SC(104, 31, 29, 1, no, no) \
+ SC(105, 31, 29, 2, no, no) \
+ SC(106, 31, 29, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 8, 8) \
- SIZE_CLASS(1, 8, 16) \
- SIZE_CLASS(2, 16, 32) \
- SIZE_CLASS(3, 16, 48) \
- SIZE_CLASS(4, 16, 64) \
- SIZE_CLASS(5, 16, 80) \
- SIZE_CLASS(6, 16, 96) \
- SIZE_CLASS(7, 16, 112) \
- SIZE_CLASS(8, 16, 128) \
- SIZE_CLASS(9, 32, 160) \
- SIZE_CLASS(10, 32, 192) \
- SIZE_CLASS(11, 32, 224) \
- SIZE_CLASS(12, 32, 256) \
- SIZE_CLASS(13, 64, 320) \
- SIZE_CLASS(14, 64, 384) \
- SIZE_CLASS(15, 64, 448) \
- SIZE_CLASS(16, 64, 512) \
- SIZE_CLASS(17, 128, 640) \
- SIZE_CLASS(18, 128, 768) \
- SIZE_CLASS(19, 128, 896) \
- SIZE_CLASS(20, 128, 1024) \
- SIZE_CLASS(21, 256, 1280) \
- SIZE_CLASS(22, 256, 1536) \
- SIZE_CLASS(23, 256, 1792) \
- SIZE_CLASS(24, 256, 2048) \
- SIZE_CLASS(25, 512, 2560) \
- SIZE_CLASS(26, 512, 3072) \
- SIZE_CLASS(27, 512, 3584) \
- SIZE_CLASS(28, 512, 4096) \
- SIZE_CLASS(29, 1024, 5120) \
- SIZE_CLASS(30, 1024, 6144) \
- SIZE_CLASS(31, 1024, 7168) \
- SIZE_CLASS(32, 1024, 8192) \
- SIZE_CLASS(33, 2048, 10240) \
- SIZE_CLASS(34, 2048, 12288) \
- SIZE_CLASS(35, 2048, 14336) \
-
-#define NBINS 36
-#define SMALL_MAXCLASS 14336
+#define NTBINS 0
+#define NLBINS 28
+#define NBINS 31
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 12) + (((size_t)3) << 10))
#endif
-#if (LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 15)
+#if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 16)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 4, 4, 0, yes, 4) \
+ SC( 1, 4, 4, 1, yes, 4) \
+ SC( 2, 4, 4, 2, yes, 4) \
+ SC( 3, 4, 4, 3, yes, 4) \
+ \
+ SC( 4, 6, 4, 1, yes, 4) \
+ SC( 5, 6, 4, 2, yes, 4) \
+ SC( 6, 6, 4, 3, yes, 4) \
+ SC( 7, 6, 4, 4, yes, 4) \
+ \
+ SC( 8, 7, 5, 1, yes, 5) \
+ SC( 9, 7, 5, 2, yes, 5) \
+ SC( 10, 7, 5, 3, yes, 5) \
+ SC( 11, 7, 5, 4, yes, 5) \
+ \
+ SC( 12, 8, 6, 1, yes, 6) \
+ SC( 13, 8, 6, 2, yes, 6) \
+ SC( 14, 8, 6, 3, yes, 6) \
+ SC( 15, 8, 6, 4, yes, 6) \
+ \
+ SC( 16, 9, 7, 1, yes, 7) \
+ SC( 17, 9, 7, 2, yes, 7) \
+ SC( 18, 9, 7, 3, yes, 7) \
+ SC( 19, 9, 7, 4, yes, 7) \
+ \
+ SC( 20, 10, 8, 1, yes, 8) \
+ SC( 21, 10, 8, 2, yes, 8) \
+ SC( 22, 10, 8, 3, yes, 8) \
+ SC( 23, 10, 8, 4, yes, 8) \
+ \
+ SC( 24, 11, 9, 1, yes, 9) \
+ SC( 25, 11, 9, 2, yes, 9) \
+ SC( 26, 11, 9, 3, yes, 9) \
+ SC( 27, 11, 9, 4, yes, 9) \
+ \
+ SC( 28, 12, 10, 1, yes, no) \
+ SC( 29, 12, 10, 2, yes, no) \
+ SC( 30, 12, 10, 3, yes, no) \
+ SC( 31, 12, 10, 4, yes, no) \
+ \
+ SC( 32, 13, 11, 1, yes, no) \
+ SC( 33, 13, 11, 2, yes, no) \
+ SC( 34, 13, 11, 3, yes, no) \
+ SC( 35, 13, 11, 4, yes, no) \
+ \
+ SC( 36, 14, 12, 1, yes, no) \
+ SC( 37, 14, 12, 2, yes, no) \
+ SC( 38, 14, 12, 3, yes, no) \
+ SC( 39, 14, 12, 4, yes, no) \
+ \
+ SC( 40, 15, 13, 1, yes, no) \
+ SC( 41, 15, 13, 2, yes, no) \
+ SC( 42, 15, 13, 3, yes, no) \
+ SC( 43, 15, 13, 4, no, no) \
+ \
+ SC( 44, 16, 14, 1, no, no) \
+ SC( 45, 16, 14, 2, no, no) \
+ SC( 46, 16, 14, 3, no, no) \
+ SC( 47, 16, 14, 4, no, no) \
+ \
+ SC( 48, 17, 15, 1, no, no) \
+ SC( 49, 17, 15, 2, no, no) \
+ SC( 50, 17, 15, 3, no, no) \
+ SC( 51, 17, 15, 4, no, no) \
+ \
+ SC( 52, 18, 16, 1, no, no) \
+ SC( 53, 18, 16, 2, no, no) \
+ SC( 54, 18, 16, 3, no, no) \
+ SC( 55, 18, 16, 4, no, no) \
+ \
+ SC( 56, 19, 17, 1, no, no) \
+ SC( 57, 19, 17, 2, no, no) \
+ SC( 58, 19, 17, 3, no, no) \
+ SC( 59, 19, 17, 4, no, no) \
+ \
+ SC( 60, 20, 18, 1, no, no) \
+ SC( 61, 20, 18, 2, no, no) \
+ SC( 62, 20, 18, 3, no, no) \
+ SC( 63, 20, 18, 4, no, no) \
+ \
+ SC( 64, 21, 19, 1, no, no) \
+ SC( 65, 21, 19, 2, no, no) \
+ SC( 66, 21, 19, 3, no, no) \
+ SC( 67, 21, 19, 4, no, no) \
+ \
+ SC( 68, 22, 20, 1, no, no) \
+ SC( 69, 22, 20, 2, no, no) \
+ SC( 70, 22, 20, 3, no, no) \
+ SC( 71, 22, 20, 4, no, no) \
+ \
+ SC( 72, 23, 21, 1, no, no) \
+ SC( 73, 23, 21, 2, no, no) \
+ SC( 74, 23, 21, 3, no, no) \
+ SC( 75, 23, 21, 4, no, no) \
+ \
+ SC( 76, 24, 22, 1, no, no) \
+ SC( 77, 24, 22, 2, no, no) \
+ SC( 78, 24, 22, 3, no, no) \
+ SC( 79, 24, 22, 4, no, no) \
+ \
+ SC( 80, 25, 23, 1, no, no) \
+ SC( 81, 25, 23, 2, no, no) \
+ SC( 82, 25, 23, 3, no, no) \
+ SC( 83, 25, 23, 4, no, no) \
+ \
+ SC( 84, 26, 24, 1, no, no) \
+ SC( 85, 26, 24, 2, no, no) \
+ SC( 86, 26, 24, 3, no, no) \
+ SC( 87, 26, 24, 4, no, no) \
+ \
+ SC( 88, 27, 25, 1, no, no) \
+ SC( 89, 27, 25, 2, no, no) \
+ SC( 90, 27, 25, 3, no, no) \
+ SC( 91, 27, 25, 4, no, no) \
+ \
+ SC( 92, 28, 26, 1, no, no) \
+ SC( 93, 28, 26, 2, no, no) \
+ SC( 94, 28, 26, 3, no, no) \
+ SC( 95, 28, 26, 4, no, no) \
+ \
+ SC( 96, 29, 27, 1, no, no) \
+ SC( 97, 29, 27, 2, no, no) \
+ SC( 98, 29, 27, 3, no, no) \
+ SC( 99, 29, 27, 4, no, no) \
+ \
+ SC(100, 30, 28, 1, no, no) \
+ SC(101, 30, 28, 2, no, no) \
+ SC(102, 30, 28, 3, no, no) \
+ SC(103, 30, 28, 4, no, no) \
+ \
+ SC(104, 31, 29, 1, no, no) \
+ SC(105, 31, 29, 2, no, no) \
+ SC(106, 31, 29, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 8, 8) \
- SIZE_CLASS(1, 8, 16) \
- SIZE_CLASS(2, 16, 32) \
- SIZE_CLASS(3, 16, 48) \
- SIZE_CLASS(4, 16, 64) \
- SIZE_CLASS(5, 16, 80) \
- SIZE_CLASS(6, 16, 96) \
- SIZE_CLASS(7, 16, 112) \
- SIZE_CLASS(8, 16, 128) \
- SIZE_CLASS(9, 32, 160) \
- SIZE_CLASS(10, 32, 192) \
- SIZE_CLASS(11, 32, 224) \
- SIZE_CLASS(12, 32, 256) \
- SIZE_CLASS(13, 64, 320) \
- SIZE_CLASS(14, 64, 384) \
- SIZE_CLASS(15, 64, 448) \
- SIZE_CLASS(16, 64, 512) \
- SIZE_CLASS(17, 128, 640) \
- SIZE_CLASS(18, 128, 768) \
- SIZE_CLASS(19, 128, 896) \
- SIZE_CLASS(20, 128, 1024) \
- SIZE_CLASS(21, 256, 1280) \
- SIZE_CLASS(22, 256, 1536) \
- SIZE_CLASS(23, 256, 1792) \
- SIZE_CLASS(24, 256, 2048) \
- SIZE_CLASS(25, 512, 2560) \
- SIZE_CLASS(26, 512, 3072) \
- SIZE_CLASS(27, 512, 3584) \
- SIZE_CLASS(28, 512, 4096) \
- SIZE_CLASS(29, 1024, 5120) \
- SIZE_CLASS(30, 1024, 6144) \
- SIZE_CLASS(31, 1024, 7168) \
- SIZE_CLASS(32, 1024, 8192) \
- SIZE_CLASS(33, 2048, 10240) \
- SIZE_CLASS(34, 2048, 12288) \
- SIZE_CLASS(35, 2048, 14336) \
- SIZE_CLASS(36, 2048, 16384) \
- SIZE_CLASS(37, 4096, 20480) \
- SIZE_CLASS(38, 4096, 24576) \
- SIZE_CLASS(39, 4096, 28672) \
-
-#define NBINS 40
-#define SMALL_MAXCLASS 28672
+#define NTBINS 0
+#define NLBINS 28
+#define NBINS 43
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
#endif
-#if (LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 16)
+#if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 12)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 3, 3, 2, yes, 3) \
+ SC( 3, 3, 3, 3, yes, 3) \
+ \
+ SC( 4, 5, 3, 1, yes, 3) \
+ SC( 5, 5, 3, 2, yes, 3) \
+ SC( 6, 5, 3, 3, yes, 3) \
+ SC( 7, 5, 3, 4, yes, 3) \
+ \
+ SC( 8, 6, 4, 1, yes, 4) \
+ SC( 9, 6, 4, 2, yes, 4) \
+ SC( 10, 6, 4, 3, yes, 4) \
+ SC( 11, 6, 4, 4, yes, 4) \
+ \
+ SC( 12, 7, 5, 1, yes, 5) \
+ SC( 13, 7, 5, 2, yes, 5) \
+ SC( 14, 7, 5, 3, yes, 5) \
+ SC( 15, 7, 5, 4, yes, 5) \
+ \
+ SC( 16, 8, 6, 1, yes, 6) \
+ SC( 17, 8, 6, 2, yes, 6) \
+ SC( 18, 8, 6, 3, yes, 6) \
+ SC( 19, 8, 6, 4, yes, 6) \
+ \
+ SC( 20, 9, 7, 1, yes, 7) \
+ SC( 21, 9, 7, 2, yes, 7) \
+ SC( 22, 9, 7, 3, yes, 7) \
+ SC( 23, 9, 7, 4, yes, 7) \
+ \
+ SC( 24, 10, 8, 1, yes, 8) \
+ SC( 25, 10, 8, 2, yes, 8) \
+ SC( 26, 10, 8, 3, yes, 8) \
+ SC( 27, 10, 8, 4, yes, 8) \
+ \
+ SC( 28, 11, 9, 1, yes, 9) \
+ SC( 29, 11, 9, 2, yes, 9) \
+ SC( 30, 11, 9, 3, yes, 9) \
+ SC( 31, 11, 9, 4, no, 9) \
+ \
+ SC( 32, 12, 10, 1, no, no) \
+ SC( 33, 12, 10, 2, no, no) \
+ SC( 34, 12, 10, 3, no, no) \
+ SC( 35, 12, 10, 4, no, no) \
+ \
+ SC( 36, 13, 11, 1, no, no) \
+ SC( 37, 13, 11, 2, no, no) \
+ SC( 38, 13, 11, 3, no, no) \
+ SC( 39, 13, 11, 4, no, no) \
+ \
+ SC( 40, 14, 12, 1, no, no) \
+ SC( 41, 14, 12, 2, no, no) \
+ SC( 42, 14, 12, 3, no, no) \
+ SC( 43, 14, 12, 4, no, no) \
+ \
+ SC( 44, 15, 13, 1, no, no) \
+ SC( 45, 15, 13, 2, no, no) \
+ SC( 46, 15, 13, 3, no, no) \
+ SC( 47, 15, 13, 4, no, no) \
+ \
+ SC( 48, 16, 14, 1, no, no) \
+ SC( 49, 16, 14, 2, no, no) \
+ SC( 50, 16, 14, 3, no, no) \
+ SC( 51, 16, 14, 4, no, no) \
+ \
+ SC( 52, 17, 15, 1, no, no) \
+ SC( 53, 17, 15, 2, no, no) \
+ SC( 54, 17, 15, 3, no, no) \
+ SC( 55, 17, 15, 4, no, no) \
+ \
+ SC( 56, 18, 16, 1, no, no) \
+ SC( 57, 18, 16, 2, no, no) \
+ SC( 58, 18, 16, 3, no, no) \
+ SC( 59, 18, 16, 4, no, no) \
+ \
+ SC( 60, 19, 17, 1, no, no) \
+ SC( 61, 19, 17, 2, no, no) \
+ SC( 62, 19, 17, 3, no, no) \
+ SC( 63, 19, 17, 4, no, no) \
+ \
+ SC( 64, 20, 18, 1, no, no) \
+ SC( 65, 20, 18, 2, no, no) \
+ SC( 66, 20, 18, 3, no, no) \
+ SC( 67, 20, 18, 4, no, no) \
+ \
+ SC( 68, 21, 19, 1, no, no) \
+ SC( 69, 21, 19, 2, no, no) \
+ SC( 70, 21, 19, 3, no, no) \
+ SC( 71, 21, 19, 4, no, no) \
+ \
+ SC( 72, 22, 20, 1, no, no) \
+ SC( 73, 22, 20, 2, no, no) \
+ SC( 74, 22, 20, 3, no, no) \
+ SC( 75, 22, 20, 4, no, no) \
+ \
+ SC( 76, 23, 21, 1, no, no) \
+ SC( 77, 23, 21, 2, no, no) \
+ SC( 78, 23, 21, 3, no, no) \
+ SC( 79, 23, 21, 4, no, no) \
+ \
+ SC( 80, 24, 22, 1, no, no) \
+ SC( 81, 24, 22, 2, no, no) \
+ SC( 82, 24, 22, 3, no, no) \
+ SC( 83, 24, 22, 4, no, no) \
+ \
+ SC( 84, 25, 23, 1, no, no) \
+ SC( 85, 25, 23, 2, no, no) \
+ SC( 86, 25, 23, 3, no, no) \
+ SC( 87, 25, 23, 4, no, no) \
+ \
+ SC( 88, 26, 24, 1, no, no) \
+ SC( 89, 26, 24, 2, no, no) \
+ SC( 90, 26, 24, 3, no, no) \
+ SC( 91, 26, 24, 4, no, no) \
+ \
+ SC( 92, 27, 25, 1, no, no) \
+ SC( 93, 27, 25, 2, no, no) \
+ SC( 94, 27, 25, 3, no, no) \
+ SC( 95, 27, 25, 4, no, no) \
+ \
+ SC( 96, 28, 26, 1, no, no) \
+ SC( 97, 28, 26, 2, no, no) \
+ SC( 98, 28, 26, 3, no, no) \
+ SC( 99, 28, 26, 4, no, no) \
+ \
+ SC(100, 29, 27, 1, no, no) \
+ SC(101, 29, 27, 2, no, no) \
+ SC(102, 29, 27, 3, no, no) \
+ SC(103, 29, 27, 4, no, no) \
+ \
+ SC(104, 30, 28, 1, no, no) \
+ SC(105, 30, 28, 2, no, no) \
+ SC(106, 30, 28, 3, no, no) \
+ SC(107, 30, 28, 4, no, no) \
+ \
+ SC(108, 31, 29, 1, no, no) \
+ SC(109, 31, 29, 2, no, no) \
+ SC(110, 31, 29, 3, no, no) \
+ SC(111, 31, 29, 4, no, no) \
+ \
+ SC(112, 32, 30, 1, no, no) \
+ SC(113, 32, 30, 2, no, no) \
+ SC(114, 32, 30, 3, no, no) \
+ SC(115, 32, 30, 4, no, no) \
+ \
+ SC(116, 33, 31, 1, no, no) \
+ SC(117, 33, 31, 2, no, no) \
+ SC(118, 33, 31, 3, no, no) \
+ SC(119, 33, 31, 4, no, no) \
+ \
+ SC(120, 34, 32, 1, no, no) \
+ SC(121, 34, 32, 2, no, no) \
+ SC(122, 34, 32, 3, no, no) \
+ SC(123, 34, 32, 4, no, no) \
+ \
+ SC(124, 35, 33, 1, no, no) \
+ SC(125, 35, 33, 2, no, no) \
+ SC(126, 35, 33, 3, no, no) \
+ SC(127, 35, 33, 4, no, no) \
+ \
+ SC(128, 36, 34, 1, no, no) \
+ SC(129, 36, 34, 2, no, no) \
+ SC(130, 36, 34, 3, no, no) \
+ SC(131, 36, 34, 4, no, no) \
+ \
+ SC(132, 37, 35, 1, no, no) \
+ SC(133, 37, 35, 2, no, no) \
+ SC(134, 37, 35, 3, no, no) \
+ SC(135, 37, 35, 4, no, no) \
+ \
+ SC(136, 38, 36, 1, no, no) \
+ SC(137, 38, 36, 2, no, no) \
+ SC(138, 38, 36, 3, no, no) \
+ SC(139, 38, 36, 4, no, no) \
+ \
+ SC(140, 39, 37, 1, no, no) \
+ SC(141, 39, 37, 2, no, no) \
+ SC(142, 39, 37, 3, no, no) \
+ SC(143, 39, 37, 4, no, no) \
+ \
+ SC(144, 40, 38, 1, no, no) \
+ SC(145, 40, 38, 2, no, no) \
+ SC(146, 40, 38, 3, no, no) \
+ SC(147, 40, 38, 4, no, no) \
+ \
+ SC(148, 41, 39, 1, no, no) \
+ SC(149, 41, 39, 2, no, no) \
+ SC(150, 41, 39, 3, no, no) \
+ SC(151, 41, 39, 4, no, no) \
+ \
+ SC(152, 42, 40, 1, no, no) \
+ SC(153, 42, 40, 2, no, no) \
+ SC(154, 42, 40, 3, no, no) \
+ SC(155, 42, 40, 4, no, no) \
+ \
+ SC(156, 43, 41, 1, no, no) \
+ SC(157, 43, 41, 2, no, no) \
+ SC(158, 43, 41, 3, no, no) \
+ SC(159, 43, 41, 4, no, no) \
+ \
+ SC(160, 44, 42, 1, no, no) \
+ SC(161, 44, 42, 2, no, no) \
+ SC(162, 44, 42, 3, no, no) \
+ SC(163, 44, 42, 4, no, no) \
+ \
+ SC(164, 45, 43, 1, no, no) \
+ SC(165, 45, 43, 2, no, no) \
+ SC(166, 45, 43, 3, no, no) \
+ SC(167, 45, 43, 4, no, no) \
+ \
+ SC(168, 46, 44, 1, no, no) \
+ SC(169, 46, 44, 2, no, no) \
+ SC(170, 46, 44, 3, no, no) \
+ SC(171, 46, 44, 4, no, no) \
+ \
+ SC(172, 47, 45, 1, no, no) \
+ SC(173, 47, 45, 2, no, no) \
+ SC(174, 47, 45, 3, no, no) \
+ SC(175, 47, 45, 4, no, no) \
+ \
+ SC(176, 48, 46, 1, no, no) \
+ SC(177, 48, 46, 2, no, no) \
+ SC(178, 48, 46, 3, no, no) \
+ SC(179, 48, 46, 4, no, no) \
+ \
+ SC(180, 49, 47, 1, no, no) \
+ SC(181, 49, 47, 2, no, no) \
+ SC(182, 49, 47, 3, no, no) \
+ SC(183, 49, 47, 4, no, no) \
+ \
+ SC(184, 50, 48, 1, no, no) \
+ SC(185, 50, 48, 2, no, no) \
+ SC(186, 50, 48, 3, no, no) \
+ SC(187, 50, 48, 4, no, no) \
+ \
+ SC(188, 51, 49, 1, no, no) \
+ SC(189, 51, 49, 2, no, no) \
+ SC(190, 51, 49, 3, no, no) \
+ SC(191, 51, 49, 4, no, no) \
+ \
+ SC(192, 52, 50, 1, no, no) \
+ SC(193, 52, 50, 2, no, no) \
+ SC(194, 52, 50, 3, no, no) \
+ SC(195, 52, 50, 4, no, no) \
+ \
+ SC(196, 53, 51, 1, no, no) \
+ SC(197, 53, 51, 2, no, no) \
+ SC(198, 53, 51, 3, no, no) \
+ SC(199, 53, 51, 4, no, no) \
+ \
+ SC(200, 54, 52, 1, no, no) \
+ SC(201, 54, 52, 2, no, no) \
+ SC(202, 54, 52, 3, no, no) \
+ SC(203, 54, 52, 4, no, no) \
+ \
+ SC(204, 55, 53, 1, no, no) \
+ SC(205, 55, 53, 2, no, no) \
+ SC(206, 55, 53, 3, no, no) \
+ SC(207, 55, 53, 4, no, no) \
+ \
+ SC(208, 56, 54, 1, no, no) \
+ SC(209, 56, 54, 2, no, no) \
+ SC(210, 56, 54, 3, no, no) \
+ SC(211, 56, 54, 4, no, no) \
+ \
+ SC(212, 57, 55, 1, no, no) \
+ SC(213, 57, 55, 2, no, no) \
+ SC(214, 57, 55, 3, no, no) \
+ SC(215, 57, 55, 4, no, no) \
+ \
+ SC(216, 58, 56, 1, no, no) \
+ SC(217, 58, 56, 2, no, no) \
+ SC(218, 58, 56, 3, no, no) \
+ SC(219, 58, 56, 4, no, no) \
+ \
+ SC(220, 59, 57, 1, no, no) \
+ SC(221, 59, 57, 2, no, no) \
+ SC(222, 59, 57, 3, no, no) \
+ SC(223, 59, 57, 4, no, no) \
+ \
+ SC(224, 60, 58, 1, no, no) \
+ SC(225, 60, 58, 2, no, no) \
+ SC(226, 60, 58, 3, no, no) \
+ SC(227, 60, 58, 4, no, no) \
+ \
+ SC(228, 61, 59, 1, no, no) \
+ SC(229, 61, 59, 2, no, no) \
+ SC(230, 61, 59, 3, no, no) \
+ SC(231, 61, 59, 4, no, no) \
+ \
+ SC(232, 62, 60, 1, no, no) \
+ SC(233, 62, 60, 2, no, no) \
+ SC(234, 62, 60, 3, no, no) \
+ SC(235, 62, 60, 4, no, no) \
+ \
+ SC(236, 63, 61, 1, no, no) \
+ SC(237, 63, 61, 2, no, no) \
+ SC(238, 63, 61, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 8, 8) \
- SIZE_CLASS(1, 8, 16) \
- SIZE_CLASS(2, 16, 32) \
- SIZE_CLASS(3, 16, 48) \
- SIZE_CLASS(4, 16, 64) \
- SIZE_CLASS(5, 16, 80) \
- SIZE_CLASS(6, 16, 96) \
- SIZE_CLASS(7, 16, 112) \
- SIZE_CLASS(8, 16, 128) \
- SIZE_CLASS(9, 32, 160) \
- SIZE_CLASS(10, 32, 192) \
- SIZE_CLASS(11, 32, 224) \
- SIZE_CLASS(12, 32, 256) \
- SIZE_CLASS(13, 64, 320) \
- SIZE_CLASS(14, 64, 384) \
- SIZE_CLASS(15, 64, 448) \
- SIZE_CLASS(16, 64, 512) \
- SIZE_CLASS(17, 128, 640) \
- SIZE_CLASS(18, 128, 768) \
- SIZE_CLASS(19, 128, 896) \
- SIZE_CLASS(20, 128, 1024) \
- SIZE_CLASS(21, 256, 1280) \
- SIZE_CLASS(22, 256, 1536) \
- SIZE_CLASS(23, 256, 1792) \
- SIZE_CLASS(24, 256, 2048) \
- SIZE_CLASS(25, 512, 2560) \
- SIZE_CLASS(26, 512, 3072) \
- SIZE_CLASS(27, 512, 3584) \
- SIZE_CLASS(28, 512, 4096) \
- SIZE_CLASS(29, 1024, 5120) \
- SIZE_CLASS(30, 1024, 6144) \
- SIZE_CLASS(31, 1024, 7168) \
- SIZE_CLASS(32, 1024, 8192) \
- SIZE_CLASS(33, 2048, 10240) \
- SIZE_CLASS(34, 2048, 12288) \
- SIZE_CLASS(35, 2048, 14336) \
- SIZE_CLASS(36, 2048, 16384) \
- SIZE_CLASS(37, 4096, 20480) \
- SIZE_CLASS(38, 4096, 24576) \
- SIZE_CLASS(39, 4096, 28672) \
- SIZE_CLASS(40, 4096, 32768) \
- SIZE_CLASS(41, 8192, 40960) \
- SIZE_CLASS(42, 8192, 49152) \
- SIZE_CLASS(43, 8192, 57344) \
-
-#define NBINS 44
-#define SMALL_MAXCLASS 57344
+#define NTBINS 0
+#define NLBINS 32
+#define NBINS 31
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 11) + (((size_t)3) << 9))
#endif
-#if (LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 12)
+#if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 13)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 3, 3, 2, yes, 3) \
+ SC( 3, 3, 3, 3, yes, 3) \
+ \
+ SC( 4, 5, 3, 1, yes, 3) \
+ SC( 5, 5, 3, 2, yes, 3) \
+ SC( 6, 5, 3, 3, yes, 3) \
+ SC( 7, 5, 3, 4, yes, 3) \
+ \
+ SC( 8, 6, 4, 1, yes, 4) \
+ SC( 9, 6, 4, 2, yes, 4) \
+ SC( 10, 6, 4, 3, yes, 4) \
+ SC( 11, 6, 4, 4, yes, 4) \
+ \
+ SC( 12, 7, 5, 1, yes, 5) \
+ SC( 13, 7, 5, 2, yes, 5) \
+ SC( 14, 7, 5, 3, yes, 5) \
+ SC( 15, 7, 5, 4, yes, 5) \
+ \
+ SC( 16, 8, 6, 1, yes, 6) \
+ SC( 17, 8, 6, 2, yes, 6) \
+ SC( 18, 8, 6, 3, yes, 6) \
+ SC( 19, 8, 6, 4, yes, 6) \
+ \
+ SC( 20, 9, 7, 1, yes, 7) \
+ SC( 21, 9, 7, 2, yes, 7) \
+ SC( 22, 9, 7, 3, yes, 7) \
+ SC( 23, 9, 7, 4, yes, 7) \
+ \
+ SC( 24, 10, 8, 1, yes, 8) \
+ SC( 25, 10, 8, 2, yes, 8) \
+ SC( 26, 10, 8, 3, yes, 8) \
+ SC( 27, 10, 8, 4, yes, 8) \
+ \
+ SC( 28, 11, 9, 1, yes, 9) \
+ SC( 29, 11, 9, 2, yes, 9) \
+ SC( 30, 11, 9, 3, yes, 9) \
+ SC( 31, 11, 9, 4, yes, 9) \
+ \
+ SC( 32, 12, 10, 1, yes, no) \
+ SC( 33, 12, 10, 2, yes, no) \
+ SC( 34, 12, 10, 3, yes, no) \
+ SC( 35, 12, 10, 4, no, no) \
+ \
+ SC( 36, 13, 11, 1, no, no) \
+ SC( 37, 13, 11, 2, no, no) \
+ SC( 38, 13, 11, 3, no, no) \
+ SC( 39, 13, 11, 4, no, no) \
+ \
+ SC( 40, 14, 12, 1, no, no) \
+ SC( 41, 14, 12, 2, no, no) \
+ SC( 42, 14, 12, 3, no, no) \
+ SC( 43, 14, 12, 4, no, no) \
+ \
+ SC( 44, 15, 13, 1, no, no) \
+ SC( 45, 15, 13, 2, no, no) \
+ SC( 46, 15, 13, 3, no, no) \
+ SC( 47, 15, 13, 4, no, no) \
+ \
+ SC( 48, 16, 14, 1, no, no) \
+ SC( 49, 16, 14, 2, no, no) \
+ SC( 50, 16, 14, 3, no, no) \
+ SC( 51, 16, 14, 4, no, no) \
+ \
+ SC( 52, 17, 15, 1, no, no) \
+ SC( 53, 17, 15, 2, no, no) \
+ SC( 54, 17, 15, 3, no, no) \
+ SC( 55, 17, 15, 4, no, no) \
+ \
+ SC( 56, 18, 16, 1, no, no) \
+ SC( 57, 18, 16, 2, no, no) \
+ SC( 58, 18, 16, 3, no, no) \
+ SC( 59, 18, 16, 4, no, no) \
+ \
+ SC( 60, 19, 17, 1, no, no) \
+ SC( 61, 19, 17, 2, no, no) \
+ SC( 62, 19, 17, 3, no, no) \
+ SC( 63, 19, 17, 4, no, no) \
+ \
+ SC( 64, 20, 18, 1, no, no) \
+ SC( 65, 20, 18, 2, no, no) \
+ SC( 66, 20, 18, 3, no, no) \
+ SC( 67, 20, 18, 4, no, no) \
+ \
+ SC( 68, 21, 19, 1, no, no) \
+ SC( 69, 21, 19, 2, no, no) \
+ SC( 70, 21, 19, 3, no, no) \
+ SC( 71, 21, 19, 4, no, no) \
+ \
+ SC( 72, 22, 20, 1, no, no) \
+ SC( 73, 22, 20, 2, no, no) \
+ SC( 74, 22, 20, 3, no, no) \
+ SC( 75, 22, 20, 4, no, no) \
+ \
+ SC( 76, 23, 21, 1, no, no) \
+ SC( 77, 23, 21, 2, no, no) \
+ SC( 78, 23, 21, 3, no, no) \
+ SC( 79, 23, 21, 4, no, no) \
+ \
+ SC( 80, 24, 22, 1, no, no) \
+ SC( 81, 24, 22, 2, no, no) \
+ SC( 82, 24, 22, 3, no, no) \
+ SC( 83, 24, 22, 4, no, no) \
+ \
+ SC( 84, 25, 23, 1, no, no) \
+ SC( 85, 25, 23, 2, no, no) \
+ SC( 86, 25, 23, 3, no, no) \
+ SC( 87, 25, 23, 4, no, no) \
+ \
+ SC( 88, 26, 24, 1, no, no) \
+ SC( 89, 26, 24, 2, no, no) \
+ SC( 90, 26, 24, 3, no, no) \
+ SC( 91, 26, 24, 4, no, no) \
+ \
+ SC( 92, 27, 25, 1, no, no) \
+ SC( 93, 27, 25, 2, no, no) \
+ SC( 94, 27, 25, 3, no, no) \
+ SC( 95, 27, 25, 4, no, no) \
+ \
+ SC( 96, 28, 26, 1, no, no) \
+ SC( 97, 28, 26, 2, no, no) \
+ SC( 98, 28, 26, 3, no, no) \
+ SC( 99, 28, 26, 4, no, no) \
+ \
+ SC(100, 29, 27, 1, no, no) \
+ SC(101, 29, 27, 2, no, no) \
+ SC(102, 29, 27, 3, no, no) \
+ SC(103, 29, 27, 4, no, no) \
+ \
+ SC(104, 30, 28, 1, no, no) \
+ SC(105, 30, 28, 2, no, no) \
+ SC(106, 30, 28, 3, no, no) \
+ SC(107, 30, 28, 4, no, no) \
+ \
+ SC(108, 31, 29, 1, no, no) \
+ SC(109, 31, 29, 2, no, no) \
+ SC(110, 31, 29, 3, no, no) \
+ SC(111, 31, 29, 4, no, no) \
+ \
+ SC(112, 32, 30, 1, no, no) \
+ SC(113, 32, 30, 2, no, no) \
+ SC(114, 32, 30, 3, no, no) \
+ SC(115, 32, 30, 4, no, no) \
+ \
+ SC(116, 33, 31, 1, no, no) \
+ SC(117, 33, 31, 2, no, no) \
+ SC(118, 33, 31, 3, no, no) \
+ SC(119, 33, 31, 4, no, no) \
+ \
+ SC(120, 34, 32, 1, no, no) \
+ SC(121, 34, 32, 2, no, no) \
+ SC(122, 34, 32, 3, no, no) \
+ SC(123, 34, 32, 4, no, no) \
+ \
+ SC(124, 35, 33, 1, no, no) \
+ SC(125, 35, 33, 2, no, no) \
+ SC(126, 35, 33, 3, no, no) \
+ SC(127, 35, 33, 4, no, no) \
+ \
+ SC(128, 36, 34, 1, no, no) \
+ SC(129, 36, 34, 2, no, no) \
+ SC(130, 36, 34, 3, no, no) \
+ SC(131, 36, 34, 4, no, no) \
+ \
+ SC(132, 37, 35, 1, no, no) \
+ SC(133, 37, 35, 2, no, no) \
+ SC(134, 37, 35, 3, no, no) \
+ SC(135, 37, 35, 4, no, no) \
+ \
+ SC(136, 38, 36, 1, no, no) \
+ SC(137, 38, 36, 2, no, no) \
+ SC(138, 38, 36, 3, no, no) \
+ SC(139, 38, 36, 4, no, no) \
+ \
+ SC(140, 39, 37, 1, no, no) \
+ SC(141, 39, 37, 2, no, no) \
+ SC(142, 39, 37, 3, no, no) \
+ SC(143, 39, 37, 4, no, no) \
+ \
+ SC(144, 40, 38, 1, no, no) \
+ SC(145, 40, 38, 2, no, no) \
+ SC(146, 40, 38, 3, no, no) \
+ SC(147, 40, 38, 4, no, no) \
+ \
+ SC(148, 41, 39, 1, no, no) \
+ SC(149, 41, 39, 2, no, no) \
+ SC(150, 41, 39, 3, no, no) \
+ SC(151, 41, 39, 4, no, no) \
+ \
+ SC(152, 42, 40, 1, no, no) \
+ SC(153, 42, 40, 2, no, no) \
+ SC(154, 42, 40, 3, no, no) \
+ SC(155, 42, 40, 4, no, no) \
+ \
+ SC(156, 43, 41, 1, no, no) \
+ SC(157, 43, 41, 2, no, no) \
+ SC(158, 43, 41, 3, no, no) \
+ SC(159, 43, 41, 4, no, no) \
+ \
+ SC(160, 44, 42, 1, no, no) \
+ SC(161, 44, 42, 2, no, no) \
+ SC(162, 44, 42, 3, no, no) \
+ SC(163, 44, 42, 4, no, no) \
+ \
+ SC(164, 45, 43, 1, no, no) \
+ SC(165, 45, 43, 2, no, no) \
+ SC(166, 45, 43, 3, no, no) \
+ SC(167, 45, 43, 4, no, no) \
+ \
+ SC(168, 46, 44, 1, no, no) \
+ SC(169, 46, 44, 2, no, no) \
+ SC(170, 46, 44, 3, no, no) \
+ SC(171, 46, 44, 4, no, no) \
+ \
+ SC(172, 47, 45, 1, no, no) \
+ SC(173, 47, 45, 2, no, no) \
+ SC(174, 47, 45, 3, no, no) \
+ SC(175, 47, 45, 4, no, no) \
+ \
+ SC(176, 48, 46, 1, no, no) \
+ SC(177, 48, 46, 2, no, no) \
+ SC(178, 48, 46, 3, no, no) \
+ SC(179, 48, 46, 4, no, no) \
+ \
+ SC(180, 49, 47, 1, no, no) \
+ SC(181, 49, 47, 2, no, no) \
+ SC(182, 49, 47, 3, no, no) \
+ SC(183, 49, 47, 4, no, no) \
+ \
+ SC(184, 50, 48, 1, no, no) \
+ SC(185, 50, 48, 2, no, no) \
+ SC(186, 50, 48, 3, no, no) \
+ SC(187, 50, 48, 4, no, no) \
+ \
+ SC(188, 51, 49, 1, no, no) \
+ SC(189, 51, 49, 2, no, no) \
+ SC(190, 51, 49, 3, no, no) \
+ SC(191, 51, 49, 4, no, no) \
+ \
+ SC(192, 52, 50, 1, no, no) \
+ SC(193, 52, 50, 2, no, no) \
+ SC(194, 52, 50, 3, no, no) \
+ SC(195, 52, 50, 4, no, no) \
+ \
+ SC(196, 53, 51, 1, no, no) \
+ SC(197, 53, 51, 2, no, no) \
+ SC(198, 53, 51, 3, no, no) \
+ SC(199, 53, 51, 4, no, no) \
+ \
+ SC(200, 54, 52, 1, no, no) \
+ SC(201, 54, 52, 2, no, no) \
+ SC(202, 54, 52, 3, no, no) \
+ SC(203, 54, 52, 4, no, no) \
+ \
+ SC(204, 55, 53, 1, no, no) \
+ SC(205, 55, 53, 2, no, no) \
+ SC(206, 55, 53, 3, no, no) \
+ SC(207, 55, 53, 4, no, no) \
+ \
+ SC(208, 56, 54, 1, no, no) \
+ SC(209, 56, 54, 2, no, no) \
+ SC(210, 56, 54, 3, no, no) \
+ SC(211, 56, 54, 4, no, no) \
+ \
+ SC(212, 57, 55, 1, no, no) \
+ SC(213, 57, 55, 2, no, no) \
+ SC(214, 57, 55, 3, no, no) \
+ SC(215, 57, 55, 4, no, no) \
+ \
+ SC(216, 58, 56, 1, no, no) \
+ SC(217, 58, 56, 2, no, no) \
+ SC(218, 58, 56, 3, no, no) \
+ SC(219, 58, 56, 4, no, no) \
+ \
+ SC(220, 59, 57, 1, no, no) \
+ SC(221, 59, 57, 2, no, no) \
+ SC(222, 59, 57, 3, no, no) \
+ SC(223, 59, 57, 4, no, no) \
+ \
+ SC(224, 60, 58, 1, no, no) \
+ SC(225, 60, 58, 2, no, no) \
+ SC(226, 60, 58, 3, no, no) \
+ SC(227, 60, 58, 4, no, no) \
+ \
+ SC(228, 61, 59, 1, no, no) \
+ SC(229, 61, 59, 2, no, no) \
+ SC(230, 61, 59, 3, no, no) \
+ SC(231, 61, 59, 4, no, no) \
+ \
+ SC(232, 62, 60, 1, no, no) \
+ SC(233, 62, 60, 2, no, no) \
+ SC(234, 62, 60, 3, no, no) \
+ SC(235, 62, 60, 4, no, no) \
+ \
+ SC(236, 63, 61, 1, no, no) \
+ SC(237, 63, 61, 2, no, no) \
+ SC(238, 63, 61, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 16, 16) \
- SIZE_CLASS(1, 16, 32) \
- SIZE_CLASS(2, 16, 48) \
- SIZE_CLASS(3, 16, 64) \
- SIZE_CLASS(4, 16, 80) \
- SIZE_CLASS(5, 16, 96) \
- SIZE_CLASS(6, 16, 112) \
- SIZE_CLASS(7, 16, 128) \
- SIZE_CLASS(8, 32, 160) \
- SIZE_CLASS(9, 32, 192) \
- SIZE_CLASS(10, 32, 224) \
- SIZE_CLASS(11, 32, 256) \
- SIZE_CLASS(12, 64, 320) \
- SIZE_CLASS(13, 64, 384) \
- SIZE_CLASS(14, 64, 448) \
- SIZE_CLASS(15, 64, 512) \
- SIZE_CLASS(16, 128, 640) \
- SIZE_CLASS(17, 128, 768) \
- SIZE_CLASS(18, 128, 896) \
- SIZE_CLASS(19, 128, 1024) \
- SIZE_CLASS(20, 256, 1280) \
- SIZE_CLASS(21, 256, 1536) \
- SIZE_CLASS(22, 256, 1792) \
- SIZE_CLASS(23, 256, 2048) \
- SIZE_CLASS(24, 512, 2560) \
- SIZE_CLASS(25, 512, 3072) \
- SIZE_CLASS(26, 512, 3584) \
-
-#define NBINS 27
-#define SMALL_MAXCLASS 3584
+#define NTBINS 0
+#define NLBINS 32
+#define NBINS 35
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 12) + (((size_t)3) << 10))
#endif
-#if (LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 13)
+#if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 16)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 3, 3, 2, yes, 3) \
+ SC( 3, 3, 3, 3, yes, 3) \
+ \
+ SC( 4, 5, 3, 1, yes, 3) \
+ SC( 5, 5, 3, 2, yes, 3) \
+ SC( 6, 5, 3, 3, yes, 3) \
+ SC( 7, 5, 3, 4, yes, 3) \
+ \
+ SC( 8, 6, 4, 1, yes, 4) \
+ SC( 9, 6, 4, 2, yes, 4) \
+ SC( 10, 6, 4, 3, yes, 4) \
+ SC( 11, 6, 4, 4, yes, 4) \
+ \
+ SC( 12, 7, 5, 1, yes, 5) \
+ SC( 13, 7, 5, 2, yes, 5) \
+ SC( 14, 7, 5, 3, yes, 5) \
+ SC( 15, 7, 5, 4, yes, 5) \
+ \
+ SC( 16, 8, 6, 1, yes, 6) \
+ SC( 17, 8, 6, 2, yes, 6) \
+ SC( 18, 8, 6, 3, yes, 6) \
+ SC( 19, 8, 6, 4, yes, 6) \
+ \
+ SC( 20, 9, 7, 1, yes, 7) \
+ SC( 21, 9, 7, 2, yes, 7) \
+ SC( 22, 9, 7, 3, yes, 7) \
+ SC( 23, 9, 7, 4, yes, 7) \
+ \
+ SC( 24, 10, 8, 1, yes, 8) \
+ SC( 25, 10, 8, 2, yes, 8) \
+ SC( 26, 10, 8, 3, yes, 8) \
+ SC( 27, 10, 8, 4, yes, 8) \
+ \
+ SC( 28, 11, 9, 1, yes, 9) \
+ SC( 29, 11, 9, 2, yes, 9) \
+ SC( 30, 11, 9, 3, yes, 9) \
+ SC( 31, 11, 9, 4, yes, 9) \
+ \
+ SC( 32, 12, 10, 1, yes, no) \
+ SC( 33, 12, 10, 2, yes, no) \
+ SC( 34, 12, 10, 3, yes, no) \
+ SC( 35, 12, 10, 4, yes, no) \
+ \
+ SC( 36, 13, 11, 1, yes, no) \
+ SC( 37, 13, 11, 2, yes, no) \
+ SC( 38, 13, 11, 3, yes, no) \
+ SC( 39, 13, 11, 4, yes, no) \
+ \
+ SC( 40, 14, 12, 1, yes, no) \
+ SC( 41, 14, 12, 2, yes, no) \
+ SC( 42, 14, 12, 3, yes, no) \
+ SC( 43, 14, 12, 4, yes, no) \
+ \
+ SC( 44, 15, 13, 1, yes, no) \
+ SC( 45, 15, 13, 2, yes, no) \
+ SC( 46, 15, 13, 3, yes, no) \
+ SC( 47, 15, 13, 4, no, no) \
+ \
+ SC( 48, 16, 14, 1, no, no) \
+ SC( 49, 16, 14, 2, no, no) \
+ SC( 50, 16, 14, 3, no, no) \
+ SC( 51, 16, 14, 4, no, no) \
+ \
+ SC( 52, 17, 15, 1, no, no) \
+ SC( 53, 17, 15, 2, no, no) \
+ SC( 54, 17, 15, 3, no, no) \
+ SC( 55, 17, 15, 4, no, no) \
+ \
+ SC( 56, 18, 16, 1, no, no) \
+ SC( 57, 18, 16, 2, no, no) \
+ SC( 58, 18, 16, 3, no, no) \
+ SC( 59, 18, 16, 4, no, no) \
+ \
+ SC( 60, 19, 17, 1, no, no) \
+ SC( 61, 19, 17, 2, no, no) \
+ SC( 62, 19, 17, 3, no, no) \
+ SC( 63, 19, 17, 4, no, no) \
+ \
+ SC( 64, 20, 18, 1, no, no) \
+ SC( 65, 20, 18, 2, no, no) \
+ SC( 66, 20, 18, 3, no, no) \
+ SC( 67, 20, 18, 4, no, no) \
+ \
+ SC( 68, 21, 19, 1, no, no) \
+ SC( 69, 21, 19, 2, no, no) \
+ SC( 70, 21, 19, 3, no, no) \
+ SC( 71, 21, 19, 4, no, no) \
+ \
+ SC( 72, 22, 20, 1, no, no) \
+ SC( 73, 22, 20, 2, no, no) \
+ SC( 74, 22, 20, 3, no, no) \
+ SC( 75, 22, 20, 4, no, no) \
+ \
+ SC( 76, 23, 21, 1, no, no) \
+ SC( 77, 23, 21, 2, no, no) \
+ SC( 78, 23, 21, 3, no, no) \
+ SC( 79, 23, 21, 4, no, no) \
+ \
+ SC( 80, 24, 22, 1, no, no) \
+ SC( 81, 24, 22, 2, no, no) \
+ SC( 82, 24, 22, 3, no, no) \
+ SC( 83, 24, 22, 4, no, no) \
+ \
+ SC( 84, 25, 23, 1, no, no) \
+ SC( 85, 25, 23, 2, no, no) \
+ SC( 86, 25, 23, 3, no, no) \
+ SC( 87, 25, 23, 4, no, no) \
+ \
+ SC( 88, 26, 24, 1, no, no) \
+ SC( 89, 26, 24, 2, no, no) \
+ SC( 90, 26, 24, 3, no, no) \
+ SC( 91, 26, 24, 4, no, no) \
+ \
+ SC( 92, 27, 25, 1, no, no) \
+ SC( 93, 27, 25, 2, no, no) \
+ SC( 94, 27, 25, 3, no, no) \
+ SC( 95, 27, 25, 4, no, no) \
+ \
+ SC( 96, 28, 26, 1, no, no) \
+ SC( 97, 28, 26, 2, no, no) \
+ SC( 98, 28, 26, 3, no, no) \
+ SC( 99, 28, 26, 4, no, no) \
+ \
+ SC(100, 29, 27, 1, no, no) \
+ SC(101, 29, 27, 2, no, no) \
+ SC(102, 29, 27, 3, no, no) \
+ SC(103, 29, 27, 4, no, no) \
+ \
+ SC(104, 30, 28, 1, no, no) \
+ SC(105, 30, 28, 2, no, no) \
+ SC(106, 30, 28, 3, no, no) \
+ SC(107, 30, 28, 4, no, no) \
+ \
+ SC(108, 31, 29, 1, no, no) \
+ SC(109, 31, 29, 2, no, no) \
+ SC(110, 31, 29, 3, no, no) \
+ SC(111, 31, 29, 4, no, no) \
+ \
+ SC(112, 32, 30, 1, no, no) \
+ SC(113, 32, 30, 2, no, no) \
+ SC(114, 32, 30, 3, no, no) \
+ SC(115, 32, 30, 4, no, no) \
+ \
+ SC(116, 33, 31, 1, no, no) \
+ SC(117, 33, 31, 2, no, no) \
+ SC(118, 33, 31, 3, no, no) \
+ SC(119, 33, 31, 4, no, no) \
+ \
+ SC(120, 34, 32, 1, no, no) \
+ SC(121, 34, 32, 2, no, no) \
+ SC(122, 34, 32, 3, no, no) \
+ SC(123, 34, 32, 4, no, no) \
+ \
+ SC(124, 35, 33, 1, no, no) \
+ SC(125, 35, 33, 2, no, no) \
+ SC(126, 35, 33, 3, no, no) \
+ SC(127, 35, 33, 4, no, no) \
+ \
+ SC(128, 36, 34, 1, no, no) \
+ SC(129, 36, 34, 2, no, no) \
+ SC(130, 36, 34, 3, no, no) \
+ SC(131, 36, 34, 4, no, no) \
+ \
+ SC(132, 37, 35, 1, no, no) \
+ SC(133, 37, 35, 2, no, no) \
+ SC(134, 37, 35, 3, no, no) \
+ SC(135, 37, 35, 4, no, no) \
+ \
+ SC(136, 38, 36, 1, no, no) \
+ SC(137, 38, 36, 2, no, no) \
+ SC(138, 38, 36, 3, no, no) \
+ SC(139, 38, 36, 4, no, no) \
+ \
+ SC(140, 39, 37, 1, no, no) \
+ SC(141, 39, 37, 2, no, no) \
+ SC(142, 39, 37, 3, no, no) \
+ SC(143, 39, 37, 4, no, no) \
+ \
+ SC(144, 40, 38, 1, no, no) \
+ SC(145, 40, 38, 2, no, no) \
+ SC(146, 40, 38, 3, no, no) \
+ SC(147, 40, 38, 4, no, no) \
+ \
+ SC(148, 41, 39, 1, no, no) \
+ SC(149, 41, 39, 2, no, no) \
+ SC(150, 41, 39, 3, no, no) \
+ SC(151, 41, 39, 4, no, no) \
+ \
+ SC(152, 42, 40, 1, no, no) \
+ SC(153, 42, 40, 2, no, no) \
+ SC(154, 42, 40, 3, no, no) \
+ SC(155, 42, 40, 4, no, no) \
+ \
+ SC(156, 43, 41, 1, no, no) \
+ SC(157, 43, 41, 2, no, no) \
+ SC(158, 43, 41, 3, no, no) \
+ SC(159, 43, 41, 4, no, no) \
+ \
+ SC(160, 44, 42, 1, no, no) \
+ SC(161, 44, 42, 2, no, no) \
+ SC(162, 44, 42, 3, no, no) \
+ SC(163, 44, 42, 4, no, no) \
+ \
+ SC(164, 45, 43, 1, no, no) \
+ SC(165, 45, 43, 2, no, no) \
+ SC(166, 45, 43, 3, no, no) \
+ SC(167, 45, 43, 4, no, no) \
+ \
+ SC(168, 46, 44, 1, no, no) \
+ SC(169, 46, 44, 2, no, no) \
+ SC(170, 46, 44, 3, no, no) \
+ SC(171, 46, 44, 4, no, no) \
+ \
+ SC(172, 47, 45, 1, no, no) \
+ SC(173, 47, 45, 2, no, no) \
+ SC(174, 47, 45, 3, no, no) \
+ SC(175, 47, 45, 4, no, no) \
+ \
+ SC(176, 48, 46, 1, no, no) \
+ SC(177, 48, 46, 2, no, no) \
+ SC(178, 48, 46, 3, no, no) \
+ SC(179, 48, 46, 4, no, no) \
+ \
+ SC(180, 49, 47, 1, no, no) \
+ SC(181, 49, 47, 2, no, no) \
+ SC(182, 49, 47, 3, no, no) \
+ SC(183, 49, 47, 4, no, no) \
+ \
+ SC(184, 50, 48, 1, no, no) \
+ SC(185, 50, 48, 2, no, no) \
+ SC(186, 50, 48, 3, no, no) \
+ SC(187, 50, 48, 4, no, no) \
+ \
+ SC(188, 51, 49, 1, no, no) \
+ SC(189, 51, 49, 2, no, no) \
+ SC(190, 51, 49, 3, no, no) \
+ SC(191, 51, 49, 4, no, no) \
+ \
+ SC(192, 52, 50, 1, no, no) \
+ SC(193, 52, 50, 2, no, no) \
+ SC(194, 52, 50, 3, no, no) \
+ SC(195, 52, 50, 4, no, no) \
+ \
+ SC(196, 53, 51, 1, no, no) \
+ SC(197, 53, 51, 2, no, no) \
+ SC(198, 53, 51, 3, no, no) \
+ SC(199, 53, 51, 4, no, no) \
+ \
+ SC(200, 54, 52, 1, no, no) \
+ SC(201, 54, 52, 2, no, no) \
+ SC(202, 54, 52, 3, no, no) \
+ SC(203, 54, 52, 4, no, no) \
+ \
+ SC(204, 55, 53, 1, no, no) \
+ SC(205, 55, 53, 2, no, no) \
+ SC(206, 55, 53, 3, no, no) \
+ SC(207, 55, 53, 4, no, no) \
+ \
+ SC(208, 56, 54, 1, no, no) \
+ SC(209, 56, 54, 2, no, no) \
+ SC(210, 56, 54, 3, no, no) \
+ SC(211, 56, 54, 4, no, no) \
+ \
+ SC(212, 57, 55, 1, no, no) \
+ SC(213, 57, 55, 2, no, no) \
+ SC(214, 57, 55, 3, no, no) \
+ SC(215, 57, 55, 4, no, no) \
+ \
+ SC(216, 58, 56, 1, no, no) \
+ SC(217, 58, 56, 2, no, no) \
+ SC(218, 58, 56, 3, no, no) \
+ SC(219, 58, 56, 4, no, no) \
+ \
+ SC(220, 59, 57, 1, no, no) \
+ SC(221, 59, 57, 2, no, no) \
+ SC(222, 59, 57, 3, no, no) \
+ SC(223, 59, 57, 4, no, no) \
+ \
+ SC(224, 60, 58, 1, no, no) \
+ SC(225, 60, 58, 2, no, no) \
+ SC(226, 60, 58, 3, no, no) \
+ SC(227, 60, 58, 4, no, no) \
+ \
+ SC(228, 61, 59, 1, no, no) \
+ SC(229, 61, 59, 2, no, no) \
+ SC(230, 61, 59, 3, no, no) \
+ SC(231, 61, 59, 4, no, no) \
+ \
+ SC(232, 62, 60, 1, no, no) \
+ SC(233, 62, 60, 2, no, no) \
+ SC(234, 62, 60, 3, no, no) \
+ SC(235, 62, 60, 4, no, no) \
+ \
+ SC(236, 63, 61, 1, no, no) \
+ SC(237, 63, 61, 2, no, no) \
+ SC(238, 63, 61, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 16, 16) \
- SIZE_CLASS(1, 16, 32) \
- SIZE_CLASS(2, 16, 48) \
- SIZE_CLASS(3, 16, 64) \
- SIZE_CLASS(4, 16, 80) \
- SIZE_CLASS(5, 16, 96) \
- SIZE_CLASS(6, 16, 112) \
- SIZE_CLASS(7, 16, 128) \
- SIZE_CLASS(8, 32, 160) \
- SIZE_CLASS(9, 32, 192) \
- SIZE_CLASS(10, 32, 224) \
- SIZE_CLASS(11, 32, 256) \
- SIZE_CLASS(12, 64, 320) \
- SIZE_CLASS(13, 64, 384) \
- SIZE_CLASS(14, 64, 448) \
- SIZE_CLASS(15, 64, 512) \
- SIZE_CLASS(16, 128, 640) \
- SIZE_CLASS(17, 128, 768) \
- SIZE_CLASS(18, 128, 896) \
- SIZE_CLASS(19, 128, 1024) \
- SIZE_CLASS(20, 256, 1280) \
- SIZE_CLASS(21, 256, 1536) \
- SIZE_CLASS(22, 256, 1792) \
- SIZE_CLASS(23, 256, 2048) \
- SIZE_CLASS(24, 512, 2560) \
- SIZE_CLASS(25, 512, 3072) \
- SIZE_CLASS(26, 512, 3584) \
- SIZE_CLASS(27, 512, 4096) \
- SIZE_CLASS(28, 1024, 5120) \
- SIZE_CLASS(29, 1024, 6144) \
- SIZE_CLASS(30, 1024, 7168) \
-
-#define NBINS 31
-#define SMALL_MAXCLASS 7168
+#define NTBINS 0
+#define NLBINS 32
+#define NBINS 47
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
#endif
-#if (LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 14)
+#if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 12)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 4, 4, 1, yes, 4) \
+ SC( 3, 4, 4, 2, yes, 4) \
+ SC( 4, 4, 4, 3, yes, 4) \
+ \
+ SC( 5, 6, 4, 1, yes, 4) \
+ SC( 6, 6, 4, 2, yes, 4) \
+ SC( 7, 6, 4, 3, yes, 4) \
+ SC( 8, 6, 4, 4, yes, 4) \
+ \
+ SC( 9, 7, 5, 1, yes, 5) \
+ SC( 10, 7, 5, 2, yes, 5) \
+ SC( 11, 7, 5, 3, yes, 5) \
+ SC( 12, 7, 5, 4, yes, 5) \
+ \
+ SC( 13, 8, 6, 1, yes, 6) \
+ SC( 14, 8, 6, 2, yes, 6) \
+ SC( 15, 8, 6, 3, yes, 6) \
+ SC( 16, 8, 6, 4, yes, 6) \
+ \
+ SC( 17, 9, 7, 1, yes, 7) \
+ SC( 18, 9, 7, 2, yes, 7) \
+ SC( 19, 9, 7, 3, yes, 7) \
+ SC( 20, 9, 7, 4, yes, 7) \
+ \
+ SC( 21, 10, 8, 1, yes, 8) \
+ SC( 22, 10, 8, 2, yes, 8) \
+ SC( 23, 10, 8, 3, yes, 8) \
+ SC( 24, 10, 8, 4, yes, 8) \
+ \
+ SC( 25, 11, 9, 1, yes, 9) \
+ SC( 26, 11, 9, 2, yes, 9) \
+ SC( 27, 11, 9, 3, yes, 9) \
+ SC( 28, 11, 9, 4, no, 9) \
+ \
+ SC( 29, 12, 10, 1, no, no) \
+ SC( 30, 12, 10, 2, no, no) \
+ SC( 31, 12, 10, 3, no, no) \
+ SC( 32, 12, 10, 4, no, no) \
+ \
+ SC( 33, 13, 11, 1, no, no) \
+ SC( 34, 13, 11, 2, no, no) \
+ SC( 35, 13, 11, 3, no, no) \
+ SC( 36, 13, 11, 4, no, no) \
+ \
+ SC( 37, 14, 12, 1, no, no) \
+ SC( 38, 14, 12, 2, no, no) \
+ SC( 39, 14, 12, 3, no, no) \
+ SC( 40, 14, 12, 4, no, no) \
+ \
+ SC( 41, 15, 13, 1, no, no) \
+ SC( 42, 15, 13, 2, no, no) \
+ SC( 43, 15, 13, 3, no, no) \
+ SC( 44, 15, 13, 4, no, no) \
+ \
+ SC( 45, 16, 14, 1, no, no) \
+ SC( 46, 16, 14, 2, no, no) \
+ SC( 47, 16, 14, 3, no, no) \
+ SC( 48, 16, 14, 4, no, no) \
+ \
+ SC( 49, 17, 15, 1, no, no) \
+ SC( 50, 17, 15, 2, no, no) \
+ SC( 51, 17, 15, 3, no, no) \
+ SC( 52, 17, 15, 4, no, no) \
+ \
+ SC( 53, 18, 16, 1, no, no) \
+ SC( 54, 18, 16, 2, no, no) \
+ SC( 55, 18, 16, 3, no, no) \
+ SC( 56, 18, 16, 4, no, no) \
+ \
+ SC( 57, 19, 17, 1, no, no) \
+ SC( 58, 19, 17, 2, no, no) \
+ SC( 59, 19, 17, 3, no, no) \
+ SC( 60, 19, 17, 4, no, no) \
+ \
+ SC( 61, 20, 18, 1, no, no) \
+ SC( 62, 20, 18, 2, no, no) \
+ SC( 63, 20, 18, 3, no, no) \
+ SC( 64, 20, 18, 4, no, no) \
+ \
+ SC( 65, 21, 19, 1, no, no) \
+ SC( 66, 21, 19, 2, no, no) \
+ SC( 67, 21, 19, 3, no, no) \
+ SC( 68, 21, 19, 4, no, no) \
+ \
+ SC( 69, 22, 20, 1, no, no) \
+ SC( 70, 22, 20, 2, no, no) \
+ SC( 71, 22, 20, 3, no, no) \
+ SC( 72, 22, 20, 4, no, no) \
+ \
+ SC( 73, 23, 21, 1, no, no) \
+ SC( 74, 23, 21, 2, no, no) \
+ SC( 75, 23, 21, 3, no, no) \
+ SC( 76, 23, 21, 4, no, no) \
+ \
+ SC( 77, 24, 22, 1, no, no) \
+ SC( 78, 24, 22, 2, no, no) \
+ SC( 79, 24, 22, 3, no, no) \
+ SC( 80, 24, 22, 4, no, no) \
+ \
+ SC( 81, 25, 23, 1, no, no) \
+ SC( 82, 25, 23, 2, no, no) \
+ SC( 83, 25, 23, 3, no, no) \
+ SC( 84, 25, 23, 4, no, no) \
+ \
+ SC( 85, 26, 24, 1, no, no) \
+ SC( 86, 26, 24, 2, no, no) \
+ SC( 87, 26, 24, 3, no, no) \
+ SC( 88, 26, 24, 4, no, no) \
+ \
+ SC( 89, 27, 25, 1, no, no) \
+ SC( 90, 27, 25, 2, no, no) \
+ SC( 91, 27, 25, 3, no, no) \
+ SC( 92, 27, 25, 4, no, no) \
+ \
+ SC( 93, 28, 26, 1, no, no) \
+ SC( 94, 28, 26, 2, no, no) \
+ SC( 95, 28, 26, 3, no, no) \
+ SC( 96, 28, 26, 4, no, no) \
+ \
+ SC( 97, 29, 27, 1, no, no) \
+ SC( 98, 29, 27, 2, no, no) \
+ SC( 99, 29, 27, 3, no, no) \
+ SC(100, 29, 27, 4, no, no) \
+ \
+ SC(101, 30, 28, 1, no, no) \
+ SC(102, 30, 28, 2, no, no) \
+ SC(103, 30, 28, 3, no, no) \
+ SC(104, 30, 28, 4, no, no) \
+ \
+ SC(105, 31, 29, 1, no, no) \
+ SC(106, 31, 29, 2, no, no) \
+ SC(107, 31, 29, 3, no, no) \
+ SC(108, 31, 29, 4, no, no) \
+ \
+ SC(109, 32, 30, 1, no, no) \
+ SC(110, 32, 30, 2, no, no) \
+ SC(111, 32, 30, 3, no, no) \
+ SC(112, 32, 30, 4, no, no) \
+ \
+ SC(113, 33, 31, 1, no, no) \
+ SC(114, 33, 31, 2, no, no) \
+ SC(115, 33, 31, 3, no, no) \
+ SC(116, 33, 31, 4, no, no) \
+ \
+ SC(117, 34, 32, 1, no, no) \
+ SC(118, 34, 32, 2, no, no) \
+ SC(119, 34, 32, 3, no, no) \
+ SC(120, 34, 32, 4, no, no) \
+ \
+ SC(121, 35, 33, 1, no, no) \
+ SC(122, 35, 33, 2, no, no) \
+ SC(123, 35, 33, 3, no, no) \
+ SC(124, 35, 33, 4, no, no) \
+ \
+ SC(125, 36, 34, 1, no, no) \
+ SC(126, 36, 34, 2, no, no) \
+ SC(127, 36, 34, 3, no, no) \
+ SC(128, 36, 34, 4, no, no) \
+ \
+ SC(129, 37, 35, 1, no, no) \
+ SC(130, 37, 35, 2, no, no) \
+ SC(131, 37, 35, 3, no, no) \
+ SC(132, 37, 35, 4, no, no) \
+ \
+ SC(133, 38, 36, 1, no, no) \
+ SC(134, 38, 36, 2, no, no) \
+ SC(135, 38, 36, 3, no, no) \
+ SC(136, 38, 36, 4, no, no) \
+ \
+ SC(137, 39, 37, 1, no, no) \
+ SC(138, 39, 37, 2, no, no) \
+ SC(139, 39, 37, 3, no, no) \
+ SC(140, 39, 37, 4, no, no) \
+ \
+ SC(141, 40, 38, 1, no, no) \
+ SC(142, 40, 38, 2, no, no) \
+ SC(143, 40, 38, 3, no, no) \
+ SC(144, 40, 38, 4, no, no) \
+ \
+ SC(145, 41, 39, 1, no, no) \
+ SC(146, 41, 39, 2, no, no) \
+ SC(147, 41, 39, 3, no, no) \
+ SC(148, 41, 39, 4, no, no) \
+ \
+ SC(149, 42, 40, 1, no, no) \
+ SC(150, 42, 40, 2, no, no) \
+ SC(151, 42, 40, 3, no, no) \
+ SC(152, 42, 40, 4, no, no) \
+ \
+ SC(153, 43, 41, 1, no, no) \
+ SC(154, 43, 41, 2, no, no) \
+ SC(155, 43, 41, 3, no, no) \
+ SC(156, 43, 41, 4, no, no) \
+ \
+ SC(157, 44, 42, 1, no, no) \
+ SC(158, 44, 42, 2, no, no) \
+ SC(159, 44, 42, 3, no, no) \
+ SC(160, 44, 42, 4, no, no) \
+ \
+ SC(161, 45, 43, 1, no, no) \
+ SC(162, 45, 43, 2, no, no) \
+ SC(163, 45, 43, 3, no, no) \
+ SC(164, 45, 43, 4, no, no) \
+ \
+ SC(165, 46, 44, 1, no, no) \
+ SC(166, 46, 44, 2, no, no) \
+ SC(167, 46, 44, 3, no, no) \
+ SC(168, 46, 44, 4, no, no) \
+ \
+ SC(169, 47, 45, 1, no, no) \
+ SC(170, 47, 45, 2, no, no) \
+ SC(171, 47, 45, 3, no, no) \
+ SC(172, 47, 45, 4, no, no) \
+ \
+ SC(173, 48, 46, 1, no, no) \
+ SC(174, 48, 46, 2, no, no) \
+ SC(175, 48, 46, 3, no, no) \
+ SC(176, 48, 46, 4, no, no) \
+ \
+ SC(177, 49, 47, 1, no, no) \
+ SC(178, 49, 47, 2, no, no) \
+ SC(179, 49, 47, 3, no, no) \
+ SC(180, 49, 47, 4, no, no) \
+ \
+ SC(181, 50, 48, 1, no, no) \
+ SC(182, 50, 48, 2, no, no) \
+ SC(183, 50, 48, 3, no, no) \
+ SC(184, 50, 48, 4, no, no) \
+ \
+ SC(185, 51, 49, 1, no, no) \
+ SC(186, 51, 49, 2, no, no) \
+ SC(187, 51, 49, 3, no, no) \
+ SC(188, 51, 49, 4, no, no) \
+ \
+ SC(189, 52, 50, 1, no, no) \
+ SC(190, 52, 50, 2, no, no) \
+ SC(191, 52, 50, 3, no, no) \
+ SC(192, 52, 50, 4, no, no) \
+ \
+ SC(193, 53, 51, 1, no, no) \
+ SC(194, 53, 51, 2, no, no) \
+ SC(195, 53, 51, 3, no, no) \
+ SC(196, 53, 51, 4, no, no) \
+ \
+ SC(197, 54, 52, 1, no, no) \
+ SC(198, 54, 52, 2, no, no) \
+ SC(199, 54, 52, 3, no, no) \
+ SC(200, 54, 52, 4, no, no) \
+ \
+ SC(201, 55, 53, 1, no, no) \
+ SC(202, 55, 53, 2, no, no) \
+ SC(203, 55, 53, 3, no, no) \
+ SC(204, 55, 53, 4, no, no) \
+ \
+ SC(205, 56, 54, 1, no, no) \
+ SC(206, 56, 54, 2, no, no) \
+ SC(207, 56, 54, 3, no, no) \
+ SC(208, 56, 54, 4, no, no) \
+ \
+ SC(209, 57, 55, 1, no, no) \
+ SC(210, 57, 55, 2, no, no) \
+ SC(211, 57, 55, 3, no, no) \
+ SC(212, 57, 55, 4, no, no) \
+ \
+ SC(213, 58, 56, 1, no, no) \
+ SC(214, 58, 56, 2, no, no) \
+ SC(215, 58, 56, 3, no, no) \
+ SC(216, 58, 56, 4, no, no) \
+ \
+ SC(217, 59, 57, 1, no, no) \
+ SC(218, 59, 57, 2, no, no) \
+ SC(219, 59, 57, 3, no, no) \
+ SC(220, 59, 57, 4, no, no) \
+ \
+ SC(221, 60, 58, 1, no, no) \
+ SC(222, 60, 58, 2, no, no) \
+ SC(223, 60, 58, 3, no, no) \
+ SC(224, 60, 58, 4, no, no) \
+ \
+ SC(225, 61, 59, 1, no, no) \
+ SC(226, 61, 59, 2, no, no) \
+ SC(227, 61, 59, 3, no, no) \
+ SC(228, 61, 59, 4, no, no) \
+ \
+ SC(229, 62, 60, 1, no, no) \
+ SC(230, 62, 60, 2, no, no) \
+ SC(231, 62, 60, 3, no, no) \
+ SC(232, 62, 60, 4, no, no) \
+ \
+ SC(233, 63, 61, 1, no, no) \
+ SC(234, 63, 61, 2, no, no) \
+ SC(235, 63, 61, 3, no, no) \
+
+#define SIZE_CLASSES_DEFINED
+#define NTBINS 1
+#define NLBINS 29
+#define NBINS 28
+#define LG_TINY_MAXCLASS 3
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 11) + (((size_t)3) << 9))
+#endif
+
+#if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 13)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 4, 4, 1, yes, 4) \
+ SC( 3, 4, 4, 2, yes, 4) \
+ SC( 4, 4, 4, 3, yes, 4) \
+ \
+ SC( 5, 6, 4, 1, yes, 4) \
+ SC( 6, 6, 4, 2, yes, 4) \
+ SC( 7, 6, 4, 3, yes, 4) \
+ SC( 8, 6, 4, 4, yes, 4) \
+ \
+ SC( 9, 7, 5, 1, yes, 5) \
+ SC( 10, 7, 5, 2, yes, 5) \
+ SC( 11, 7, 5, 3, yes, 5) \
+ SC( 12, 7, 5, 4, yes, 5) \
+ \
+ SC( 13, 8, 6, 1, yes, 6) \
+ SC( 14, 8, 6, 2, yes, 6) \
+ SC( 15, 8, 6, 3, yes, 6) \
+ SC( 16, 8, 6, 4, yes, 6) \
+ \
+ SC( 17, 9, 7, 1, yes, 7) \
+ SC( 18, 9, 7, 2, yes, 7) \
+ SC( 19, 9, 7, 3, yes, 7) \
+ SC( 20, 9, 7, 4, yes, 7) \
+ \
+ SC( 21, 10, 8, 1, yes, 8) \
+ SC( 22, 10, 8, 2, yes, 8) \
+ SC( 23, 10, 8, 3, yes, 8) \
+ SC( 24, 10, 8, 4, yes, 8) \
+ \
+ SC( 25, 11, 9, 1, yes, 9) \
+ SC( 26, 11, 9, 2, yes, 9) \
+ SC( 27, 11, 9, 3, yes, 9) \
+ SC( 28, 11, 9, 4, yes, 9) \
+ \
+ SC( 29, 12, 10, 1, yes, no) \
+ SC( 30, 12, 10, 2, yes, no) \
+ SC( 31, 12, 10, 3, yes, no) \
+ SC( 32, 12, 10, 4, no, no) \
+ \
+ SC( 33, 13, 11, 1, no, no) \
+ SC( 34, 13, 11, 2, no, no) \
+ SC( 35, 13, 11, 3, no, no) \
+ SC( 36, 13, 11, 4, no, no) \
+ \
+ SC( 37, 14, 12, 1, no, no) \
+ SC( 38, 14, 12, 2, no, no) \
+ SC( 39, 14, 12, 3, no, no) \
+ SC( 40, 14, 12, 4, no, no) \
+ \
+ SC( 41, 15, 13, 1, no, no) \
+ SC( 42, 15, 13, 2, no, no) \
+ SC( 43, 15, 13, 3, no, no) \
+ SC( 44, 15, 13, 4, no, no) \
+ \
+ SC( 45, 16, 14, 1, no, no) \
+ SC( 46, 16, 14, 2, no, no) \
+ SC( 47, 16, 14, 3, no, no) \
+ SC( 48, 16, 14, 4, no, no) \
+ \
+ SC( 49, 17, 15, 1, no, no) \
+ SC( 50, 17, 15, 2, no, no) \
+ SC( 51, 17, 15, 3, no, no) \
+ SC( 52, 17, 15, 4, no, no) \
+ \
+ SC( 53, 18, 16, 1, no, no) \
+ SC( 54, 18, 16, 2, no, no) \
+ SC( 55, 18, 16, 3, no, no) \
+ SC( 56, 18, 16, 4, no, no) \
+ \
+ SC( 57, 19, 17, 1, no, no) \
+ SC( 58, 19, 17, 2, no, no) \
+ SC( 59, 19, 17, 3, no, no) \
+ SC( 60, 19, 17, 4, no, no) \
+ \
+ SC( 61, 20, 18, 1, no, no) \
+ SC( 62, 20, 18, 2, no, no) \
+ SC( 63, 20, 18, 3, no, no) \
+ SC( 64, 20, 18, 4, no, no) \
+ \
+ SC( 65, 21, 19, 1, no, no) \
+ SC( 66, 21, 19, 2, no, no) \
+ SC( 67, 21, 19, 3, no, no) \
+ SC( 68, 21, 19, 4, no, no) \
+ \
+ SC( 69, 22, 20, 1, no, no) \
+ SC( 70, 22, 20, 2, no, no) \
+ SC( 71, 22, 20, 3, no, no) \
+ SC( 72, 22, 20, 4, no, no) \
+ \
+ SC( 73, 23, 21, 1, no, no) \
+ SC( 74, 23, 21, 2, no, no) \
+ SC( 75, 23, 21, 3, no, no) \
+ SC( 76, 23, 21, 4, no, no) \
+ \
+ SC( 77, 24, 22, 1, no, no) \
+ SC( 78, 24, 22, 2, no, no) \
+ SC( 79, 24, 22, 3, no, no) \
+ SC( 80, 24, 22, 4, no, no) \
+ \
+ SC( 81, 25, 23, 1, no, no) \
+ SC( 82, 25, 23, 2, no, no) \
+ SC( 83, 25, 23, 3, no, no) \
+ SC( 84, 25, 23, 4, no, no) \
+ \
+ SC( 85, 26, 24, 1, no, no) \
+ SC( 86, 26, 24, 2, no, no) \
+ SC( 87, 26, 24, 3, no, no) \
+ SC( 88, 26, 24, 4, no, no) \
+ \
+ SC( 89, 27, 25, 1, no, no) \
+ SC( 90, 27, 25, 2, no, no) \
+ SC( 91, 27, 25, 3, no, no) \
+ SC( 92, 27, 25, 4, no, no) \
+ \
+ SC( 93, 28, 26, 1, no, no) \
+ SC( 94, 28, 26, 2, no, no) \
+ SC( 95, 28, 26, 3, no, no) \
+ SC( 96, 28, 26, 4, no, no) \
+ \
+ SC( 97, 29, 27, 1, no, no) \
+ SC( 98, 29, 27, 2, no, no) \
+ SC( 99, 29, 27, 3, no, no) \
+ SC(100, 29, 27, 4, no, no) \
+ \
+ SC(101, 30, 28, 1, no, no) \
+ SC(102, 30, 28, 2, no, no) \
+ SC(103, 30, 28, 3, no, no) \
+ SC(104, 30, 28, 4, no, no) \
+ \
+ SC(105, 31, 29, 1, no, no) \
+ SC(106, 31, 29, 2, no, no) \
+ SC(107, 31, 29, 3, no, no) \
+ SC(108, 31, 29, 4, no, no) \
+ \
+ SC(109, 32, 30, 1, no, no) \
+ SC(110, 32, 30, 2, no, no) \
+ SC(111, 32, 30, 3, no, no) \
+ SC(112, 32, 30, 4, no, no) \
+ \
+ SC(113, 33, 31, 1, no, no) \
+ SC(114, 33, 31, 2, no, no) \
+ SC(115, 33, 31, 3, no, no) \
+ SC(116, 33, 31, 4, no, no) \
+ \
+ SC(117, 34, 32, 1, no, no) \
+ SC(118, 34, 32, 2, no, no) \
+ SC(119, 34, 32, 3, no, no) \
+ SC(120, 34, 32, 4, no, no) \
+ \
+ SC(121, 35, 33, 1, no, no) \
+ SC(122, 35, 33, 2, no, no) \
+ SC(123, 35, 33, 3, no, no) \
+ SC(124, 35, 33, 4, no, no) \
+ \
+ SC(125, 36, 34, 1, no, no) \
+ SC(126, 36, 34, 2, no, no) \
+ SC(127, 36, 34, 3, no, no) \
+ SC(128, 36, 34, 4, no, no) \
+ \
+ SC(129, 37, 35, 1, no, no) \
+ SC(130, 37, 35, 2, no, no) \
+ SC(131, 37, 35, 3, no, no) \
+ SC(132, 37, 35, 4, no, no) \
+ \
+ SC(133, 38, 36, 1, no, no) \
+ SC(134, 38, 36, 2, no, no) \
+ SC(135, 38, 36, 3, no, no) \
+ SC(136, 38, 36, 4, no, no) \
+ \
+ SC(137, 39, 37, 1, no, no) \
+ SC(138, 39, 37, 2, no, no) \
+ SC(139, 39, 37, 3, no, no) \
+ SC(140, 39, 37, 4, no, no) \
+ \
+ SC(141, 40, 38, 1, no, no) \
+ SC(142, 40, 38, 2, no, no) \
+ SC(143, 40, 38, 3, no, no) \
+ SC(144, 40, 38, 4, no, no) \
+ \
+ SC(145, 41, 39, 1, no, no) \
+ SC(146, 41, 39, 2, no, no) \
+ SC(147, 41, 39, 3, no, no) \
+ SC(148, 41, 39, 4, no, no) \
+ \
+ SC(149, 42, 40, 1, no, no) \
+ SC(150, 42, 40, 2, no, no) \
+ SC(151, 42, 40, 3, no, no) \
+ SC(152, 42, 40, 4, no, no) \
+ \
+ SC(153, 43, 41, 1, no, no) \
+ SC(154, 43, 41, 2, no, no) \
+ SC(155, 43, 41, 3, no, no) \
+ SC(156, 43, 41, 4, no, no) \
+ \
+ SC(157, 44, 42, 1, no, no) \
+ SC(158, 44, 42, 2, no, no) \
+ SC(159, 44, 42, 3, no, no) \
+ SC(160, 44, 42, 4, no, no) \
+ \
+ SC(161, 45, 43, 1, no, no) \
+ SC(162, 45, 43, 2, no, no) \
+ SC(163, 45, 43, 3, no, no) \
+ SC(164, 45, 43, 4, no, no) \
+ \
+ SC(165, 46, 44, 1, no, no) \
+ SC(166, 46, 44, 2, no, no) \
+ SC(167, 46, 44, 3, no, no) \
+ SC(168, 46, 44, 4, no, no) \
+ \
+ SC(169, 47, 45, 1, no, no) \
+ SC(170, 47, 45, 2, no, no) \
+ SC(171, 47, 45, 3, no, no) \
+ SC(172, 47, 45, 4, no, no) \
+ \
+ SC(173, 48, 46, 1, no, no) \
+ SC(174, 48, 46, 2, no, no) \
+ SC(175, 48, 46, 3, no, no) \
+ SC(176, 48, 46, 4, no, no) \
+ \
+ SC(177, 49, 47, 1, no, no) \
+ SC(178, 49, 47, 2, no, no) \
+ SC(179, 49, 47, 3, no, no) \
+ SC(180, 49, 47, 4, no, no) \
+ \
+ SC(181, 50, 48, 1, no, no) \
+ SC(182, 50, 48, 2, no, no) \
+ SC(183, 50, 48, 3, no, no) \
+ SC(184, 50, 48, 4, no, no) \
+ \
+ SC(185, 51, 49, 1, no, no) \
+ SC(186, 51, 49, 2, no, no) \
+ SC(187, 51, 49, 3, no, no) \
+ SC(188, 51, 49, 4, no, no) \
+ \
+ SC(189, 52, 50, 1, no, no) \
+ SC(190, 52, 50, 2, no, no) \
+ SC(191, 52, 50, 3, no, no) \
+ SC(192, 52, 50, 4, no, no) \
+ \
+ SC(193, 53, 51, 1, no, no) \
+ SC(194, 53, 51, 2, no, no) \
+ SC(195, 53, 51, 3, no, no) \
+ SC(196, 53, 51, 4, no, no) \
+ \
+ SC(197, 54, 52, 1, no, no) \
+ SC(198, 54, 52, 2, no, no) \
+ SC(199, 54, 52, 3, no, no) \
+ SC(200, 54, 52, 4, no, no) \
+ \
+ SC(201, 55, 53, 1, no, no) \
+ SC(202, 55, 53, 2, no, no) \
+ SC(203, 55, 53, 3, no, no) \
+ SC(204, 55, 53, 4, no, no) \
+ \
+ SC(205, 56, 54, 1, no, no) \
+ SC(206, 56, 54, 2, no, no) \
+ SC(207, 56, 54, 3, no, no) \
+ SC(208, 56, 54, 4, no, no) \
+ \
+ SC(209, 57, 55, 1, no, no) \
+ SC(210, 57, 55, 2, no, no) \
+ SC(211, 57, 55, 3, no, no) \
+ SC(212, 57, 55, 4, no, no) \
+ \
+ SC(213, 58, 56, 1, no, no) \
+ SC(214, 58, 56, 2, no, no) \
+ SC(215, 58, 56, 3, no, no) \
+ SC(216, 58, 56, 4, no, no) \
+ \
+ SC(217, 59, 57, 1, no, no) \
+ SC(218, 59, 57, 2, no, no) \
+ SC(219, 59, 57, 3, no, no) \
+ SC(220, 59, 57, 4, no, no) \
+ \
+ SC(221, 60, 58, 1, no, no) \
+ SC(222, 60, 58, 2, no, no) \
+ SC(223, 60, 58, 3, no, no) \
+ SC(224, 60, 58, 4, no, no) \
+ \
+ SC(225, 61, 59, 1, no, no) \
+ SC(226, 61, 59, 2, no, no) \
+ SC(227, 61, 59, 3, no, no) \
+ SC(228, 61, 59, 4, no, no) \
+ \
+ SC(229, 62, 60, 1, no, no) \
+ SC(230, 62, 60, 2, no, no) \
+ SC(231, 62, 60, 3, no, no) \
+ SC(232, 62, 60, 4, no, no) \
+ \
+ SC(233, 63, 61, 1, no, no) \
+ SC(234, 63, 61, 2, no, no) \
+ SC(235, 63, 61, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 16, 16) \
- SIZE_CLASS(1, 16, 32) \
- SIZE_CLASS(2, 16, 48) \
- SIZE_CLASS(3, 16, 64) \
- SIZE_CLASS(4, 16, 80) \
- SIZE_CLASS(5, 16, 96) \
- SIZE_CLASS(6, 16, 112) \
- SIZE_CLASS(7, 16, 128) \
- SIZE_CLASS(8, 32, 160) \
- SIZE_CLASS(9, 32, 192) \
- SIZE_CLASS(10, 32, 224) \
- SIZE_CLASS(11, 32, 256) \
- SIZE_CLASS(12, 64, 320) \
- SIZE_CLASS(13, 64, 384) \
- SIZE_CLASS(14, 64, 448) \
- SIZE_CLASS(15, 64, 512) \
- SIZE_CLASS(16, 128, 640) \
- SIZE_CLASS(17, 128, 768) \
- SIZE_CLASS(18, 128, 896) \
- SIZE_CLASS(19, 128, 1024) \
- SIZE_CLASS(20, 256, 1280) \
- SIZE_CLASS(21, 256, 1536) \
- SIZE_CLASS(22, 256, 1792) \
- SIZE_CLASS(23, 256, 2048) \
- SIZE_CLASS(24, 512, 2560) \
- SIZE_CLASS(25, 512, 3072) \
- SIZE_CLASS(26, 512, 3584) \
- SIZE_CLASS(27, 512, 4096) \
- SIZE_CLASS(28, 1024, 5120) \
- SIZE_CLASS(29, 1024, 6144) \
- SIZE_CLASS(30, 1024, 7168) \
- SIZE_CLASS(31, 1024, 8192) \
- SIZE_CLASS(32, 2048, 10240) \
- SIZE_CLASS(33, 2048, 12288) \
- SIZE_CLASS(34, 2048, 14336) \
-
-#define NBINS 35
-#define SMALL_MAXCLASS 14336
+#define NTBINS 1
+#define NLBINS 29
+#define NBINS 32
+#define LG_TINY_MAXCLASS 3
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 12) + (((size_t)3) << 10))
#endif
-#if (LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 15)
+#if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 4 && LG_PAGE == 16)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 3, 3, 0, yes, 3) \
+ \
+ SC( 1, 3, 3, 1, yes, 3) \
+ SC( 2, 4, 4, 1, yes, 4) \
+ SC( 3, 4, 4, 2, yes, 4) \
+ SC( 4, 4, 4, 3, yes, 4) \
+ \
+ SC( 5, 6, 4, 1, yes, 4) \
+ SC( 6, 6, 4, 2, yes, 4) \
+ SC( 7, 6, 4, 3, yes, 4) \
+ SC( 8, 6, 4, 4, yes, 4) \
+ \
+ SC( 9, 7, 5, 1, yes, 5) \
+ SC( 10, 7, 5, 2, yes, 5) \
+ SC( 11, 7, 5, 3, yes, 5) \
+ SC( 12, 7, 5, 4, yes, 5) \
+ \
+ SC( 13, 8, 6, 1, yes, 6) \
+ SC( 14, 8, 6, 2, yes, 6) \
+ SC( 15, 8, 6, 3, yes, 6) \
+ SC( 16, 8, 6, 4, yes, 6) \
+ \
+ SC( 17, 9, 7, 1, yes, 7) \
+ SC( 18, 9, 7, 2, yes, 7) \
+ SC( 19, 9, 7, 3, yes, 7) \
+ SC( 20, 9, 7, 4, yes, 7) \
+ \
+ SC( 21, 10, 8, 1, yes, 8) \
+ SC( 22, 10, 8, 2, yes, 8) \
+ SC( 23, 10, 8, 3, yes, 8) \
+ SC( 24, 10, 8, 4, yes, 8) \
+ \
+ SC( 25, 11, 9, 1, yes, 9) \
+ SC( 26, 11, 9, 2, yes, 9) \
+ SC( 27, 11, 9, 3, yes, 9) \
+ SC( 28, 11, 9, 4, yes, 9) \
+ \
+ SC( 29, 12, 10, 1, yes, no) \
+ SC( 30, 12, 10, 2, yes, no) \
+ SC( 31, 12, 10, 3, yes, no) \
+ SC( 32, 12, 10, 4, yes, no) \
+ \
+ SC( 33, 13, 11, 1, yes, no) \
+ SC( 34, 13, 11, 2, yes, no) \
+ SC( 35, 13, 11, 3, yes, no) \
+ SC( 36, 13, 11, 4, yes, no) \
+ \
+ SC( 37, 14, 12, 1, yes, no) \
+ SC( 38, 14, 12, 2, yes, no) \
+ SC( 39, 14, 12, 3, yes, no) \
+ SC( 40, 14, 12, 4, yes, no) \
+ \
+ SC( 41, 15, 13, 1, yes, no) \
+ SC( 42, 15, 13, 2, yes, no) \
+ SC( 43, 15, 13, 3, yes, no) \
+ SC( 44, 15, 13, 4, no, no) \
+ \
+ SC( 45, 16, 14, 1, no, no) \
+ SC( 46, 16, 14, 2, no, no) \
+ SC( 47, 16, 14, 3, no, no) \
+ SC( 48, 16, 14, 4, no, no) \
+ \
+ SC( 49, 17, 15, 1, no, no) \
+ SC( 50, 17, 15, 2, no, no) \
+ SC( 51, 17, 15, 3, no, no) \
+ SC( 52, 17, 15, 4, no, no) \
+ \
+ SC( 53, 18, 16, 1, no, no) \
+ SC( 54, 18, 16, 2, no, no) \
+ SC( 55, 18, 16, 3, no, no) \
+ SC( 56, 18, 16, 4, no, no) \
+ \
+ SC( 57, 19, 17, 1, no, no) \
+ SC( 58, 19, 17, 2, no, no) \
+ SC( 59, 19, 17, 3, no, no) \
+ SC( 60, 19, 17, 4, no, no) \
+ \
+ SC( 61, 20, 18, 1, no, no) \
+ SC( 62, 20, 18, 2, no, no) \
+ SC( 63, 20, 18, 3, no, no) \
+ SC( 64, 20, 18, 4, no, no) \
+ \
+ SC( 65, 21, 19, 1, no, no) \
+ SC( 66, 21, 19, 2, no, no) \
+ SC( 67, 21, 19, 3, no, no) \
+ SC( 68, 21, 19, 4, no, no) \
+ \
+ SC( 69, 22, 20, 1, no, no) \
+ SC( 70, 22, 20, 2, no, no) \
+ SC( 71, 22, 20, 3, no, no) \
+ SC( 72, 22, 20, 4, no, no) \
+ \
+ SC( 73, 23, 21, 1, no, no) \
+ SC( 74, 23, 21, 2, no, no) \
+ SC( 75, 23, 21, 3, no, no) \
+ SC( 76, 23, 21, 4, no, no) \
+ \
+ SC( 77, 24, 22, 1, no, no) \
+ SC( 78, 24, 22, 2, no, no) \
+ SC( 79, 24, 22, 3, no, no) \
+ SC( 80, 24, 22, 4, no, no) \
+ \
+ SC( 81, 25, 23, 1, no, no) \
+ SC( 82, 25, 23, 2, no, no) \
+ SC( 83, 25, 23, 3, no, no) \
+ SC( 84, 25, 23, 4, no, no) \
+ \
+ SC( 85, 26, 24, 1, no, no) \
+ SC( 86, 26, 24, 2, no, no) \
+ SC( 87, 26, 24, 3, no, no) \
+ SC( 88, 26, 24, 4, no, no) \
+ \
+ SC( 89, 27, 25, 1, no, no) \
+ SC( 90, 27, 25, 2, no, no) \
+ SC( 91, 27, 25, 3, no, no) \
+ SC( 92, 27, 25, 4, no, no) \
+ \
+ SC( 93, 28, 26, 1, no, no) \
+ SC( 94, 28, 26, 2, no, no) \
+ SC( 95, 28, 26, 3, no, no) \
+ SC( 96, 28, 26, 4, no, no) \
+ \
+ SC( 97, 29, 27, 1, no, no) \
+ SC( 98, 29, 27, 2, no, no) \
+ SC( 99, 29, 27, 3, no, no) \
+ SC(100, 29, 27, 4, no, no) \
+ \
+ SC(101, 30, 28, 1, no, no) \
+ SC(102, 30, 28, 2, no, no) \
+ SC(103, 30, 28, 3, no, no) \
+ SC(104, 30, 28, 4, no, no) \
+ \
+ SC(105, 31, 29, 1, no, no) \
+ SC(106, 31, 29, 2, no, no) \
+ SC(107, 31, 29, 3, no, no) \
+ SC(108, 31, 29, 4, no, no) \
+ \
+ SC(109, 32, 30, 1, no, no) \
+ SC(110, 32, 30, 2, no, no) \
+ SC(111, 32, 30, 3, no, no) \
+ SC(112, 32, 30, 4, no, no) \
+ \
+ SC(113, 33, 31, 1, no, no) \
+ SC(114, 33, 31, 2, no, no) \
+ SC(115, 33, 31, 3, no, no) \
+ SC(116, 33, 31, 4, no, no) \
+ \
+ SC(117, 34, 32, 1, no, no) \
+ SC(118, 34, 32, 2, no, no) \
+ SC(119, 34, 32, 3, no, no) \
+ SC(120, 34, 32, 4, no, no) \
+ \
+ SC(121, 35, 33, 1, no, no) \
+ SC(122, 35, 33, 2, no, no) \
+ SC(123, 35, 33, 3, no, no) \
+ SC(124, 35, 33, 4, no, no) \
+ \
+ SC(125, 36, 34, 1, no, no) \
+ SC(126, 36, 34, 2, no, no) \
+ SC(127, 36, 34, 3, no, no) \
+ SC(128, 36, 34, 4, no, no) \
+ \
+ SC(129, 37, 35, 1, no, no) \
+ SC(130, 37, 35, 2, no, no) \
+ SC(131, 37, 35, 3, no, no) \
+ SC(132, 37, 35, 4, no, no) \
+ \
+ SC(133, 38, 36, 1, no, no) \
+ SC(134, 38, 36, 2, no, no) \
+ SC(135, 38, 36, 3, no, no) \
+ SC(136, 38, 36, 4, no, no) \
+ \
+ SC(137, 39, 37, 1, no, no) \
+ SC(138, 39, 37, 2, no, no) \
+ SC(139, 39, 37, 3, no, no) \
+ SC(140, 39, 37, 4, no, no) \
+ \
+ SC(141, 40, 38, 1, no, no) \
+ SC(142, 40, 38, 2, no, no) \
+ SC(143, 40, 38, 3, no, no) \
+ SC(144, 40, 38, 4, no, no) \
+ \
+ SC(145, 41, 39, 1, no, no) \
+ SC(146, 41, 39, 2, no, no) \
+ SC(147, 41, 39, 3, no, no) \
+ SC(148, 41, 39, 4, no, no) \
+ \
+ SC(149, 42, 40, 1, no, no) \
+ SC(150, 42, 40, 2, no, no) \
+ SC(151, 42, 40, 3, no, no) \
+ SC(152, 42, 40, 4, no, no) \
+ \
+ SC(153, 43, 41, 1, no, no) \
+ SC(154, 43, 41, 2, no, no) \
+ SC(155, 43, 41, 3, no, no) \
+ SC(156, 43, 41, 4, no, no) \
+ \
+ SC(157, 44, 42, 1, no, no) \
+ SC(158, 44, 42, 2, no, no) \
+ SC(159, 44, 42, 3, no, no) \
+ SC(160, 44, 42, 4, no, no) \
+ \
+ SC(161, 45, 43, 1, no, no) \
+ SC(162, 45, 43, 2, no, no) \
+ SC(163, 45, 43, 3, no, no) \
+ SC(164, 45, 43, 4, no, no) \
+ \
+ SC(165, 46, 44, 1, no, no) \
+ SC(166, 46, 44, 2, no, no) \
+ SC(167, 46, 44, 3, no, no) \
+ SC(168, 46, 44, 4, no, no) \
+ \
+ SC(169, 47, 45, 1, no, no) \
+ SC(170, 47, 45, 2, no, no) \
+ SC(171, 47, 45, 3, no, no) \
+ SC(172, 47, 45, 4, no, no) \
+ \
+ SC(173, 48, 46, 1, no, no) \
+ SC(174, 48, 46, 2, no, no) \
+ SC(175, 48, 46, 3, no, no) \
+ SC(176, 48, 46, 4, no, no) \
+ \
+ SC(177, 49, 47, 1, no, no) \
+ SC(178, 49, 47, 2, no, no) \
+ SC(179, 49, 47, 3, no, no) \
+ SC(180, 49, 47, 4, no, no) \
+ \
+ SC(181, 50, 48, 1, no, no) \
+ SC(182, 50, 48, 2, no, no) \
+ SC(183, 50, 48, 3, no, no) \
+ SC(184, 50, 48, 4, no, no) \
+ \
+ SC(185, 51, 49, 1, no, no) \
+ SC(186, 51, 49, 2, no, no) \
+ SC(187, 51, 49, 3, no, no) \
+ SC(188, 51, 49, 4, no, no) \
+ \
+ SC(189, 52, 50, 1, no, no) \
+ SC(190, 52, 50, 2, no, no) \
+ SC(191, 52, 50, 3, no, no) \
+ SC(192, 52, 50, 4, no, no) \
+ \
+ SC(193, 53, 51, 1, no, no) \
+ SC(194, 53, 51, 2, no, no) \
+ SC(195, 53, 51, 3, no, no) \
+ SC(196, 53, 51, 4, no, no) \
+ \
+ SC(197, 54, 52, 1, no, no) \
+ SC(198, 54, 52, 2, no, no) \
+ SC(199, 54, 52, 3, no, no) \
+ SC(200, 54, 52, 4, no, no) \
+ \
+ SC(201, 55, 53, 1, no, no) \
+ SC(202, 55, 53, 2, no, no) \
+ SC(203, 55, 53, 3, no, no) \
+ SC(204, 55, 53, 4, no, no) \
+ \
+ SC(205, 56, 54, 1, no, no) \
+ SC(206, 56, 54, 2, no, no) \
+ SC(207, 56, 54, 3, no, no) \
+ SC(208, 56, 54, 4, no, no) \
+ \
+ SC(209, 57, 55, 1, no, no) \
+ SC(210, 57, 55, 2, no, no) \
+ SC(211, 57, 55, 3, no, no) \
+ SC(212, 57, 55, 4, no, no) \
+ \
+ SC(213, 58, 56, 1, no, no) \
+ SC(214, 58, 56, 2, no, no) \
+ SC(215, 58, 56, 3, no, no) \
+ SC(216, 58, 56, 4, no, no) \
+ \
+ SC(217, 59, 57, 1, no, no) \
+ SC(218, 59, 57, 2, no, no) \
+ SC(219, 59, 57, 3, no, no) \
+ SC(220, 59, 57, 4, no, no) \
+ \
+ SC(221, 60, 58, 1, no, no) \
+ SC(222, 60, 58, 2, no, no) \
+ SC(223, 60, 58, 3, no, no) \
+ SC(224, 60, 58, 4, no, no) \
+ \
+ SC(225, 61, 59, 1, no, no) \
+ SC(226, 61, 59, 2, no, no) \
+ SC(227, 61, 59, 3, no, no) \
+ SC(228, 61, 59, 4, no, no) \
+ \
+ SC(229, 62, 60, 1, no, no) \
+ SC(230, 62, 60, 2, no, no) \
+ SC(231, 62, 60, 3, no, no) \
+ SC(232, 62, 60, 4, no, no) \
+ \
+ SC(233, 63, 61, 1, no, no) \
+ SC(234, 63, 61, 2, no, no) \
+ SC(235, 63, 61, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 16, 16) \
- SIZE_CLASS(1, 16, 32) \
- SIZE_CLASS(2, 16, 48) \
- SIZE_CLASS(3, 16, 64) \
- SIZE_CLASS(4, 16, 80) \
- SIZE_CLASS(5, 16, 96) \
- SIZE_CLASS(6, 16, 112) \
- SIZE_CLASS(7, 16, 128) \
- SIZE_CLASS(8, 32, 160) \
- SIZE_CLASS(9, 32, 192) \
- SIZE_CLASS(10, 32, 224) \
- SIZE_CLASS(11, 32, 256) \
- SIZE_CLASS(12, 64, 320) \
- SIZE_CLASS(13, 64, 384) \
- SIZE_CLASS(14, 64, 448) \
- SIZE_CLASS(15, 64, 512) \
- SIZE_CLASS(16, 128, 640) \
- SIZE_CLASS(17, 128, 768) \
- SIZE_CLASS(18, 128, 896) \
- SIZE_CLASS(19, 128, 1024) \
- SIZE_CLASS(20, 256, 1280) \
- SIZE_CLASS(21, 256, 1536) \
- SIZE_CLASS(22, 256, 1792) \
- SIZE_CLASS(23, 256, 2048) \
- SIZE_CLASS(24, 512, 2560) \
- SIZE_CLASS(25, 512, 3072) \
- SIZE_CLASS(26, 512, 3584) \
- SIZE_CLASS(27, 512, 4096) \
- SIZE_CLASS(28, 1024, 5120) \
- SIZE_CLASS(29, 1024, 6144) \
- SIZE_CLASS(30, 1024, 7168) \
- SIZE_CLASS(31, 1024, 8192) \
- SIZE_CLASS(32, 2048, 10240) \
- SIZE_CLASS(33, 2048, 12288) \
- SIZE_CLASS(34, 2048, 14336) \
- SIZE_CLASS(35, 2048, 16384) \
- SIZE_CLASS(36, 4096, 20480) \
- SIZE_CLASS(37, 4096, 24576) \
- SIZE_CLASS(38, 4096, 28672) \
-
-#define NBINS 39
-#define SMALL_MAXCLASS 28672
+#define NTBINS 1
+#define NLBINS 29
+#define NBINS 44
+#define LG_TINY_MAXCLASS 3
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
#endif
-#if (LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 16)
+#if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 12)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 4, 4, 0, yes, 4) \
+ SC( 1, 4, 4, 1, yes, 4) \
+ SC( 2, 4, 4, 2, yes, 4) \
+ SC( 3, 4, 4, 3, yes, 4) \
+ \
+ SC( 4, 6, 4, 1, yes, 4) \
+ SC( 5, 6, 4, 2, yes, 4) \
+ SC( 6, 6, 4, 3, yes, 4) \
+ SC( 7, 6, 4, 4, yes, 4) \
+ \
+ SC( 8, 7, 5, 1, yes, 5) \
+ SC( 9, 7, 5, 2, yes, 5) \
+ SC( 10, 7, 5, 3, yes, 5) \
+ SC( 11, 7, 5, 4, yes, 5) \
+ \
+ SC( 12, 8, 6, 1, yes, 6) \
+ SC( 13, 8, 6, 2, yes, 6) \
+ SC( 14, 8, 6, 3, yes, 6) \
+ SC( 15, 8, 6, 4, yes, 6) \
+ \
+ SC( 16, 9, 7, 1, yes, 7) \
+ SC( 17, 9, 7, 2, yes, 7) \
+ SC( 18, 9, 7, 3, yes, 7) \
+ SC( 19, 9, 7, 4, yes, 7) \
+ \
+ SC( 20, 10, 8, 1, yes, 8) \
+ SC( 21, 10, 8, 2, yes, 8) \
+ SC( 22, 10, 8, 3, yes, 8) \
+ SC( 23, 10, 8, 4, yes, 8) \
+ \
+ SC( 24, 11, 9, 1, yes, 9) \
+ SC( 25, 11, 9, 2, yes, 9) \
+ SC( 26, 11, 9, 3, yes, 9) \
+ SC( 27, 11, 9, 4, no, 9) \
+ \
+ SC( 28, 12, 10, 1, no, no) \
+ SC( 29, 12, 10, 2, no, no) \
+ SC( 30, 12, 10, 3, no, no) \
+ SC( 31, 12, 10, 4, no, no) \
+ \
+ SC( 32, 13, 11, 1, no, no) \
+ SC( 33, 13, 11, 2, no, no) \
+ SC( 34, 13, 11, 3, no, no) \
+ SC( 35, 13, 11, 4, no, no) \
+ \
+ SC( 36, 14, 12, 1, no, no) \
+ SC( 37, 14, 12, 2, no, no) \
+ SC( 38, 14, 12, 3, no, no) \
+ SC( 39, 14, 12, 4, no, no) \
+ \
+ SC( 40, 15, 13, 1, no, no) \
+ SC( 41, 15, 13, 2, no, no) \
+ SC( 42, 15, 13, 3, no, no) \
+ SC( 43, 15, 13, 4, no, no) \
+ \
+ SC( 44, 16, 14, 1, no, no) \
+ SC( 45, 16, 14, 2, no, no) \
+ SC( 46, 16, 14, 3, no, no) \
+ SC( 47, 16, 14, 4, no, no) \
+ \
+ SC( 48, 17, 15, 1, no, no) \
+ SC( 49, 17, 15, 2, no, no) \
+ SC( 50, 17, 15, 3, no, no) \
+ SC( 51, 17, 15, 4, no, no) \
+ \
+ SC( 52, 18, 16, 1, no, no) \
+ SC( 53, 18, 16, 2, no, no) \
+ SC( 54, 18, 16, 3, no, no) \
+ SC( 55, 18, 16, 4, no, no) \
+ \
+ SC( 56, 19, 17, 1, no, no) \
+ SC( 57, 19, 17, 2, no, no) \
+ SC( 58, 19, 17, 3, no, no) \
+ SC( 59, 19, 17, 4, no, no) \
+ \
+ SC( 60, 20, 18, 1, no, no) \
+ SC( 61, 20, 18, 2, no, no) \
+ SC( 62, 20, 18, 3, no, no) \
+ SC( 63, 20, 18, 4, no, no) \
+ \
+ SC( 64, 21, 19, 1, no, no) \
+ SC( 65, 21, 19, 2, no, no) \
+ SC( 66, 21, 19, 3, no, no) \
+ SC( 67, 21, 19, 4, no, no) \
+ \
+ SC( 68, 22, 20, 1, no, no) \
+ SC( 69, 22, 20, 2, no, no) \
+ SC( 70, 22, 20, 3, no, no) \
+ SC( 71, 22, 20, 4, no, no) \
+ \
+ SC( 72, 23, 21, 1, no, no) \
+ SC( 73, 23, 21, 2, no, no) \
+ SC( 74, 23, 21, 3, no, no) \
+ SC( 75, 23, 21, 4, no, no) \
+ \
+ SC( 76, 24, 22, 1, no, no) \
+ SC( 77, 24, 22, 2, no, no) \
+ SC( 78, 24, 22, 3, no, no) \
+ SC( 79, 24, 22, 4, no, no) \
+ \
+ SC( 80, 25, 23, 1, no, no) \
+ SC( 81, 25, 23, 2, no, no) \
+ SC( 82, 25, 23, 3, no, no) \
+ SC( 83, 25, 23, 4, no, no) \
+ \
+ SC( 84, 26, 24, 1, no, no) \
+ SC( 85, 26, 24, 2, no, no) \
+ SC( 86, 26, 24, 3, no, no) \
+ SC( 87, 26, 24, 4, no, no) \
+ \
+ SC( 88, 27, 25, 1, no, no) \
+ SC( 89, 27, 25, 2, no, no) \
+ SC( 90, 27, 25, 3, no, no) \
+ SC( 91, 27, 25, 4, no, no) \
+ \
+ SC( 92, 28, 26, 1, no, no) \
+ SC( 93, 28, 26, 2, no, no) \
+ SC( 94, 28, 26, 3, no, no) \
+ SC( 95, 28, 26, 4, no, no) \
+ \
+ SC( 96, 29, 27, 1, no, no) \
+ SC( 97, 29, 27, 2, no, no) \
+ SC( 98, 29, 27, 3, no, no) \
+ SC( 99, 29, 27, 4, no, no) \
+ \
+ SC(100, 30, 28, 1, no, no) \
+ SC(101, 30, 28, 2, no, no) \
+ SC(102, 30, 28, 3, no, no) \
+ SC(103, 30, 28, 4, no, no) \
+ \
+ SC(104, 31, 29, 1, no, no) \
+ SC(105, 31, 29, 2, no, no) \
+ SC(106, 31, 29, 3, no, no) \
+ SC(107, 31, 29, 4, no, no) \
+ \
+ SC(108, 32, 30, 1, no, no) \
+ SC(109, 32, 30, 2, no, no) \
+ SC(110, 32, 30, 3, no, no) \
+ SC(111, 32, 30, 4, no, no) \
+ \
+ SC(112, 33, 31, 1, no, no) \
+ SC(113, 33, 31, 2, no, no) \
+ SC(114, 33, 31, 3, no, no) \
+ SC(115, 33, 31, 4, no, no) \
+ \
+ SC(116, 34, 32, 1, no, no) \
+ SC(117, 34, 32, 2, no, no) \
+ SC(118, 34, 32, 3, no, no) \
+ SC(119, 34, 32, 4, no, no) \
+ \
+ SC(120, 35, 33, 1, no, no) \
+ SC(121, 35, 33, 2, no, no) \
+ SC(122, 35, 33, 3, no, no) \
+ SC(123, 35, 33, 4, no, no) \
+ \
+ SC(124, 36, 34, 1, no, no) \
+ SC(125, 36, 34, 2, no, no) \
+ SC(126, 36, 34, 3, no, no) \
+ SC(127, 36, 34, 4, no, no) \
+ \
+ SC(128, 37, 35, 1, no, no) \
+ SC(129, 37, 35, 2, no, no) \
+ SC(130, 37, 35, 3, no, no) \
+ SC(131, 37, 35, 4, no, no) \
+ \
+ SC(132, 38, 36, 1, no, no) \
+ SC(133, 38, 36, 2, no, no) \
+ SC(134, 38, 36, 3, no, no) \
+ SC(135, 38, 36, 4, no, no) \
+ \
+ SC(136, 39, 37, 1, no, no) \
+ SC(137, 39, 37, 2, no, no) \
+ SC(138, 39, 37, 3, no, no) \
+ SC(139, 39, 37, 4, no, no) \
+ \
+ SC(140, 40, 38, 1, no, no) \
+ SC(141, 40, 38, 2, no, no) \
+ SC(142, 40, 38, 3, no, no) \
+ SC(143, 40, 38, 4, no, no) \
+ \
+ SC(144, 41, 39, 1, no, no) \
+ SC(145, 41, 39, 2, no, no) \
+ SC(146, 41, 39, 3, no, no) \
+ SC(147, 41, 39, 4, no, no) \
+ \
+ SC(148, 42, 40, 1, no, no) \
+ SC(149, 42, 40, 2, no, no) \
+ SC(150, 42, 40, 3, no, no) \
+ SC(151, 42, 40, 4, no, no) \
+ \
+ SC(152, 43, 41, 1, no, no) \
+ SC(153, 43, 41, 2, no, no) \
+ SC(154, 43, 41, 3, no, no) \
+ SC(155, 43, 41, 4, no, no) \
+ \
+ SC(156, 44, 42, 1, no, no) \
+ SC(157, 44, 42, 2, no, no) \
+ SC(158, 44, 42, 3, no, no) \
+ SC(159, 44, 42, 4, no, no) \
+ \
+ SC(160, 45, 43, 1, no, no) \
+ SC(161, 45, 43, 2, no, no) \
+ SC(162, 45, 43, 3, no, no) \
+ SC(163, 45, 43, 4, no, no) \
+ \
+ SC(164, 46, 44, 1, no, no) \
+ SC(165, 46, 44, 2, no, no) \
+ SC(166, 46, 44, 3, no, no) \
+ SC(167, 46, 44, 4, no, no) \
+ \
+ SC(168, 47, 45, 1, no, no) \
+ SC(169, 47, 45, 2, no, no) \
+ SC(170, 47, 45, 3, no, no) \
+ SC(171, 47, 45, 4, no, no) \
+ \
+ SC(172, 48, 46, 1, no, no) \
+ SC(173, 48, 46, 2, no, no) \
+ SC(174, 48, 46, 3, no, no) \
+ SC(175, 48, 46, 4, no, no) \
+ \
+ SC(176, 49, 47, 1, no, no) \
+ SC(177, 49, 47, 2, no, no) \
+ SC(178, 49, 47, 3, no, no) \
+ SC(179, 49, 47, 4, no, no) \
+ \
+ SC(180, 50, 48, 1, no, no) \
+ SC(181, 50, 48, 2, no, no) \
+ SC(182, 50, 48, 3, no, no) \
+ SC(183, 50, 48, 4, no, no) \
+ \
+ SC(184, 51, 49, 1, no, no) \
+ SC(185, 51, 49, 2, no, no) \
+ SC(186, 51, 49, 3, no, no) \
+ SC(187, 51, 49, 4, no, no) \
+ \
+ SC(188, 52, 50, 1, no, no) \
+ SC(189, 52, 50, 2, no, no) \
+ SC(190, 52, 50, 3, no, no) \
+ SC(191, 52, 50, 4, no, no) \
+ \
+ SC(192, 53, 51, 1, no, no) \
+ SC(193, 53, 51, 2, no, no) \
+ SC(194, 53, 51, 3, no, no) \
+ SC(195, 53, 51, 4, no, no) \
+ \
+ SC(196, 54, 52, 1, no, no) \
+ SC(197, 54, 52, 2, no, no) \
+ SC(198, 54, 52, 3, no, no) \
+ SC(199, 54, 52, 4, no, no) \
+ \
+ SC(200, 55, 53, 1, no, no) \
+ SC(201, 55, 53, 2, no, no) \
+ SC(202, 55, 53, 3, no, no) \
+ SC(203, 55, 53, 4, no, no) \
+ \
+ SC(204, 56, 54, 1, no, no) \
+ SC(205, 56, 54, 2, no, no) \
+ SC(206, 56, 54, 3, no, no) \
+ SC(207, 56, 54, 4, no, no) \
+ \
+ SC(208, 57, 55, 1, no, no) \
+ SC(209, 57, 55, 2, no, no) \
+ SC(210, 57, 55, 3, no, no) \
+ SC(211, 57, 55, 4, no, no) \
+ \
+ SC(212, 58, 56, 1, no, no) \
+ SC(213, 58, 56, 2, no, no) \
+ SC(214, 58, 56, 3, no, no) \
+ SC(215, 58, 56, 4, no, no) \
+ \
+ SC(216, 59, 57, 1, no, no) \
+ SC(217, 59, 57, 2, no, no) \
+ SC(218, 59, 57, 3, no, no) \
+ SC(219, 59, 57, 4, no, no) \
+ \
+ SC(220, 60, 58, 1, no, no) \
+ SC(221, 60, 58, 2, no, no) \
+ SC(222, 60, 58, 3, no, no) \
+ SC(223, 60, 58, 4, no, no) \
+ \
+ SC(224, 61, 59, 1, no, no) \
+ SC(225, 61, 59, 2, no, no) \
+ SC(226, 61, 59, 3, no, no) \
+ SC(227, 61, 59, 4, no, no) \
+ \
+ SC(228, 62, 60, 1, no, no) \
+ SC(229, 62, 60, 2, no, no) \
+ SC(230, 62, 60, 3, no, no) \
+ SC(231, 62, 60, 4, no, no) \
+ \
+ SC(232, 63, 61, 1, no, no) \
+ SC(233, 63, 61, 2, no, no) \
+ SC(234, 63, 61, 3, no, no) \
+
+#define SIZE_CLASSES_DEFINED
+#define NTBINS 0
+#define NLBINS 28
+#define NBINS 27
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 11) + (((size_t)3) << 9))
+#endif
+
+#if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 13)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 4, 4, 0, yes, 4) \
+ SC( 1, 4, 4, 1, yes, 4) \
+ SC( 2, 4, 4, 2, yes, 4) \
+ SC( 3, 4, 4, 3, yes, 4) \
+ \
+ SC( 4, 6, 4, 1, yes, 4) \
+ SC( 5, 6, 4, 2, yes, 4) \
+ SC( 6, 6, 4, 3, yes, 4) \
+ SC( 7, 6, 4, 4, yes, 4) \
+ \
+ SC( 8, 7, 5, 1, yes, 5) \
+ SC( 9, 7, 5, 2, yes, 5) \
+ SC( 10, 7, 5, 3, yes, 5) \
+ SC( 11, 7, 5, 4, yes, 5) \
+ \
+ SC( 12, 8, 6, 1, yes, 6) \
+ SC( 13, 8, 6, 2, yes, 6) \
+ SC( 14, 8, 6, 3, yes, 6) \
+ SC( 15, 8, 6, 4, yes, 6) \
+ \
+ SC( 16, 9, 7, 1, yes, 7) \
+ SC( 17, 9, 7, 2, yes, 7) \
+ SC( 18, 9, 7, 3, yes, 7) \
+ SC( 19, 9, 7, 4, yes, 7) \
+ \
+ SC( 20, 10, 8, 1, yes, 8) \
+ SC( 21, 10, 8, 2, yes, 8) \
+ SC( 22, 10, 8, 3, yes, 8) \
+ SC( 23, 10, 8, 4, yes, 8) \
+ \
+ SC( 24, 11, 9, 1, yes, 9) \
+ SC( 25, 11, 9, 2, yes, 9) \
+ SC( 26, 11, 9, 3, yes, 9) \
+ SC( 27, 11, 9, 4, yes, 9) \
+ \
+ SC( 28, 12, 10, 1, yes, no) \
+ SC( 29, 12, 10, 2, yes, no) \
+ SC( 30, 12, 10, 3, yes, no) \
+ SC( 31, 12, 10, 4, no, no) \
+ \
+ SC( 32, 13, 11, 1, no, no) \
+ SC( 33, 13, 11, 2, no, no) \
+ SC( 34, 13, 11, 3, no, no) \
+ SC( 35, 13, 11, 4, no, no) \
+ \
+ SC( 36, 14, 12, 1, no, no) \
+ SC( 37, 14, 12, 2, no, no) \
+ SC( 38, 14, 12, 3, no, no) \
+ SC( 39, 14, 12, 4, no, no) \
+ \
+ SC( 40, 15, 13, 1, no, no) \
+ SC( 41, 15, 13, 2, no, no) \
+ SC( 42, 15, 13, 3, no, no) \
+ SC( 43, 15, 13, 4, no, no) \
+ \
+ SC( 44, 16, 14, 1, no, no) \
+ SC( 45, 16, 14, 2, no, no) \
+ SC( 46, 16, 14, 3, no, no) \
+ SC( 47, 16, 14, 4, no, no) \
+ \
+ SC( 48, 17, 15, 1, no, no) \
+ SC( 49, 17, 15, 2, no, no) \
+ SC( 50, 17, 15, 3, no, no) \
+ SC( 51, 17, 15, 4, no, no) \
+ \
+ SC( 52, 18, 16, 1, no, no) \
+ SC( 53, 18, 16, 2, no, no) \
+ SC( 54, 18, 16, 3, no, no) \
+ SC( 55, 18, 16, 4, no, no) \
+ \
+ SC( 56, 19, 17, 1, no, no) \
+ SC( 57, 19, 17, 2, no, no) \
+ SC( 58, 19, 17, 3, no, no) \
+ SC( 59, 19, 17, 4, no, no) \
+ \
+ SC( 60, 20, 18, 1, no, no) \
+ SC( 61, 20, 18, 2, no, no) \
+ SC( 62, 20, 18, 3, no, no) \
+ SC( 63, 20, 18, 4, no, no) \
+ \
+ SC( 64, 21, 19, 1, no, no) \
+ SC( 65, 21, 19, 2, no, no) \
+ SC( 66, 21, 19, 3, no, no) \
+ SC( 67, 21, 19, 4, no, no) \
+ \
+ SC( 68, 22, 20, 1, no, no) \
+ SC( 69, 22, 20, 2, no, no) \
+ SC( 70, 22, 20, 3, no, no) \
+ SC( 71, 22, 20, 4, no, no) \
+ \
+ SC( 72, 23, 21, 1, no, no) \
+ SC( 73, 23, 21, 2, no, no) \
+ SC( 74, 23, 21, 3, no, no) \
+ SC( 75, 23, 21, 4, no, no) \
+ \
+ SC( 76, 24, 22, 1, no, no) \
+ SC( 77, 24, 22, 2, no, no) \
+ SC( 78, 24, 22, 3, no, no) \
+ SC( 79, 24, 22, 4, no, no) \
+ \
+ SC( 80, 25, 23, 1, no, no) \
+ SC( 81, 25, 23, 2, no, no) \
+ SC( 82, 25, 23, 3, no, no) \
+ SC( 83, 25, 23, 4, no, no) \
+ \
+ SC( 84, 26, 24, 1, no, no) \
+ SC( 85, 26, 24, 2, no, no) \
+ SC( 86, 26, 24, 3, no, no) \
+ SC( 87, 26, 24, 4, no, no) \
+ \
+ SC( 88, 27, 25, 1, no, no) \
+ SC( 89, 27, 25, 2, no, no) \
+ SC( 90, 27, 25, 3, no, no) \
+ SC( 91, 27, 25, 4, no, no) \
+ \
+ SC( 92, 28, 26, 1, no, no) \
+ SC( 93, 28, 26, 2, no, no) \
+ SC( 94, 28, 26, 3, no, no) \
+ SC( 95, 28, 26, 4, no, no) \
+ \
+ SC( 96, 29, 27, 1, no, no) \
+ SC( 97, 29, 27, 2, no, no) \
+ SC( 98, 29, 27, 3, no, no) \
+ SC( 99, 29, 27, 4, no, no) \
+ \
+ SC(100, 30, 28, 1, no, no) \
+ SC(101, 30, 28, 2, no, no) \
+ SC(102, 30, 28, 3, no, no) \
+ SC(103, 30, 28, 4, no, no) \
+ \
+ SC(104, 31, 29, 1, no, no) \
+ SC(105, 31, 29, 2, no, no) \
+ SC(106, 31, 29, 3, no, no) \
+ SC(107, 31, 29, 4, no, no) \
+ \
+ SC(108, 32, 30, 1, no, no) \
+ SC(109, 32, 30, 2, no, no) \
+ SC(110, 32, 30, 3, no, no) \
+ SC(111, 32, 30, 4, no, no) \
+ \
+ SC(112, 33, 31, 1, no, no) \
+ SC(113, 33, 31, 2, no, no) \
+ SC(114, 33, 31, 3, no, no) \
+ SC(115, 33, 31, 4, no, no) \
+ \
+ SC(116, 34, 32, 1, no, no) \
+ SC(117, 34, 32, 2, no, no) \
+ SC(118, 34, 32, 3, no, no) \
+ SC(119, 34, 32, 4, no, no) \
+ \
+ SC(120, 35, 33, 1, no, no) \
+ SC(121, 35, 33, 2, no, no) \
+ SC(122, 35, 33, 3, no, no) \
+ SC(123, 35, 33, 4, no, no) \
+ \
+ SC(124, 36, 34, 1, no, no) \
+ SC(125, 36, 34, 2, no, no) \
+ SC(126, 36, 34, 3, no, no) \
+ SC(127, 36, 34, 4, no, no) \
+ \
+ SC(128, 37, 35, 1, no, no) \
+ SC(129, 37, 35, 2, no, no) \
+ SC(130, 37, 35, 3, no, no) \
+ SC(131, 37, 35, 4, no, no) \
+ \
+ SC(132, 38, 36, 1, no, no) \
+ SC(133, 38, 36, 2, no, no) \
+ SC(134, 38, 36, 3, no, no) \
+ SC(135, 38, 36, 4, no, no) \
+ \
+ SC(136, 39, 37, 1, no, no) \
+ SC(137, 39, 37, 2, no, no) \
+ SC(138, 39, 37, 3, no, no) \
+ SC(139, 39, 37, 4, no, no) \
+ \
+ SC(140, 40, 38, 1, no, no) \
+ SC(141, 40, 38, 2, no, no) \
+ SC(142, 40, 38, 3, no, no) \
+ SC(143, 40, 38, 4, no, no) \
+ \
+ SC(144, 41, 39, 1, no, no) \
+ SC(145, 41, 39, 2, no, no) \
+ SC(146, 41, 39, 3, no, no) \
+ SC(147, 41, 39, 4, no, no) \
+ \
+ SC(148, 42, 40, 1, no, no) \
+ SC(149, 42, 40, 2, no, no) \
+ SC(150, 42, 40, 3, no, no) \
+ SC(151, 42, 40, 4, no, no) \
+ \
+ SC(152, 43, 41, 1, no, no) \
+ SC(153, 43, 41, 2, no, no) \
+ SC(154, 43, 41, 3, no, no) \
+ SC(155, 43, 41, 4, no, no) \
+ \
+ SC(156, 44, 42, 1, no, no) \
+ SC(157, 44, 42, 2, no, no) \
+ SC(158, 44, 42, 3, no, no) \
+ SC(159, 44, 42, 4, no, no) \
+ \
+ SC(160, 45, 43, 1, no, no) \
+ SC(161, 45, 43, 2, no, no) \
+ SC(162, 45, 43, 3, no, no) \
+ SC(163, 45, 43, 4, no, no) \
+ \
+ SC(164, 46, 44, 1, no, no) \
+ SC(165, 46, 44, 2, no, no) \
+ SC(166, 46, 44, 3, no, no) \
+ SC(167, 46, 44, 4, no, no) \
+ \
+ SC(168, 47, 45, 1, no, no) \
+ SC(169, 47, 45, 2, no, no) \
+ SC(170, 47, 45, 3, no, no) \
+ SC(171, 47, 45, 4, no, no) \
+ \
+ SC(172, 48, 46, 1, no, no) \
+ SC(173, 48, 46, 2, no, no) \
+ SC(174, 48, 46, 3, no, no) \
+ SC(175, 48, 46, 4, no, no) \
+ \
+ SC(176, 49, 47, 1, no, no) \
+ SC(177, 49, 47, 2, no, no) \
+ SC(178, 49, 47, 3, no, no) \
+ SC(179, 49, 47, 4, no, no) \
+ \
+ SC(180, 50, 48, 1, no, no) \
+ SC(181, 50, 48, 2, no, no) \
+ SC(182, 50, 48, 3, no, no) \
+ SC(183, 50, 48, 4, no, no) \
+ \
+ SC(184, 51, 49, 1, no, no) \
+ SC(185, 51, 49, 2, no, no) \
+ SC(186, 51, 49, 3, no, no) \
+ SC(187, 51, 49, 4, no, no) \
+ \
+ SC(188, 52, 50, 1, no, no) \
+ SC(189, 52, 50, 2, no, no) \
+ SC(190, 52, 50, 3, no, no) \
+ SC(191, 52, 50, 4, no, no) \
+ \
+ SC(192, 53, 51, 1, no, no) \
+ SC(193, 53, 51, 2, no, no) \
+ SC(194, 53, 51, 3, no, no) \
+ SC(195, 53, 51, 4, no, no) \
+ \
+ SC(196, 54, 52, 1, no, no) \
+ SC(197, 54, 52, 2, no, no) \
+ SC(198, 54, 52, 3, no, no) \
+ SC(199, 54, 52, 4, no, no) \
+ \
+ SC(200, 55, 53, 1, no, no) \
+ SC(201, 55, 53, 2, no, no) \
+ SC(202, 55, 53, 3, no, no) \
+ SC(203, 55, 53, 4, no, no) \
+ \
+ SC(204, 56, 54, 1, no, no) \
+ SC(205, 56, 54, 2, no, no) \
+ SC(206, 56, 54, 3, no, no) \
+ SC(207, 56, 54, 4, no, no) \
+ \
+ SC(208, 57, 55, 1, no, no) \
+ SC(209, 57, 55, 2, no, no) \
+ SC(210, 57, 55, 3, no, no) \
+ SC(211, 57, 55, 4, no, no) \
+ \
+ SC(212, 58, 56, 1, no, no) \
+ SC(213, 58, 56, 2, no, no) \
+ SC(214, 58, 56, 3, no, no) \
+ SC(215, 58, 56, 4, no, no) \
+ \
+ SC(216, 59, 57, 1, no, no) \
+ SC(217, 59, 57, 2, no, no) \
+ SC(218, 59, 57, 3, no, no) \
+ SC(219, 59, 57, 4, no, no) \
+ \
+ SC(220, 60, 58, 1, no, no) \
+ SC(221, 60, 58, 2, no, no) \
+ SC(222, 60, 58, 3, no, no) \
+ SC(223, 60, 58, 4, no, no) \
+ \
+ SC(224, 61, 59, 1, no, no) \
+ SC(225, 61, 59, 2, no, no) \
+ SC(226, 61, 59, 3, no, no) \
+ SC(227, 61, 59, 4, no, no) \
+ \
+ SC(228, 62, 60, 1, no, no) \
+ SC(229, 62, 60, 2, no, no) \
+ SC(230, 62, 60, 3, no, no) \
+ SC(231, 62, 60, 4, no, no) \
+ \
+ SC(232, 63, 61, 1, no, no) \
+ SC(233, 63, 61, 2, no, no) \
+ SC(234, 63, 61, 3, no, no) \
+
+#define SIZE_CLASSES_DEFINED
+#define NTBINS 0
+#define NLBINS 28
+#define NBINS 31
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 12) + (((size_t)3) << 10))
+#endif
+
+#if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 4 && LG_QUANTUM == 4 && LG_PAGE == 16)
+#define SIZE_CLASSES \
+ /* index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup */ \
+ SC( 0, 4, 4, 0, yes, 4) \
+ SC( 1, 4, 4, 1, yes, 4) \
+ SC( 2, 4, 4, 2, yes, 4) \
+ SC( 3, 4, 4, 3, yes, 4) \
+ \
+ SC( 4, 6, 4, 1, yes, 4) \
+ SC( 5, 6, 4, 2, yes, 4) \
+ SC( 6, 6, 4, 3, yes, 4) \
+ SC( 7, 6, 4, 4, yes, 4) \
+ \
+ SC( 8, 7, 5, 1, yes, 5) \
+ SC( 9, 7, 5, 2, yes, 5) \
+ SC( 10, 7, 5, 3, yes, 5) \
+ SC( 11, 7, 5, 4, yes, 5) \
+ \
+ SC( 12, 8, 6, 1, yes, 6) \
+ SC( 13, 8, 6, 2, yes, 6) \
+ SC( 14, 8, 6, 3, yes, 6) \
+ SC( 15, 8, 6, 4, yes, 6) \
+ \
+ SC( 16, 9, 7, 1, yes, 7) \
+ SC( 17, 9, 7, 2, yes, 7) \
+ SC( 18, 9, 7, 3, yes, 7) \
+ SC( 19, 9, 7, 4, yes, 7) \
+ \
+ SC( 20, 10, 8, 1, yes, 8) \
+ SC( 21, 10, 8, 2, yes, 8) \
+ SC( 22, 10, 8, 3, yes, 8) \
+ SC( 23, 10, 8, 4, yes, 8) \
+ \
+ SC( 24, 11, 9, 1, yes, 9) \
+ SC( 25, 11, 9, 2, yes, 9) \
+ SC( 26, 11, 9, 3, yes, 9) \
+ SC( 27, 11, 9, 4, yes, 9) \
+ \
+ SC( 28, 12, 10, 1, yes, no) \
+ SC( 29, 12, 10, 2, yes, no) \
+ SC( 30, 12, 10, 3, yes, no) \
+ SC( 31, 12, 10, 4, yes, no) \
+ \
+ SC( 32, 13, 11, 1, yes, no) \
+ SC( 33, 13, 11, 2, yes, no) \
+ SC( 34, 13, 11, 3, yes, no) \
+ SC( 35, 13, 11, 4, yes, no) \
+ \
+ SC( 36, 14, 12, 1, yes, no) \
+ SC( 37, 14, 12, 2, yes, no) \
+ SC( 38, 14, 12, 3, yes, no) \
+ SC( 39, 14, 12, 4, yes, no) \
+ \
+ SC( 40, 15, 13, 1, yes, no) \
+ SC( 41, 15, 13, 2, yes, no) \
+ SC( 42, 15, 13, 3, yes, no) \
+ SC( 43, 15, 13, 4, no, no) \
+ \
+ SC( 44, 16, 14, 1, no, no) \
+ SC( 45, 16, 14, 2, no, no) \
+ SC( 46, 16, 14, 3, no, no) \
+ SC( 47, 16, 14, 4, no, no) \
+ \
+ SC( 48, 17, 15, 1, no, no) \
+ SC( 49, 17, 15, 2, no, no) \
+ SC( 50, 17, 15, 3, no, no) \
+ SC( 51, 17, 15, 4, no, no) \
+ \
+ SC( 52, 18, 16, 1, no, no) \
+ SC( 53, 18, 16, 2, no, no) \
+ SC( 54, 18, 16, 3, no, no) \
+ SC( 55, 18, 16, 4, no, no) \
+ \
+ SC( 56, 19, 17, 1, no, no) \
+ SC( 57, 19, 17, 2, no, no) \
+ SC( 58, 19, 17, 3, no, no) \
+ SC( 59, 19, 17, 4, no, no) \
+ \
+ SC( 60, 20, 18, 1, no, no) \
+ SC( 61, 20, 18, 2, no, no) \
+ SC( 62, 20, 18, 3, no, no) \
+ SC( 63, 20, 18, 4, no, no) \
+ \
+ SC( 64, 21, 19, 1, no, no) \
+ SC( 65, 21, 19, 2, no, no) \
+ SC( 66, 21, 19, 3, no, no) \
+ SC( 67, 21, 19, 4, no, no) \
+ \
+ SC( 68, 22, 20, 1, no, no) \
+ SC( 69, 22, 20, 2, no, no) \
+ SC( 70, 22, 20, 3, no, no) \
+ SC( 71, 22, 20, 4, no, no) \
+ \
+ SC( 72, 23, 21, 1, no, no) \
+ SC( 73, 23, 21, 2, no, no) \
+ SC( 74, 23, 21, 3, no, no) \
+ SC( 75, 23, 21, 4, no, no) \
+ \
+ SC( 76, 24, 22, 1, no, no) \
+ SC( 77, 24, 22, 2, no, no) \
+ SC( 78, 24, 22, 3, no, no) \
+ SC( 79, 24, 22, 4, no, no) \
+ \
+ SC( 80, 25, 23, 1, no, no) \
+ SC( 81, 25, 23, 2, no, no) \
+ SC( 82, 25, 23, 3, no, no) \
+ SC( 83, 25, 23, 4, no, no) \
+ \
+ SC( 84, 26, 24, 1, no, no) \
+ SC( 85, 26, 24, 2, no, no) \
+ SC( 86, 26, 24, 3, no, no) \
+ SC( 87, 26, 24, 4, no, no) \
+ \
+ SC( 88, 27, 25, 1, no, no) \
+ SC( 89, 27, 25, 2, no, no) \
+ SC( 90, 27, 25, 3, no, no) \
+ SC( 91, 27, 25, 4, no, no) \
+ \
+ SC( 92, 28, 26, 1, no, no) \
+ SC( 93, 28, 26, 2, no, no) \
+ SC( 94, 28, 26, 3, no, no) \
+ SC( 95, 28, 26, 4, no, no) \
+ \
+ SC( 96, 29, 27, 1, no, no) \
+ SC( 97, 29, 27, 2, no, no) \
+ SC( 98, 29, 27, 3, no, no) \
+ SC( 99, 29, 27, 4, no, no) \
+ \
+ SC(100, 30, 28, 1, no, no) \
+ SC(101, 30, 28, 2, no, no) \
+ SC(102, 30, 28, 3, no, no) \
+ SC(103, 30, 28, 4, no, no) \
+ \
+ SC(104, 31, 29, 1, no, no) \
+ SC(105, 31, 29, 2, no, no) \
+ SC(106, 31, 29, 3, no, no) \
+ SC(107, 31, 29, 4, no, no) \
+ \
+ SC(108, 32, 30, 1, no, no) \
+ SC(109, 32, 30, 2, no, no) \
+ SC(110, 32, 30, 3, no, no) \
+ SC(111, 32, 30, 4, no, no) \
+ \
+ SC(112, 33, 31, 1, no, no) \
+ SC(113, 33, 31, 2, no, no) \
+ SC(114, 33, 31, 3, no, no) \
+ SC(115, 33, 31, 4, no, no) \
+ \
+ SC(116, 34, 32, 1, no, no) \
+ SC(117, 34, 32, 2, no, no) \
+ SC(118, 34, 32, 3, no, no) \
+ SC(119, 34, 32, 4, no, no) \
+ \
+ SC(120, 35, 33, 1, no, no) \
+ SC(121, 35, 33, 2, no, no) \
+ SC(122, 35, 33, 3, no, no) \
+ SC(123, 35, 33, 4, no, no) \
+ \
+ SC(124, 36, 34, 1, no, no) \
+ SC(125, 36, 34, 2, no, no) \
+ SC(126, 36, 34, 3, no, no) \
+ SC(127, 36, 34, 4, no, no) \
+ \
+ SC(128, 37, 35, 1, no, no) \
+ SC(129, 37, 35, 2, no, no) \
+ SC(130, 37, 35, 3, no, no) \
+ SC(131, 37, 35, 4, no, no) \
+ \
+ SC(132, 38, 36, 1, no, no) \
+ SC(133, 38, 36, 2, no, no) \
+ SC(134, 38, 36, 3, no, no) \
+ SC(135, 38, 36, 4, no, no) \
+ \
+ SC(136, 39, 37, 1, no, no) \
+ SC(137, 39, 37, 2, no, no) \
+ SC(138, 39, 37, 3, no, no) \
+ SC(139, 39, 37, 4, no, no) \
+ \
+ SC(140, 40, 38, 1, no, no) \
+ SC(141, 40, 38, 2, no, no) \
+ SC(142, 40, 38, 3, no, no) \
+ SC(143, 40, 38, 4, no, no) \
+ \
+ SC(144, 41, 39, 1, no, no) \
+ SC(145, 41, 39, 2, no, no) \
+ SC(146, 41, 39, 3, no, no) \
+ SC(147, 41, 39, 4, no, no) \
+ \
+ SC(148, 42, 40, 1, no, no) \
+ SC(149, 42, 40, 2, no, no) \
+ SC(150, 42, 40, 3, no, no) \
+ SC(151, 42, 40, 4, no, no) \
+ \
+ SC(152, 43, 41, 1, no, no) \
+ SC(153, 43, 41, 2, no, no) \
+ SC(154, 43, 41, 3, no, no) \
+ SC(155, 43, 41, 4, no, no) \
+ \
+ SC(156, 44, 42, 1, no, no) \
+ SC(157, 44, 42, 2, no, no) \
+ SC(158, 44, 42, 3, no, no) \
+ SC(159, 44, 42, 4, no, no) \
+ \
+ SC(160, 45, 43, 1, no, no) \
+ SC(161, 45, 43, 2, no, no) \
+ SC(162, 45, 43, 3, no, no) \
+ SC(163, 45, 43, 4, no, no) \
+ \
+ SC(164, 46, 44, 1, no, no) \
+ SC(165, 46, 44, 2, no, no) \
+ SC(166, 46, 44, 3, no, no) \
+ SC(167, 46, 44, 4, no, no) \
+ \
+ SC(168, 47, 45, 1, no, no) \
+ SC(169, 47, 45, 2, no, no) \
+ SC(170, 47, 45, 3, no, no) \
+ SC(171, 47, 45, 4, no, no) \
+ \
+ SC(172, 48, 46, 1, no, no) \
+ SC(173, 48, 46, 2, no, no) \
+ SC(174, 48, 46, 3, no, no) \
+ SC(175, 48, 46, 4, no, no) \
+ \
+ SC(176, 49, 47, 1, no, no) \
+ SC(177, 49, 47, 2, no, no) \
+ SC(178, 49, 47, 3, no, no) \
+ SC(179, 49, 47, 4, no, no) \
+ \
+ SC(180, 50, 48, 1, no, no) \
+ SC(181, 50, 48, 2, no, no) \
+ SC(182, 50, 48, 3, no, no) \
+ SC(183, 50, 48, 4, no, no) \
+ \
+ SC(184, 51, 49, 1, no, no) \
+ SC(185, 51, 49, 2, no, no) \
+ SC(186, 51, 49, 3, no, no) \
+ SC(187, 51, 49, 4, no, no) \
+ \
+ SC(188, 52, 50, 1, no, no) \
+ SC(189, 52, 50, 2, no, no) \
+ SC(190, 52, 50, 3, no, no) \
+ SC(191, 52, 50, 4, no, no) \
+ \
+ SC(192, 53, 51, 1, no, no) \
+ SC(193, 53, 51, 2, no, no) \
+ SC(194, 53, 51, 3, no, no) \
+ SC(195, 53, 51, 4, no, no) \
+ \
+ SC(196, 54, 52, 1, no, no) \
+ SC(197, 54, 52, 2, no, no) \
+ SC(198, 54, 52, 3, no, no) \
+ SC(199, 54, 52, 4, no, no) \
+ \
+ SC(200, 55, 53, 1, no, no) \
+ SC(201, 55, 53, 2, no, no) \
+ SC(202, 55, 53, 3, no, no) \
+ SC(203, 55, 53, 4, no, no) \
+ \
+ SC(204, 56, 54, 1, no, no) \
+ SC(205, 56, 54, 2, no, no) \
+ SC(206, 56, 54, 3, no, no) \
+ SC(207, 56, 54, 4, no, no) \
+ \
+ SC(208, 57, 55, 1, no, no) \
+ SC(209, 57, 55, 2, no, no) \
+ SC(210, 57, 55, 3, no, no) \
+ SC(211, 57, 55, 4, no, no) \
+ \
+ SC(212, 58, 56, 1, no, no) \
+ SC(213, 58, 56, 2, no, no) \
+ SC(214, 58, 56, 3, no, no) \
+ SC(215, 58, 56, 4, no, no) \
+ \
+ SC(216, 59, 57, 1, no, no) \
+ SC(217, 59, 57, 2, no, no) \
+ SC(218, 59, 57, 3, no, no) \
+ SC(219, 59, 57, 4, no, no) \
+ \
+ SC(220, 60, 58, 1, no, no) \
+ SC(221, 60, 58, 2, no, no) \
+ SC(222, 60, 58, 3, no, no) \
+ SC(223, 60, 58, 4, no, no) \
+ \
+ SC(224, 61, 59, 1, no, no) \
+ SC(225, 61, 59, 2, no, no) \
+ SC(226, 61, 59, 3, no, no) \
+ SC(227, 61, 59, 4, no, no) \
+ \
+ SC(228, 62, 60, 1, no, no) \
+ SC(229, 62, 60, 2, no, no) \
+ SC(230, 62, 60, 3, no, no) \
+ SC(231, 62, 60, 4, no, no) \
+ \
+ SC(232, 63, 61, 1, no, no) \
+ SC(233, 63, 61, 2, no, no) \
+ SC(234, 63, 61, 3, no, no) \
+
#define SIZE_CLASSES_DEFINED
-/* SIZE_CLASS(bin, delta, sz) */
-#define SIZE_CLASSES \
- SIZE_CLASS(0, 16, 16) \
- SIZE_CLASS(1, 16, 32) \
- SIZE_CLASS(2, 16, 48) \
- SIZE_CLASS(3, 16, 64) \
- SIZE_CLASS(4, 16, 80) \
- SIZE_CLASS(5, 16, 96) \
- SIZE_CLASS(6, 16, 112) \
- SIZE_CLASS(7, 16, 128) \
- SIZE_CLASS(8, 32, 160) \
- SIZE_CLASS(9, 32, 192) \
- SIZE_CLASS(10, 32, 224) \
- SIZE_CLASS(11, 32, 256) \
- SIZE_CLASS(12, 64, 320) \
- SIZE_CLASS(13, 64, 384) \
- SIZE_CLASS(14, 64, 448) \
- SIZE_CLASS(15, 64, 512) \
- SIZE_CLASS(16, 128, 640) \
- SIZE_CLASS(17, 128, 768) \
- SIZE_CLASS(18, 128, 896) \
- SIZE_CLASS(19, 128, 1024) \
- SIZE_CLASS(20, 256, 1280) \
- SIZE_CLASS(21, 256, 1536) \
- SIZE_CLASS(22, 256, 1792) \
- SIZE_CLASS(23, 256, 2048) \
- SIZE_CLASS(24, 512, 2560) \
- SIZE_CLASS(25, 512, 3072) \
- SIZE_CLASS(26, 512, 3584) \
- SIZE_CLASS(27, 512, 4096) \
- SIZE_CLASS(28, 1024, 5120) \
- SIZE_CLASS(29, 1024, 6144) \
- SIZE_CLASS(30, 1024, 7168) \
- SIZE_CLASS(31, 1024, 8192) \
- SIZE_CLASS(32, 2048, 10240) \
- SIZE_CLASS(33, 2048, 12288) \
- SIZE_CLASS(34, 2048, 14336) \
- SIZE_CLASS(35, 2048, 16384) \
- SIZE_CLASS(36, 4096, 20480) \
- SIZE_CLASS(37, 4096, 24576) \
- SIZE_CLASS(38, 4096, 28672) \
- SIZE_CLASS(39, 4096, 32768) \
- SIZE_CLASS(40, 8192, 40960) \
- SIZE_CLASS(41, 8192, 49152) \
- SIZE_CLASS(42, 8192, 57344) \
-
-#define NBINS 43
-#define SMALL_MAXCLASS 57344
+#define NTBINS 0
+#define NLBINS 28
+#define NBINS 43
+#define LG_TINY_MAXCLASS "NA"
+#define LOOKUP_MAXCLASS ((((size_t)1) << 11) + (((size_t)4) << 9))
+#define SMALL_MAXCLASS ((((size_t)1) << 15) + (((size_t)3) << 13))
#endif
#ifndef SIZE_CLASSES_DEFINED