diff options
| author | Camille Mougey <commial@gmail.com> | 2016-05-10 14:42:31 +0200 |
|---|---|---|
| committer | Camille Mougey <commial@gmail.com> | 2016-05-10 14:42:31 +0200 |
| commit | f6aecc413205b49b8ff2cb4fa7b5b9c3cd11dad8 (patch) | |
| tree | 46cdb77f0d38af3005036d1ff7b8e4db05727159 /miasm2/ir | |
| parent | 8e41c7845c9164d94f12f7d73f12bb8804f3e196 (diff) | |
| parent | 02a8037102adc14c8d5409e27f635acfedad7546 (diff) | |
| download | miasm-f6aecc413205b49b8ff2cb4fa7b5b9c3cd11dad8.tar.gz miasm-f6aecc413205b49b8ff2cb4fa7b5b9c3cd11dad8.zip | |
Merge pull request #367 from serpilliere/jitter_cache_block
Jitter cache block
Diffstat (limited to 'miasm2/ir')
| -rw-r--r-- | miasm2/ir/ir2C.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/miasm2/ir/ir2C.py b/miasm2/ir/ir2C.py index d888f586..ebc61e27 100644 --- a/miasm2/ir/ir2C.py +++ b/miasm2/ir/ir2C.py @@ -28,12 +28,12 @@ for size in [8, 16, 32, 64]: def init_arch_C(arch): arch.id2Cid = {} for x in arch.regs.all_regs_ids + prefetch_id: - arch.id2Cid[x] = m2_expr.ExprId('((vm_cpu_t*)jitcpu->cpu)->' + str(x), x.size) + arch.id2Cid[x] = m2_expr.ExprId('mycpu->' + str(x), x.size) arch.id2newCid = {} for x in arch.regs.all_regs_ids + prefetch_id: - arch.id2newCid[x] = m2_expr.ExprId('((vm_cpu_t*)jitcpu->cpu)->%s_new' % x, x.size) + arch.id2newCid[x] = m2_expr.ExprId('mycpu->%s_new' % x, x.size) def patch_c_id(arch, e): @@ -407,6 +407,8 @@ def irblocs2C(ir_arch, resolvers, label, irblocs, l.index -= lbl_index_min out.append("void* local_labels[] = {%s};"%(', '.join(["&&%s"%l.name for l in lbls_local]))) + out.append("vm_cpu_t* mycpu = (vm_cpu_t*)jitcpu->cpu;") + out.append("goto %s;" % label.name) bloc_labels = [x.label for x in irblocs] |