mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 18:00:17 +02:00
Frontend: fix nondeterminism by rolling back DecodedMaxAddress on error
Otherwise GuestSize ends up different across compiles of the same valid code extents, including the copy of it baked in JITCodeTail of the host code itself.
This commit is contained in:
1 parent
abec314720
commit
96d955e7b1
2 files changed
+4
-1
No files matched your search
@@ -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}",
|
||||
|
||||
Reference in new issue
Block a user