Browse Source
[dynarmic] simplify assert macro usage (Only ASSERT/DEBUG_ASSERT are needed) (#2890)
[dynarmic] simplify assert macro usage (Only ASSERT/DEBUG_ASSERT are needed) (#2890)
- replace instances of ASSERT() with those where UNREACHABLE() should be used instead
- debuggers exist for a reason, you can't just debug an issue in dynarmic with just printing fancy text... you need to inspect values and alldat - while yes the asserts are "useful"; there is this beautiful thing called backtraces
- this will indirectly speedup the main decoder loop because of the added UNREACHABLE()
- this also removes a bunch of macros that were redundant
- the weird trick of [&](){}() is really funky, just do what everyone has done for the past 30 years and use a `do { <thing> } while(0)` :)
I may or may not have missed one assert or messed up my regex substitutions...
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2890
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
pull/2912/head
committed by
crueter
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
65 changed files with 384 additions and 428 deletions
-
2docs/Deps.md
-
6src/dynarmic/src/dynarmic/backend/arm64/abi.h
-
12src/dynarmic/src/dynarmic/backend/arm64/address_space.cpp
-
9src/dynarmic/src/dynarmic/backend/arm64/emit_arm64.cpp
-
5src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_a32.cpp
-
6src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_a32_coprocessor.cpp
-
2src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_a64.cpp
-
5src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_cryptography.cpp
-
50src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_floating_point.cpp
-
8src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp
-
39src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_saturation.cpp
-
33src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_vector.cpp
-
34src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_vector_floating_point.cpp
-
34src/dynarmic/src/dynarmic/backend/arm64/reg_alloc.cpp
-
15src/dynarmic/src/dynarmic/backend/arm64/reg_alloc.h
-
8src/dynarmic/src/dynarmic/backend/exception_handler_macos.cpp
-
5src/dynarmic/src/dynarmic/backend/exception_handler_posix.cpp
-
2src/dynarmic/src/dynarmic/backend/riscv64/a32_address_space.cpp
-
2src/dynarmic/src/dynarmic/backend/riscv64/a32_interface.cpp
-
6src/dynarmic/src/dynarmic/backend/riscv64/code_block.h
-
3src/dynarmic/src/dynarmic/backend/riscv64/emit_riscv64.cpp
-
8src/dynarmic/src/dynarmic/backend/riscv64/emit_riscv64_a32.cpp
-
34src/dynarmic/src/dynarmic/backend/riscv64/reg_alloc.cpp
-
25src/dynarmic/src/dynarmic/backend/x64/a32_emit_x64.cpp
-
6src/dynarmic/src/dynarmic/backend/x64/a64_emit_x64.cpp
-
3src/dynarmic/src/dynarmic/backend/x64/block_of_code.cpp
-
4src/dynarmic/src/dynarmic/backend/x64/emit_x64.cpp
-
2src/dynarmic/src/dynarmic/backend/x64/emit_x64_data_processing.cpp
-
7src/dynarmic/src/dynarmic/backend/x64/emit_x64_memory.cpp.inc
-
8src/dynarmic/src/dynarmic/backend/x64/emit_x64_memory.h
-
14src/dynarmic/src/dynarmic/backend/x64/emit_x64_vector.cpp
-
3src/dynarmic/src/dynarmic/backend/x64/oparg.h
-
58src/dynarmic/src/dynarmic/backend/x64/reg_alloc.cpp
-
6src/dynarmic/src/dynarmic/common/assert.cpp
-
52src/dynarmic/src/dynarmic/common/assert.h
-
6src/dynarmic/src/dynarmic/common/fp/fpcr.h
-
25src/dynarmic/src/dynarmic/common/fp/process_exception.cpp
-
16src/dynarmic/src/dynarmic/frontend/A32/a32_ir_emitter.cpp
-
2src/dynarmic/src/dynarmic/frontend/A32/translate/conditional_state.cpp
-
2src/dynarmic/src/dynarmic/frontend/A32/translate/impl/a32_translate_impl.cpp
-
5src/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_load_store_structures.cpp
-
25src/dynarmic/src/dynarmic/frontend/A32/translate/impl/load_store.cpp
-
5src/dynarmic/src/dynarmic/frontend/A32/translate/impl/status_register_access.cpp
-
5src/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb16.cpp
-
15src/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_data_processing_modified_immediate.cpp
-
2src/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_data_processing_plain_binary_immediate.cpp
-
15src/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_data_processing_shifted_register.cpp
-
19src/dynarmic/src/dynarmic/frontend/A32/translate/impl/vfp.cpp
-
2src/dynarmic/src/dynarmic/frontend/A32/translate/translate_arm.cpp
-
2src/dynarmic/src/dynarmic/frontend/A32/translate/translate_thumb.cpp
-
5src/dynarmic/src/dynarmic/frontend/A64/translate/a64_translate.cpp
-
41src/dynarmic/src/dynarmic/frontend/A64/translate/impl/impl.cpp
-
14src/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_x_indexed_element.cpp
-
2src/dynarmic/src/dynarmic/frontend/imm.h
-
4src/dynarmic/src/dynarmic/ir/basic_block.h
-
10src/dynarmic/src/dynarmic/ir/ir_emitter.h
-
8src/dynarmic/src/dynarmic/ir/microinstruction.cpp
-
6src/dynarmic/src/dynarmic/ir/microinstruction.h
-
2src/dynarmic/src/dynarmic/ir/opt_passes.cpp
-
4src/dynarmic/tests/A32/fuzz_arm.cpp
-
24src/dynarmic/tests/A32/testenv.h
-
24src/dynarmic/tests/A64/testenv.h
-
2src/dynarmic/tests/test_generator.cpp
-
2src/dynarmic/tests/unicorn_emu/a32_unicorn.cpp
-
2src/dynarmic/tests/unicorn_emu/a64_unicorn.cpp
Write
Preview
Loading…
Cancel
Save
Reference in new issue