Browse Source
[dynarmic] Coalesce non-exclusive Write/Read fallback functions (#4158)
[dynarmic] Coalesce non-exclusive Write/Read fallback functions (#4158)
the general idea is to have a common procedure form whom to call this way theres less "jumping around" for values of different sizes additionally this **should** allow for better codegen since most of the u8,u16,u32,u64 can be held within a u64 theoretically this means that you could deifne callbacks in suck a way that it's essentially as costly as a `mov r64, m64` but that's not doable due to the fact we have to do translations... Is this a good change? Primarily aimed for x86 and ARM to benefit, but I suppose LooooooongArch64 can benefit too. Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4158 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>lizzie/dynarmic-abort-path-12
committed by
crueter
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
25 changed files with 477 additions and 566 deletions
-
52src/core/arm/dynarmic/arm_dynarmic_32.cpp
-
10src/core/arm/dynarmic/arm_dynarmic_32.h
-
52src/core/arm/dynarmic/arm_dynarmic_64.cpp
-
11src/core/arm/dynarmic/arm_dynarmic_64.h
-
62src/core/hle/service/jit/jit_context.cpp
-
16src/core/tools/freezer.cpp
-
39src/dynarmic/src/dynarmic/backend/arm64/a32_address_space.cpp
-
40src/dynarmic/src/dynarmic/backend/arm64/a64_address_space.cpp
-
51src/dynarmic/src/dynarmic/backend/arm64/address_space.cpp
-
20src/dynarmic/src/dynarmic/backend/arm64/address_space.h
-
60src/dynarmic/src/dynarmic/backend/x64/a32_emit_x64_memory.cpp
-
62src/dynarmic/src/dynarmic/backend/x64/a64_emit_x64_memory.cpp
-
36src/dynarmic/src/dynarmic/backend/x64/emit_x64_memory.cpp.inc
-
14src/dynarmic/src/dynarmic/interface/A32/config.h
-
14src/dynarmic/src/dynarmic/interface/A64/config.h
-
8src/dynarmic/src/dynarmic/ir/opt_passes.cpp
-
2src/dynarmic/tests/A32/fuzz_thumb.cpp
-
6src/dynarmic/tests/A32/test_arm_instructions.cpp
-
127src/dynarmic/tests/A32/testenv.h
-
20src/dynarmic/tests/A64/a64.cpp
-
85src/dynarmic/tests/A64/fibonacci.cpp
-
142src/dynarmic/tests/A64/testenv.h
-
72src/dynarmic/tests/print_info.cpp
-
21src/dynarmic/tests/unicorn_emu/a32_unicorn.cpp
-
21src/dynarmic/tests/unicorn_emu/a64_unicorn.cpp
20
src/dynarmic/tests/A64/a64.cpp
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue