Commit 32d1dac
committed
Make
`VacantEntry` now stores a `Tag` instead of a full `hash: u64`. This
means that `OccupiedEntry` doesn't need to store anything, because it
can get that tag from the control byte for `remove -> VacantEntry`.
The `get_bucket_entry` method doesn't need a hash argument either.
Also, since `OccupiedEntry` is now smaller, `enum Entry` will be the
same size as `VacantEntry` by using a niche for the discriminant.
(Although this is not _guaranteed_ by the compiler.)HashTable entries use Tag instead of a full hash1 parent 8ad61ce commit 32d1dac
2 files changed
+57
-37
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
848 | 850 | | |
849 | 851 | | |
850 | 852 | | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
851 | 866 | | |
852 | 867 | | |
853 | 868 | | |
| |||
1183 | 1198 | | |
1184 | 1199 | | |
1185 | 1200 | | |
1186 | | - | |
1187 | | - | |
| 1201 | + | |
| 1202 | + | |
1188 | 1203 | | |
1189 | 1204 | | |
1190 | 1205 | | |
| |||
1193 | 1208 | | |
1194 | 1209 | | |
1195 | 1210 | | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
1196 | 1229 | | |
1197 | | - | |
| 1230 | + | |
1198 | 1231 | | |
1199 | 1232 | | |
1200 | 1233 | | |
| |||
1269 | 1302 | | |
1270 | 1303 | | |
1271 | 1304 | | |
1272 | | - | |
| 1305 | + | |
1273 | 1306 | | |
1274 | | - | |
| 1307 | + | |
1275 | 1308 | | |
1276 | | - | |
| 1309 | + | |
1277 | 1310 | | |
1278 | 1311 | | |
1279 | 1312 | | |
| |||
2456 | 2489 | | |
2457 | 2490 | | |
2458 | 2491 | | |
2459 | | - | |
| 2492 | + | |
2460 | 2493 | | |
2461 | | - | |
| 2494 | + | |
2462 | 2495 | | |
2463 | 2496 | | |
2464 | 2497 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
307 | 306 | | |
308 | 307 | | |
309 | 308 | | |
| |||
413 | 412 | | |
414 | 413 | | |
415 | 414 | | |
416 | | - | |
417 | 415 | | |
418 | 416 | | |
419 | 417 | | |
420 | 418 | | |
421 | | - | |
| 419 | + | |
422 | 420 | | |
423 | 421 | | |
424 | 422 | | |
425 | 423 | | |
426 | 424 | | |
427 | 425 | | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
| 426 | + | |
| 427 | + | |
434 | 428 | | |
435 | 429 | | |
436 | 430 | | |
| |||
447 | 441 | | |
448 | 442 | | |
449 | 443 | | |
450 | | - | |
451 | | - | |
| 444 | + | |
452 | 445 | | |
453 | | - | |
454 | | - | |
455 | | - | |
| 446 | + | |
456 | 447 | | |
457 | | - | |
| 448 | + | |
458 | 449 | | |
459 | 450 | | |
460 | 451 | | |
461 | | - | |
| 452 | + | |
462 | 453 | | |
463 | 454 | | |
464 | 455 | | |
465 | 456 | | |
466 | 457 | | |
467 | 458 | | |
468 | 459 | | |
469 | | - | |
| 460 | + | |
470 | 461 | | |
471 | | - | |
472 | | - | |
| 462 | + | |
473 | 463 | | |
474 | 464 | | |
475 | 465 | | |
| |||
573 | 563 | | |
574 | 564 | | |
575 | 565 | | |
576 | | - | |
577 | 566 | | |
578 | 567 | | |
579 | 568 | | |
| |||
1771 | 1760 | | |
1772 | 1761 | | |
1773 | 1762 | | |
1774 | | - | |
1775 | 1763 | | |
1776 | 1764 | | |
1777 | 1765 | | |
| |||
1840 | 1828 | | |
1841 | 1829 | | |
1842 | 1830 | | |
1843 | | - | |
| 1831 | + | |
1844 | 1832 | | |
1845 | 1833 | | |
1846 | 1834 | | |
1847 | | - | |
1848 | | - | |
| 1835 | + | |
| 1836 | + | |
1849 | 1837 | | |
1850 | 1838 | | |
1851 | 1839 | | |
| |||
2083 | 2071 | | |
2084 | 2072 | | |
2085 | 2073 | | |
2086 | | - | |
| 2074 | + | |
2087 | 2075 | | |
2088 | 2076 | | |
2089 | 2077 | | |
| |||
2134 | 2122 | | |
2135 | 2123 | | |
2136 | 2124 | | |
2137 | | - | |
| 2125 | + | |
2138 | 2126 | | |
2139 | 2127 | | |
2140 | | - | |
2141 | 2128 | | |
2142 | 2129 | | |
2143 | 2130 | | |
| |||
0 commit comments