diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-01-31 00:21:45 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-01-31 00:21:45 +0100 |
| commit | df838a57fd5d1a118e310933b37e9aeb2d88327b (patch) | |
| tree | d280aa90a44f5e36fe3ef448332499e0a929eb27 /src/dynarmic/tests/decoder_tests.cpp | |
| parent | b2b73ecb626d47eb80b1e749f1b25bb3ff840850 (diff) | |
[dynarmic] reduce CPU usage on Spooky Mansion by making blocks be page-sized and page-aligned; replace std::set<> with ankerl set in arm64 (#3253)
reduces CPU usage by about 10-20%, may be placebo
Signed-off-by: lizzie lizzie@eden-emu.dev
Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3253
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/dynarmic/tests/decoder_tests.cpp')
| -rw-r--r-- | src/dynarmic/tests/decoder_tests.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dynarmic/tests/decoder_tests.cpp b/src/dynarmic/tests/decoder_tests.cpp index 4ad9d90833..1b406fd915 100644 --- a/src/dynarmic/tests/decoder_tests.cpp +++ b/src/dynarmic/tests/decoder_tests.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later /* This file is part of the dynarmic project. @@ -36,9 +36,9 @@ TEST_CASE("ASIMD Decoder: Ensure table order correctness", "[decode][a32][.]") { const auto is_decode_error = [&get_ir](const A32::ASIMDMatcher<A32::TranslatorVisitor>& matcher, u32 instruction) { const auto block = get_ir(matcher, instruction); - return std::find_if(block.cbegin(), block.cend(), [](auto const& e) { + return std::find_if(block.instructions.cbegin(), block.instructions.cend(), [](auto const& e) { return e.GetOpcode() == IR::Opcode::A32ExceptionRaised && A32::Exception(e.GetArg(1).GetU64()) == A32::Exception::DecodeError; - }) != block.cend(); + }) != block.instructions.cend(); }; for (auto iter = table.cbegin(); iter != table.cend(); ++iter) { |
