[dynarmic] remove decode matcher function handlers using std::function<>, use raw function pointers (#3920)

issues:
- std::function<> is used, which is famously bad
- storage of tehse in tables makes big fucking tables for no good reason
- lets just store a normal pointer and stuff! :)

this pr attempts to address that

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3920
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
This commit is contained in:
lizzie
2026-05-09 05:41:41 +02:00
committed by crueter
parent a6423a88cc
commit eec460ec2e
15 changed files with 187 additions and 276 deletions
+1 -1
View File
@@ -51,7 +51,7 @@ TEST_CASE("ASIMD Decoder: Ensure table order correctness", "[decode][a32][.]") {
const bool iserr = is_decode_error(*iter, instruction);
const auto alternative = std::find_if(table.cbegin(), iter, [instruction](const auto& m) {
return m.Matches(instruction);
return (instruction & mask) == expect;
});
const bool altiserr = is_decode_error(*alternative, instruction);