diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-02-25 11:09:54 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-03-05 16:52:49 +0100 |
| commit | 02bbb30efea4980c9d133947cbbf69fb599071ad (patch) | |
| tree | 3fea6826fcc5354840a27cb1dc99ff31eef81896 /miasm2/jitter/codegen.py | |
| parent | eab809932871f91d6f4aa770fc321af9e156e0f5 (diff) | |
| download | miasm-02bbb30efea4980c9d133947cbbf69fb599071ad.tar.gz miasm-02bbb30efea4980c9d133947cbbf69fb599071ad.zip | |
Support python2/python3
Diffstat (limited to 'miasm2/jitter/codegen.py')
| -rw-r--r-- | miasm2/jitter/codegen.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/miasm2/jitter/codegen.py b/miasm2/jitter/codegen.py index 65df0c03..bdd9e570 100644 --- a/miasm2/jitter/codegen.py +++ b/miasm2/jitter/codegen.py @@ -2,6 +2,10 @@ Module to generate C code for a given native @block """ +from builtins import zip + +from future.utils import viewitems, viewvalues + from miasm2.expression.expression import Expr, ExprId, ExprLoc, ExprInt, \ ExprMem, ExprCond, LocKey from miasm2.ir.ir import IRBlock, AssignBlock @@ -238,18 +242,18 @@ class CGen(object): prefetchers = self.get_mem_prefetch(assignblk) - for expr, prefetcher in sorted(prefetchers.iteritems()): + for expr, prefetcher in viewitems(prefetchers): str_src = self.id_to_c(expr) str_dst = self.id_to_c(prefetcher) c_prefetch.append('%s = %s;' % (str_dst, str_src)) - for var in prefetchers.itervalues(): + for var in viewvalues(prefetchers): if var.size <= self.translator.NATIVE_INT_MAX_SIZE: c_var.append("uint%d_t %s;" % (var.size, var)) else: c_var.append("bn_t %s; // %d" % (var, var.size)) - for dst, src in sorted(assignblk.iteritems()): + for dst, src in viewitems(assignblk): src = src.replace_expr(prefetchers) if dst == self.ir_arch.IRDst: pass @@ -294,7 +298,7 @@ class CGen(object): else: raise ValueError("Unknown dst") - for dst, new_dst in dst_var.iteritems(): + for dst, new_dst in viewitems(dst_var): if dst == self.ir_arch.IRDst: continue @@ -450,7 +454,7 @@ class CGen(object): out.append('switch(DST_case) {') stopcase = False - for dst, index in sorted(dst2index.iteritems(), key=lambda lblindex: lblindex[1]): + for dst, index in sorted(viewitems(dst2index), key=lambda lblindex: lblindex[1]): if index == -1: # Handle '-1' case only once if not stopcase: |