Author: Armin Rigo <ar...@tunes.org> Branch: ppc-updated-backend Changeset: r79096:fbf695116cb5 Date: 2015-08-21 01:28 -0700 http://bitbucket.org/pypy/pypy/changeset/fbf695116cb5/
Log: kill kill kill old code diff --git a/rpython/jit/backend/llsupport/llmodel.py b/rpython/jit/backend/llsupport/llmodel.py --- a/rpython/jit/backend/llsupport/llmodel.py +++ b/rpython/jit/backend/llsupport/llmodel.py @@ -282,7 +282,6 @@ ll_threadlocal_addr = rffi.cast(llmemory.Address, self._debug_errno_container) llop.gc_writebarrier(lltype.Void, ll_frame) - import pdb;pdb.set_trace() ll_frame = func(ll_frame, ll_threadlocal_addr) finally: if not self.translate_support_code: diff --git a/rpython/jit/backend/ppc/assembler.py b/rpython/jit/backend/ppc/assembler.py deleted file mode 100644 --- a/rpython/jit/backend/ppc/assembler.py +++ /dev/null @@ -1,95 +0,0 @@ -import os -from rpython.jit.backend.ppc import form -#from rpython.jit.backend.ppc import asmfunc - -# don't be fooled by the fact that there's some separation between a -# generic assembler class and a PPC assembler class... there's -# certainly a RISC dependency in here, and quite possibly a PPC -# dependency or two too. I personally don't care :) - -class AssemblerException(Exception): - pass - -class Assembler(object): - def __init__(self): - self.insts = [] - self.labels = {} - self.rlabels = {} - - def reset(self): - self.insts = [] - self.labels = {} - self.rlabels = {} - - def label(self, name): - if name in self.labels: - raise AssemblerException, "duplicate label '%s'"%(name,) - self.labels[name] = len(self.insts)*4 - self.rlabels.setdefault(len(self.insts)*4, []).append(name) - - def labelname(self, base="L"): - i = 0 - while 1: - ln = base + str(i) - if ln not in self.labels: - return ln - i += 1 - - def get_number_of_ops(self): - return len(self.insts) - - # XXX don't need multiplication - def get_rel_pos(self): - return 4 * len(self.insts) - - def patch_op(self, index): - last = self.insts.pop() - self.insts[index] = last - - def assemble0(self, dump=os.environ.has_key('PPY_DEBUG')): - for i, inst in enumerate(self.insts): - for f in inst.lfields: - l = self.labels[inst.fields[f]] - 4*i - inst.fields[f] = l - buf = [] - for inst in self.insts: - buf.append(inst) - if dump: - for i in range(len(buf)): - inst = self.disassemble(buf[i], self.rlabels, i*4) - for lab in self.rlabels.get(4*i, []): - print "%s:"%(lab,) - print "\t%4d %s"%(4*i, inst) - return buf - - def assemble(self, dump=os.environ.has_key('PPY_DEBUG')): - c = asmfunc.AsmCode(len(self.insts)*4) - for i in self.insts: - c.emit(i) - - def get_assembler_function(self): - c = asmfunc.AsmCode(len(self.insts)*4) - for i in self.insts: - c.emit(i) - return c.get_function() - - def get_idescs(cls): - r = [] - for name in dir(cls): - a = getattr(cls, name) - if isinstance(a, form.IDesc): - r.append((name, a)) - return r - get_idescs = classmethod(get_idescs) - - def disassemble(cls, inst, labels={}, pc=0): - matches = [] - idescs = cls.get_idescs() - for name, idesc in idescs: - m = idesc.match(inst) - if m > 0: - matches.append((m, idesc, name)) - if matches: - score, idesc, name = max(matches) - return idesc.disassemble(name, inst, labels, pc) - disassemble = classmethod(disassemble) 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 @@ -2,7 +2,6 @@ from rpython.jit.backend.ppc.ppc_form import PPCForm as Form from rpython.jit.backend.ppc.locations import RegisterLocation from rpython.jit.backend.ppc.ppc_field import ppc_fields -from rpython.jit.backend.ppc.assembler import Assembler from rpython.jit.backend.ppc.arch import (IS_PPC_32, WORD, IS_PPC_64, LR_BC_OFFSET) import rpython.jit.backend.ppc.register as r @@ -54,7 +53,7 @@ MDI = Form("rA", "rS", "sh", "mbe", "XO5", "Rc") MDS = Form("rA", "rS", "rB", "mbe", "XO7", "Rc") -class BasicPPCAssembler(Assembler): +class BasicPPCAssembler(object): def disassemble(cls, inst, labels={}, pc=0): cache = cls.__dict__.get('idesc cache') @@ -1133,11 +1132,6 @@ else: self.sld(target_reg, from_reg, numbit_reg) - def prepare_insts_blocks(self, show=False): - insts = self.insts - for inst in insts: - self.write32(inst) - def _dump_trace(self, addr, name, formatter=-1): if not we_are_translated(): if formatter != -1: 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 @@ -424,7 +424,6 @@ mc.addi(r.SP.value, r.SP.value, frame_size) mc.b_abs(self.propagate_exception_path) - mc.prepare_insts_blocks() rawstart = mc.materialize(self.cpu, []) # here we do not need a function descr. This is being only called using # an internal ABI @@ -526,7 +525,6 @@ mc.addi(r.SP.value, r.SP.value, both_framesizes) mc.blr() - mc.prepare_insts_blocks() rawstart = mc.materialize(self.cpu, []) if IS_PPC_64: self.write_64_bit_func_descr(rawstart, rawstart+3*WORD) @@ -584,7 +582,6 @@ mc.addi(r.SP.value, r.SP.value, frame_size) mc.blr() # - mc.prepare_insts_blocks() rawstart = mc.materialize(self.cpu, []) self.wb_slowpath[withcards + 2 * withfloats] = rawstart @@ -598,7 +595,6 @@ 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, []) # The code generated here serves as an exit stub from @@ -629,7 +625,6 @@ # generate return and restore registers self._gen_epilogue(mc) - mc.prepare_insts_blocks() return mc.materialize(self.cpu, [], self.cpu.gc_ll_descr.gcrootmap) def _gen_epilogue(self, mc): @@ -945,7 +940,6 @@ frame_depth -= self.OFFSET_SPP_TO_OLD_BACKCHAIN mc.load_imm(r.SCRATCH, -frame_depth) mc.add(r.SP.value, r.SPP.value, r.SCRATCH.value) - mc.prepare_insts_blocks() mc.copy_to_raw_memory(rawstart + sp_patch_location) DESCR_REF = 0x00 @@ -1051,7 +1045,6 @@ return looptoken._ppc_arglocs def materialize_loop(self, looptoken, show=False): - self.mc.prepare_insts_blocks(show) self.datablockwrapper.done() self.datablockwrapper = None allblocks = self.get_asmmemmgr_blocks(looptoken) @@ -1099,7 +1092,6 @@ mc = PPCBuilder() offset = tok.pos_recovery_stub - tok.offset mc.b_cond_offset(offset, tok.fcond) - mc.prepare_insts_blocks(True) mc.copy_to_raw_memory(block_start + tok.offset) else: clt.invalidate_positions.append((block_start + tok.offset, @@ -1111,7 +1103,6 @@ mc = PPCBuilder() patch_addr = faildescr._ppc_block_start + faildescr._ppc_guard_pos mc.b_abs(bridge_addr) - mc.prepare_insts_blocks() mc.copy_to_raw_memory(patch_addr) faildescr._failure_recovery_code_ofs = 0 diff --git a/rpython/jit/backend/ppc/rassemblermaker.py b/rpython/jit/backend/ppc/rassemblermaker.py --- a/rpython/jit/backend/ppc/rassemblermaker.py +++ b/rpython/jit/backend/ppc/rassemblermaker.py @@ -61,6 +61,8 @@ return d[name] def make_rassembler(cls): + # XXX tooons of very-old code patched to get medium-old code patched + # to get newer code :-( bases = [make_rassembler(b) for b in cls.__bases__] ns = {} for k, v in cls.__dict__.iteritems(): @@ -69,6 +71,6 @@ ns[k] = v rcls = type('R' + cls.__name__, tuple(bases), ns) def emit(self, value): - self.insts.append(value) + self.write32(value) rcls.emit = emit return rcls diff --git a/rpython/jit/backend/ppc/regalloc.py b/rpython/jit/backend/ppc/regalloc.py --- a/rpython/jit/backend/ppc/regalloc.py +++ b/rpython/jit/backend/ppc/regalloc.py @@ -549,7 +549,7 @@ rgc._make_sure_does_not_move(fail_descr) fail_descr = rffi.cast(lltype.Signed, fail_descr) if op.numargs() == 1: - loc = self.make_sure_var_in_reg(op.getarg(0)) + loc = self._ensure_value_is_boxed(op.getarg(0)) locs = [loc, imm(fail_descr)] else: locs = [imm(fail_descr)] _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit