[pypy-commit] pypy ppc-updated-backend: a few fixes

arigo noreply at buildbot.pypy.org
Thu Aug 20 11:58:33 CEST 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: ppc-updated-backend
Changeset: r79085:a3eacc21865e
Date: 2015-08-20 02:57 -0700
http://bitbucket.org/pypy/pypy/changeset/a3eacc21865e/

Log:	a few fixes

diff --git a/rpython/jit/backend/ppc/codebuilder.py b/rpython/jit/backend/ppc/codebuilder.py
--- a/rpython/jit/backend/ppc/codebuilder.py
+++ b/rpython/jit/backend/ppc/codebuilder.py
@@ -951,10 +951,9 @@
             self.cb.insts[i + startindex] = new_inst
 
 class PPCBuilder(BlockBuilderMixin, PPCAssembler):
-    def __init__(self, failargs_limit=1000, r0_in_use=False):
+    def __init__(self):
         PPCAssembler.__init__(self)
         self.init_block_builder()
-        self.r0_in_use = r0_in_use
         self.ops_offset = {}
 
     def mark_op(self, op):
@@ -1214,12 +1213,14 @@
                     self.cmpld(block, a, b)
                 
     def alloc_scratch_reg(self):
-        assert not self.r0_in_use
-        self.r0_in_use = True
+        pass
+        #assert not self.r0_in_use
+        #self.r0_in_use = True
 
     def free_scratch_reg(self):
-        assert self.r0_in_use
-        self.r0_in_use = False
+        pass
+        #assert self.r0_in_use
+        #self.r0_in_use = False
 
 class scratch_reg(object):
     def __init__(self, mc):
diff --git a/rpython/jit/backend/ppc/ppc_assembler.py b/rpython/jit/backend/ppc/ppc_assembler.py
--- a/rpython/jit/backend/ppc/ppc_assembler.py
+++ b/rpython/jit/backend/ppc/ppc_assembler.py
@@ -437,7 +437,7 @@
         mc.b_abs(self.propagate_exception_path)
 
         mc.prepare_insts_blocks()
-        rawstart = mc.materialize(self.cpu.asmmemmgr, [])
+        rawstart = mc.materialize(self.cpu, [])
         # here we do not need a function descr. This is being only called using
         # an internal ABI
         self.malloc_slowpath = rawstart
@@ -539,7 +539,7 @@
         mc.blr()
 
         mc.prepare_insts_blocks()
-        rawstart = mc.materialize(self.cpu.asmmemmgr, [])
+        rawstart = mc.materialize(self.cpu, [])
         if IS_PPC_64:
             self.write_64_bit_func_descr(rawstart, rawstart+3*WORD)
         self.stack_check_slowpath = rawstart
@@ -597,7 +597,7 @@
         mc.blr()
         #
         mc.prepare_insts_blocks()
-        rawstart = mc.materialize(self.cpu.asmmemmgr, [])
+        rawstart = mc.materialize(self.cpu, [])
         self.wb_slowpath[withcards + 2 * withfloats] = rawstart
 
     def _build_propagate_exception_path(self):
@@ -611,7 +611,7 @@
         mc.load_imm(r.RES, self.cpu.propagate_exception_descr)
         self._gen_epilogue(mc)
         mc.prepare_insts_blocks()
-        self.propagate_exception_path = mc.materialize(self.cpu.asmmemmgr, [])
+        self.propagate_exception_path = mc.materialize(self.cpu, [])
 
     # The code generated here serves as an exit stub from
     # the executed machine code.
@@ -642,8 +642,7 @@
         self._gen_epilogue(mc)
 
         mc.prepare_insts_blocks()
-        return mc.materialize(self.cpu.asmmemmgr, [],
-                                   self.cpu.gc_ll_descr.gcrootmap)
+        return mc.materialize(self.cpu, [], self.cpu.gc_ll_descr.gcrootmap)
 
     def _gen_epilogue(self, mc):
         gcrootmap = self.cpu.gc_ll_descr.gcrootmap
@@ -1115,7 +1114,7 @@
         self.datablockwrapper.done()
         self.datablockwrapper = None
         allblocks = self.get_asmmemmgr_blocks(looptoken)
-        start = self.mc.materialize(self.cpu.asmmemmgr, allblocks, 
+        start = self.mc.materialize(self.cpu, allblocks,
                                     self.cpu.gc_ll_descr.gcrootmap)
         #from pypy.rlib.rarithmetic import r_uint
         #print "=== Loop start is at %s ===" % hex(r_uint(start))
diff --git a/rpython/jit/backend/ppc/test/test_runner.py b/rpython/jit/backend/ppc/test/test_runner.py
--- a/rpython/jit/backend/ppc/test/test_runner.py
+++ b/rpython/jit/backend/ppc/test/test_runner.py
@@ -9,8 +9,7 @@
                                             ConstInt, ConstPtr,
                                             Const,
                                             BoxFloat, ConstFloat)
-from rpython.rtyper.lltypesystem import lltype, llmemory, rstr, rffi, rclass
-from rpython.jit.codewriter.effectinfo import EffectInfo
+from rpython.rtyper.lltypesystem import lltype
 from rpython.jit.metainterp.resoperation import ResOperation, rop
 from rpython.jit.backend.ppc.arch import IS_PPC_32
 import py


More information about the pypy-commit mailing list