Commit 14c182c
committed
Use bump allocation in DRC free list and other improvements
* Avoid using a `BTreeMap` and use a cache-friendly `Vec` instead.
* When merging blocks in the free list, use linear search, only falling back to
binary search when the free list is large.
* Add fast-path entry points that take a `u32` size directly that has already
been rounded to the free list's alignment.
Altogether, this shaves off ~309B instructions retired (48%) from the benchmark
in #111411 parent eb4c527 commit 14c182c
3 files changed
Lines changed: 287 additions & 140 deletions
File tree
- crates/wasmtime
- proptest-regressions/runtime/vm/gc/enabled
- src/runtime/vm/gc/enabled
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
179 | | - | |
180 | | - | |
| 179 | + | |
| 180 | + | |
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
186 | | - | |
| 186 | + | |
| 187 | + | |
187 | 188 | | |
188 | 189 | | |
189 | | - | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
190 | 194 | | |
191 | 195 | | |
192 | 196 | | |
| |||
921 | 925 | | |
922 | 926 | | |
923 | 927 | | |
| 928 | + | |
924 | 929 | | |
925 | 930 | | |
926 | 931 | | |
| |||
934 | 939 | | |
935 | 940 | | |
936 | 941 | | |
| 942 | + | |
937 | 943 | | |
938 | | - | |
| 944 | + | |
939 | 945 | | |
940 | 946 | | |
941 | 947 | | |
| |||
0 commit comments