Jinoh Kang (@iamahuman) commented about dlls/ntdll/heap.c:
+#define BIN_SIZE_MIN_7 0x4000 +#define BIN_SIZE_MAX 0x8000
+#define BIN_SIZE_STEP_0 (16) +#define BIN_SIZE_STEP_1 (BIN_SIZE_MIN_1 >> 4) +#define BIN_SIZE_STEP_2 (BIN_SIZE_MIN_2 >> 4) +#define BIN_SIZE_STEP_3 (BIN_SIZE_MIN_3 >> 4) +#define BIN_SIZE_STEP_4 (BIN_SIZE_MIN_4 >> 4) +#define BIN_SIZE_STEP_5 (BIN_SIZE_MIN_5 >> 4) +#define BIN_SIZE_STEP_6 (BIN_SIZE_MIN_6 >> 4) +#define BIN_SIZE_STEP_7 (BIN_SIZE_MIN_7 >> 4)
+#define BLOCK_BIN_SIZE_N( n, bin ) (BIN_SIZE_MIN_##n + (bin + 1) * BIN_SIZE_STEP_##n) +#define BLOCK_SIZE_BIN_N( n, size ) ((size) > BIN_SIZE_MIN_##n ? ((size) - 1 - BIN_SIZE_MIN_##n) / BIN_SIZE_STEP_##n : 0)
+#define BLOCK_BIN_SIZE( bin ) ((bin) >= 0x80 ? ~0u : \
Nit: `~0u != SIZE_MAX` on 64-bit. Since `0xffffffffu` is a plausible allocation size on 64-bit architecture, IMHO we might as well always use an "impossible" value.
```suggestion:-0+0 #define BLOCK_BIN_SIZE( bin ) ((bin) >= 0x80 ? SIZE_MAX : \ ```
(This needs to be followed up by fixups to assertions below.)