about summary refs log tree commit diff stats
path: root/miasm2/jitter/jitcore.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2016-07-30 00:12:33 +0200
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2016-08-30 11:08:16 +0200
commitd441330ab409cfb0a8d3e0ebcfccafef54c32cd0 (patch)
treeb0dda66bbed78a243b6d32ec8760dd69ec5e367a /miasm2/jitter/jitcore.py
parentf2a9a353b32bf59a06b8738ab05e1d20109f71c9 (diff)
downloadmiasm-d441330ab409cfb0a8d3e0ebcfccafef54c32cd0.tar.gz
miasm-d441330ab409cfb0a8d3e0ebcfccafef54c32cd0.zip
Jitter: code generator rework
Diffstat (limited to 'miasm2/jitter/jitcore.py')
-rw-r--r--miasm2/jitter/jitcore.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/miasm2/jitter/jitcore.py b/miasm2/jitter/jitcore.py
index 74c438a7..6048d62e 100644
--- a/miasm2/jitter/jitcore.py
+++ b/miasm2/jitter/jitcore.py
@@ -95,6 +95,11 @@ class JitCore(object):
         if cur_bloc.lines:
             cur_bloc.ad_min = cur_bloc.lines[0].offset
             cur_bloc.ad_max = cur_bloc.lines[-1].offset + cur_bloc.lines[-1].l
+        else:
+            # 1 byte block for unknown mnemonic
+            cur_bloc.ad_min = cur_bloc.label.offset
+            cur_bloc.ad_max = cur_bloc.label.offset+1
+
 
     def add_bloc_to_mem_interval(self, vm, bloc):
         "Update vm to include bloc addresses in its memory range"
@@ -148,10 +153,6 @@ class JitCore(object):
         if self.log_newbloc:
             print cur_bloc
 
-        # Check for empty blocks
-        if not cur_bloc.lines:
-            raise ValueError("Cannot JIT a block without any assembly line")
-
         # Update label -> bloc
         self.lbl2bloc[cur_bloc.label] = cur_bloc