Commit fbc0df2
Limit
These two changes are bundled together in order to simplify and improve table size overflow verification.
1. We verify use input directly without any transformation that may cause overflow.
2. Verification for 64 bit platform doesn't require division anymore.
3. We also leave the room for using extra bits in size for metadata (for ongoing experiment with storing seed in the size).
PiperOrigin-RevId: 731394588
Change-Id: I0c4336d945f86d74dc64ad67171e176efd1cdd80slot_size to 2^16-1 and maximum table size to 2^43-1.1 parent 1af129f commit fbc0df2
File tree
3 files changed
+136
-48
lines changed- absl/container/internal
3 files changed
+136
-48
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
72 | 82 | | |
73 | 83 | | |
74 | 84 | | |
| |||
515 | 525 | | |
516 | 526 | | |
517 | 527 | | |
518 | | - | |
519 | | - | |
520 | | - | |
521 | 528 | | |
522 | 529 | | |
523 | 530 | | |
| |||
923 | 930 | | |
924 | 931 | | |
925 | 932 | | |
926 | | - | |
927 | | - | |
928 | | - | |
929 | | - | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
930 | 952 | | |
931 | 953 | | |
932 | 954 | | |
| |||
993 | 1015 | | |
994 | 1016 | | |
995 | 1017 | | |
996 | | - | |
997 | | - | |
998 | | - | |
| 1018 | + | |
999 | 1019 | | |
1000 | 1020 | | |
1001 | | - | |
| 1021 | + | |
| 1022 | + | |
1002 | 1023 | | |
1003 | 1024 | | |
1004 | 1025 | | |
| |||
1014 | 1035 | | |
1015 | 1036 | | |
1016 | 1037 | | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
1017 | 1041 | | |
1018 | 1042 | | |
1019 | 1043 | | |
| |||
1023 | 1047 | | |
1024 | 1048 | | |
1025 | 1049 | | |
| 1050 | + | |
1026 | 1051 | | |
1027 | | - | |
1028 | | - | |
1029 | | - | |
1030 | 1052 | | |
1031 | 1053 | | |
1032 | 1054 | | |
| |||
1066 | 1088 | | |
1067 | 1089 | | |
1068 | 1090 | | |
1069 | | - | |
1070 | | - | |
1071 | | - | |
1072 | | - | |
1073 | 1091 | | |
1074 | 1092 | | |
1075 | 1093 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1097 | 1097 | | |
1098 | 1098 | | |
1099 | 1099 | | |
1100 | | - | |
1101 | | - | |
1102 | | - | |
1103 | | - | |
1104 | | - | |
1105 | | - | |
1106 | | - | |
1107 | | - | |
1108 | 1100 | | |
1109 | 1101 | | |
1110 | 1102 | | |
| |||
1537 | 1529 | | |
1538 | 1530 | | |
1539 | 1531 | | |
1540 | | - | |
| 1532 | + | |
1541 | 1533 | | |
1542 | 1534 | | |
1543 | 1535 | | |
| |||
1584 | 1576 | | |
1585 | 1577 | | |
1586 | 1578 | | |
1587 | | - | |
| 1579 | + | |
1588 | 1580 | | |
1589 | 1581 | | |
1590 | 1582 | | |
1591 | | - | |
| 1583 | + | |
1592 | 1584 | | |
1593 | | - | |
1594 | | - | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
1595 | 1593 | | |
1596 | 1594 | | |
1597 | 1595 | | |
| |||
1659 | 1657 | | |
1660 | 1658 | | |
1661 | 1659 | | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
| 1670 | + | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
1662 | 1687 | | |
1663 | 1688 | | |
1664 | 1689 | | |
| |||
2125 | 2150 | | |
2126 | 2151 | | |
2127 | 2152 | | |
2128 | | - | |
2129 | | - | |
| 2153 | + | |
| 2154 | + | |
2130 | 2155 | | |
2131 | 2156 | | |
2132 | 2157 | | |
| |||
2402 | 2427 | | |
2403 | 2428 | | |
2404 | 2429 | | |
2405 | | - | |
2406 | | - | |
2407 | | - | |
| 2430 | + | |
2408 | 2431 | | |
2409 | 2432 | | |
2410 | 2433 | | |
| |||
2813 | 2836 | | |
2814 | 2837 | | |
2815 | 2838 | | |
2816 | | - | |
2817 | | - | |
2818 | | - | |
2819 | | - | |
2820 | | - | |
2821 | | - | |
| 2839 | + | |
| 2840 | + | |
2822 | 2841 | | |
2823 | 2842 | | |
2824 | | - | |
2825 | | - | |
2826 | 2843 | | |
2827 | 2844 | | |
2828 | 2845 | | |
| |||
3558 | 3575 | | |
3559 | 3576 | | |
3560 | 3577 | | |
3561 | | - | |
3562 | | - | |
3563 | | - | |
3564 | | - | |
| 3578 | + | |
| 3579 | + | |
| 3580 | + | |
| 3581 | + | |
| 3582 | + | |
| 3583 | + | |
| 3584 | + | |
| 3585 | + | |
| 3586 | + | |
3565 | 3587 | | |
3566 | 3588 | | |
3567 | 3589 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4039 | 4039 | | |
4040 | 4040 | | |
4041 | 4041 | | |
| 4042 | + | |
| 4043 | + | |
| 4044 | + | |
| 4045 | + | |
| 4046 | + | |
| 4047 | + | |
| 4048 | + | |
| 4049 | + | |
| 4050 | + | |
| 4051 | + | |
| 4052 | + | |
| 4053 | + | |
| 4054 | + | |
| 4055 | + | |
| 4056 | + | |
| 4057 | + | |
| 4058 | + | |
| 4059 | + | |
| 4060 | + | |
| 4061 | + | |
| 4062 | + | |
| 4063 | + | |
| 4064 | + | |
| 4065 | + | |
| 4066 | + | |
| 4067 | + | |
| 4068 | + | |
| 4069 | + | |
| 4070 | + | |
| 4071 | + | |
| 4072 | + | |
| 4073 | + | |
| 4074 | + | |
| 4075 | + | |
| 4076 | + | |
| 4077 | + | |
| 4078 | + | |
| 4079 | + | |
| 4080 | + | |
| 4081 | + | |
| 4082 | + | |
4042 | 4083 | | |
4043 | 4084 | | |
4044 | 4085 | | |
4045 | 4086 | | |
4046 | 4087 | | |
4047 | 4088 | | |
| 4089 | + | |
| 4090 | + | |
| 4091 | + | |
| 4092 | + | |
| 4093 | + | |
| 4094 | + | |
| 4095 | + | |
4048 | 4096 | | |
4049 | 4097 | | |
4050 | 4098 | | |
| |||
0 commit comments