about summary refs log tree commit diff stats
path: root/miasm2/expression/expression.py
diff options
context:
space:
mode:
authorMizari <gomizari@gmail.com>2018-12-06 23:47:24 +0700
committerMizari <gomizari@gmail.com>2018-12-06 23:47:24 +0700
commit83b22a7a2c73773deb74c83dc2feda3f984160ad (patch)
tree4ef7a047ec1d180662c9a31f1016b22fbc9a571e /miasm2/expression/expression.py
parent37c877b20aa1f6b3bbe81a7c79e0fa206ef2d428 (diff)
downloadmiasm-83b22a7a2c73773deb74c83dc2feda3f984160ad.tar.gz
miasm-83b22a7a2c73773deb74c83dc2feda3f984160ad.zip
perfomance feature
Diffstat (limited to 'miasm2/expression/expression.py')
-rw-r--r--miasm2/expression/expression.py11
1 files changed, 3 insertions, 8 deletions
diff --git a/miasm2/expression/expression.py b/miasm2/expression/expression.py
index d06b7e21..0e4b7629 100644
--- a/miasm2/expression/expression.py
+++ b/miasm2/expression/expression.py
@@ -317,15 +317,10 @@ class Expr(object):
         """Find and replace sub expression using dct
         @dct: dictionary of Expr -> *
         """
-        if dct is None:
-            dct = {}
-
-        def my_replace(expr, dct):
-            if expr in dct:
-                return dct[expr]
-            return expr
+        if not dct:
+            return self
 
-        return self.visit(lambda expr: my_replace(expr, dct))
+        return self.visit(lambda expr: dct.get(expr, expr))
 
     def canonize(self):
         "Canonize the Expression"