about summary refs log tree commit diff stats
path: root/miasm/arch
diff options
context:
space:
mode:
Diffstat (limited to 'miasm/arch')
-rw-r--r--miasm/arch/aarch64/jit.py9
-rw-r--r--miasm/arch/arm/jit.py16
-rw-r--r--miasm/arch/mep/jit.py11
-rw-r--r--miasm/arch/mips32/jit.py10
-rw-r--r--miasm/arch/msp430/jit.py5
-rw-r--r--miasm/arch/ppc/jit.py5
-rw-r--r--miasm/arch/x86/jit.py16
7 files changed, 28 insertions, 44 deletions
diff --git a/miasm/arch/aarch64/jit.py b/miasm/arch/aarch64/jit.py
index e3ea77f7..52ef1ae7 100644
--- a/miasm/arch/aarch64/jit.py
+++ b/miasm/arch/aarch64/jit.py
@@ -2,7 +2,6 @@ from builtins import range
 import logging
 
 from miasm.jitter.jitload import Jitter, named_arguments
-from miasm.core.locationdb import LocationDB
 from miasm.core.utils import pck64, upck64
 from miasm.arch.aarch64.sem import ir_aarch64b, ir_aarch64l
 
@@ -15,8 +14,8 @@ log.setLevel(logging.CRITICAL)
 class jitter_aarch64l(Jitter):
     max_reg_arg = 8
 
-    def __init__(self, *args, **kwargs):
-        Jitter.__init__(self, ir_aarch64l(LocationDB()), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_aarch64l(loc_db), *args, **kwargs)
         self.vm.set_little_endian()
 
     def push_uint64_t(self, value):
@@ -75,6 +74,6 @@ class jitter_aarch64l(Jitter):
 
 class jitter_aarch64b(jitter_aarch64l):
 
-    def __init__(self, *args, **kwargs):
-        Jitter.__init__(self, ir_aarch64b(LocationDB()), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_aarch64b(loc_db), *args, **kwargs)
         self.vm.set_big_endian()
diff --git a/miasm/arch/arm/jit.py b/miasm/arch/arm/jit.py
index ee4e5c96..b4b7e793 100644
--- a/miasm/arch/arm/jit.py
+++ b/miasm/arch/arm/jit.py
@@ -2,7 +2,6 @@ from builtins import range
 import logging
 
 from miasm.jitter.jitload import Jitter, named_arguments
-from miasm.core.locationdb import LocationDB
 from miasm.core.utils import pck32, upck32
 from miasm.arch.arm.sem import ir_armb, ir_arml, ir_armtl, ir_armtb, cond_dct_inv, tab_cond
 from miasm.jitter.codegen import CGen
@@ -65,9 +64,8 @@ class arm_CGen(CGen):
 class jitter_arml(Jitter):
     C_Gen = arm_CGen
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_arml(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_arml(loc_db), *args, **kwargs)
         self.vm.set_little_endian()
 
     def push_uint32_t(self, value):
@@ -133,16 +131,14 @@ class jitter_arml(Jitter):
 class jitter_armb(jitter_arml):
     C_Gen = arm_CGen
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_armb(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_armb(loc_db), *args, **kwargs)
         self.vm.set_big_endian()
 
 
 class jitter_armtl(jitter_arml):
     C_Gen = arm_CGen
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_armtl(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_armtl(loc_db), *args, **kwargs)
         self.vm.set_little_endian()
diff --git a/miasm/arch/mep/jit.py b/miasm/arch/mep/jit.py
index 08bf73db..cc1e56ac 100644
--- a/miasm/arch/mep/jit.py
+++ b/miasm/arch/mep/jit.py
@@ -3,7 +3,6 @@
 # Note: inspiration from msp430/jit.py
 
 from miasm.jitter.jitload import Jitter
-from miasm.core.locationdb import LocationDB
 from miasm.core.utils import *
 from miasm.jitter.codegen import CGen
 from miasm.ir.translators.C import TranslatorC
@@ -77,9 +76,8 @@ class jitter_mepl(Jitter):
 
     C_Gen = mep_CGen
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_mepl(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_mepl(loc_db), *args, **kwargs)
         self.vm.set_little_endian()
         self.ir_arch.jit_pc = self.ir_arch.arch.regs.PC
 
@@ -108,8 +106,7 @@ class jitter_mepl(Jitter):
 
 class jitter_mepb(jitter_mepl):
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_mepb(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_mepb(loc_db), *args, **kwargs)
         self.vm.set_big_endian()
         self.ir_arch.jit_pc = self.ir_arch.arch.regs.PC
diff --git a/miasm/arch/mips32/jit.py b/miasm/arch/mips32/jit.py
index 7cbc258b..1c2c182e 100644
--- a/miasm/arch/mips32/jit.py
+++ b/miasm/arch/mips32/jit.py
@@ -85,9 +85,8 @@ class jitter_mips32l(Jitter):
 
     C_Gen = mipsCGen
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_mips32l(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_mips32l(loc_db), *args, **kwargs)
         self.vm.set_little_endian()
 
     def push_uint32_t(self, value):
@@ -145,7 +144,6 @@ class jitter_mips32l(Jitter):
 
 class jitter_mips32b(jitter_mips32l):
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_mips32b(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_mips32b(loc_db), *args, **kwargs)
         self.vm.set_big_endian()
diff --git a/miasm/arch/msp430/jit.py b/miasm/arch/msp430/jit.py
index faf00434..1212b338 100644
--- a/miasm/arch/msp430/jit.py
+++ b/miasm/arch/msp430/jit.py
@@ -13,9 +13,8 @@ log.setLevel(logging.CRITICAL)
 
 class jitter_msp430(Jitter):
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_msp430(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_msp430(loc_db), *args, **kwargs)
         self.vm.set_little_endian()
 
     def push_uint16_t(self, value):
diff --git a/miasm/arch/ppc/jit.py b/miasm/arch/ppc/jit.py
index 92147b04..ccdaab72 100644
--- a/miasm/arch/ppc/jit.py
+++ b/miasm/arch/ppc/jit.py
@@ -1,6 +1,5 @@
 from builtins import range
 from miasm.jitter.jitload import Jitter, named_arguments
-from miasm.core.locationdb import LocationDB
 from miasm.arch.ppc.sem import ir_ppc32b
 import struct
 
@@ -15,8 +14,8 @@ log.setLevel(logging.CRITICAL)
 class jitter_ppc32b(Jitter):
     max_reg_arg = 8
 
-    def __init__(self, *args, **kwargs):
-        super(jitter_ppc32b, self).__init__(ir_ppc32b(LocationDB()),
+    def __init__(self, loc_db, *args, **kwargs):
+        super(jitter_ppc32b, self).__init__(ir_ppc32b(loc_db),
                                             *args, **kwargs)
         self.vm.set_big_endian()
 
diff --git a/miasm/arch/x86/jit.py b/miasm/arch/x86/jit.py
index 0144c289..9113b9ad 100644
--- a/miasm/arch/x86/jit.py
+++ b/miasm/arch/x86/jit.py
@@ -4,7 +4,6 @@ import logging
 from miasm.jitter.jitload import Jitter, named_arguments
 from miasm.arch.x86.sem import ir_x86_16, ir_x86_32, ir_x86_64
 from miasm.jitter.codegen import CGen
-from miasm.core.locationdb import LocationDB
 from miasm.ir.translators.C import TranslatorC
 
 log = logging.getLogger('jit_x86')
@@ -42,9 +41,8 @@ class jitter_x86_16(Jitter):
 
     C_Gen = x86_32_CGen
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_x86_16(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_x86_16(loc_db), *args, **kwargs)
         self.vm.set_little_endian()
         self.ir_arch.do_stk_segm = False
         self.orig_irbloc_fix_regs_for_mode = self.ir_arch.irbloc_fix_regs_for_mode
@@ -74,9 +72,8 @@ class jitter_x86_32(Jitter):
 
     C_Gen = x86_32_CGen
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_x86_32(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_x86_32(loc_db), *args, **kwargs)
         self.vm.set_little_endian()
         self.ir_arch.do_stk_segm = False
 
@@ -201,9 +198,8 @@ class jitter_x86_64(Jitter):
     args_regs_systemv = ['RDI', 'RSI', 'RDX', 'RCX', 'R8', 'R9']
     args_regs_stdcall = ['RCX', 'RDX', 'R8', 'R9']
 
-    def __init__(self, *args, **kwargs):
-        sp = LocationDB()
-        Jitter.__init__(self, ir_x86_64(sp), *args, **kwargs)
+    def __init__(self, loc_db, *args, **kwargs):
+        Jitter.__init__(self, ir_x86_64(loc_db), *args, **kwargs)
         self.vm.set_little_endian()
         self.ir_arch.do_stk_segm = False