mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-13 23:00:50 +02:00
The LookupKey based on data available at Lookup time gives a list of possible candidate entries, which may have different guest code sizes/footprints. If only one candidate, it's stored in-line in the map like before - if we grow past that, an additional (multi)map is allocated, sorted by footprint. The footprint sorting lets us reduce the amount of hashes performed at Lookup to the strict minimum. Anon entries keys are based on a limited size decoded prefix, so this is an important part of geting the best hit rate possible out of all the other work with anon keys, as there's often multiple candidates with the same prefix. Cap the max amount of entries per bucket to limit growth.