diff --git a/FEXCore/Source/Interface/Core/Frontend.cpp b/FEXCore/Source/Interface/Core/Frontend.cpp index ca3ca5e27..5829516de 100644 --- a/FEXCore/Source/Interface/Core/Frontend.cpp +++ b/FEXCore/Source/Interface/Core/Frontend.cpp @@ -1494,6 +1494,9 @@ void Decoder::DecodeLoop(const uint8_t* _InstStream, uint64_t GuestSizePause) { TotalInstructions -= BlockIt->NumInstructions; DecodedSize = BlockStartOffset; InstStream -= PCOffset; + if (DecodedMaxAddress == OpEndAddress) { + DecodedMaxAddress -= PCOffset; + } EraseBlock = true; } else { LogMan::Msg::EFmt("{} instruction in entry block: {:X}", diff --git a/FEXCore/include/FEXCore/Core/DiskCache.h b/FEXCore/include/FEXCore/Core/DiskCache.h index cbca1e921..3767b8091 100644 --- a/FEXCore/include/FEXCore/Core/DiskCache.h +++ b/FEXCore/include/FEXCore/Core/DiskCache.h @@ -214,7 +214,7 @@ namespace DiskCache { // TODO: This header is in global installed header path, but uses internal headers. // Migrate this once that is fixed. - static constexpr uint16_t FormatVersion = 15; + static constexpr uint16_t FormatVersion = 16; FEX_DEFAULT_VISIBILITY uint16_t GetFormatVersion(); } // namespace DiskCache