diff options
| author | lizzie <lizzie@eden-emu.dev> | 2025-11-03 21:09:14 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-11-03 21:09:14 +0100 |
| commit | dd24ef244d363f856e764e205a7b6b9b3553d02d (patch) | |
| tree | ea083a3813d9873679ec67eeb37cf1166318397f /src | |
| parent | 5cc218084bfd43fdfe6046a5c1a4236557b95c2e (diff) | |
[dynarmic] fix assert for referencing a non-initialized part of the boost::stable_vector container (#2940)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2940
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>
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarmic/src/dynarmic/ir/basic_block.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarmic/src/dynarmic/ir/basic_block.cpp b/src/dynarmic/src/dynarmic/ir/basic_block.cpp index 612a3d28e9..ae9e0b103b 100644 --- a/src/dynarmic/src/dynarmic/ir/basic_block.cpp +++ b/src/dynarmic/src/dynarmic/ir/basic_block.cpp @@ -44,13 +44,13 @@ Block::iterator Block::PrependNewInst(iterator insertion_point, Opcode opcode, s // hugely benefit from the coherency of faster allocations... IR::Inst* inst; if (inlined_inst.size() < inlined_inst.max_size()) { - inst = &inlined_inst[inlined_inst.size()]; inlined_inst.emplace_back(opcode); + inst = &inlined_inst[inlined_inst.size() - 1]; } else { if (pooled_inst.empty() || pooled_inst.back().size() == pooled_inst.back().max_size()) pooled_inst.emplace_back(); - inst = &pooled_inst.back()[pooled_inst.back().size()]; pooled_inst.back().emplace_back(opcode); + inst = &pooled_inst.back()[pooled_inst.back().size() - 1]; } DEBUG_ASSERT(args.size() == inst->NumArgs()); std::for_each(args.begin(), args.end(), [&inst, index = size_t(0)](const auto& arg) mutable { |
