Просмотр исходного кода

Better handle instruction aborts when hitting unmapped memory (#5869)

* Adjust ARMeilleure to better handle instruction aborts when hitting unmapped memory

* Update src/ARMeilleure/Decoders/Decoder.cs

Co-authored-by: gdkchan <gab.dark.100@gmail.com>

---------

Co-authored-by: gdkchan <gab.dark.100@gmail.com>
Somebody Whoisbored 2 лет назад
Родитель
Сommit
617c5700ca
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      src/ARMeilleure/Decoders/Decoder.cs

+ 3 - 1
src/ARMeilleure/Decoders/Decoder.cs

@@ -38,7 +38,9 @@ namespace ARMeilleure.Decoders
                 {
                     block = new Block(blkAddress);
 
-                    if ((dMode != DecoderMode.MultipleBlocks && visited.Count >= 1) || opsCount > instructionLimit || !memory.IsMapped(blkAddress))
+                    if ((dMode != DecoderMode.MultipleBlocks && visited.Count >= 1) ||
+                        opsCount > instructionLimit ||
+                        (visited.Count > 0 && !memory.IsMapped(blkAddress)))
                     {
                         block.Exit = true;
                         block.EndAddress = blkAddress;