about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--miasm2/jitter/jitcore_python.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/miasm2/jitter/jitcore_python.py b/miasm2/jitter/jitcore_python.py
index ae72b307..70131157 100644
--- a/miasm2/jitter/jitcore_python.py
+++ b/miasm2/jitter/jitcore_python.py
@@ -1,7 +1,7 @@
 import miasm2.jitter.jitcore as jitcore
 import miasm2.expression.expression as m2_expr
 import miasm2.jitter.csts as csts
-from miasm2.expression.simplifications import expr_simp
+from miasm2.expression.simplifications import ExpressionSimplifier
 from miasm2.jitter.emulatedsymbexec import EmulatedSymbExec
 
 
@@ -17,8 +17,11 @@ class JitCore_Python(jitcore.JitCore):
         super(JitCore_Python, self).__init__(ir_arch, bs)
         self.ir_arch = ir_arch
 
-        # CPU & VM (None for now) will be set by the "jitted" Python function
-        self.symbexec = EmulatedSymbExec(None, None, self.ir_arch, {})
+        # CPU & VM (None for now) will be set later
+        expr_simp = ExpressionSimplifier()
+        expr_simp.enable_passes(ExpressionSimplifier.PASS_COMMONS)
+        self.symbexec = EmulatedSymbExec(None, None, self.ir_arch, {},
+                                         sb_expr_simp=expr_simp)
         self.symbexec.enable_emulated_simplifications()
 
     def set_cpu_vm(self, cpu, vm):
@@ -49,6 +52,7 @@ class JitCore_Python(jitcore.JitCore):
 
             # Get exec engine
             exec_engine = self.symbexec
+            expr_simp = exec_engine.expr_simp
 
             # For each irbloc inside irblocs
             while True: