From eebb61353ea5dd2036d1db8c3cc4aab6c1cc5662 Mon Sep 17 00:00:00 2001 From: Ajax Date: Fri, 24 Jun 2016 17:19:33 +0200 Subject: Use a local expr_simp, instead of activating simps on global expr_simp --- miasm2/jitter/jitcore_python.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'miasm2/jitter/jitcore_python.py') 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: -- cgit 1.4.1