about summary refs log tree commit diff stats
path: root/miasm2/core/cpu.py
diff options
context:
space:
mode:
authorAjax <commial@gmail.com>2016-01-08 15:41:46 +0100
committerAjax <commial@gmail.com>2016-01-08 16:06:24 +0100
commitadb97c99ad7e9e9a40480609b5633dc2e1e9b0ce (patch)
tree3443160fb0c7f06b583a094b5b59d1d7c5369dda /miasm2/core/cpu.py
parentee293b843e56b77b9bfd1b01dc3ce94b5340a5d4 (diff)
downloadmiasm-adb97c99ad7e9e9a40480609b5633dc2e1e9b0ce.tar.gz
miasm-adb97c99ad7e9e9a40480609b5633dc2e1e9b0ce.zip
MnemoDis: enter atomic mode for a disasm boost
Diffstat (limited to 'miasm2/core/cpu.py')
-rw-r--r--miasm2/core/cpu.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/miasm2/core/cpu.py b/miasm2/core/cpu.py
index cfbc1dfb..f2c4c3b4 100644
--- a/miasm2/core/cpu.py
+++ b/miasm2/core/cpu.py
@@ -1093,6 +1093,8 @@ class cls_mn(object):
         if not isinstance(bs_o, bin_stream):
             bs_o = bin_stream_str(bs_o)
 
+        bs_o.enter_atomic_mode()
+
         offset_o = offset
         pre_dis_info, bs, mode, offset, prefix_len = cls.pre_dis(
             bs_o, mode_o, offset)
@@ -1180,6 +1182,9 @@ class cls_mn(object):
                 alias = True
             out.append(instr)
             out_c.append(c)
+
+        bs_o.leave_atomic_mode()
+
         if not out:
             raise Disasm_Exception('cannot disasm at %X' % offset_o)
         if len(out) != 1: