Author: Maciej Fijalkowski <fij...@gmail.com> Branch: optresult Changeset: r77620:4f11e4ee675c Date: 2015-05-27 11:05 +0200 http://bitbucket.org/pypy/pypy/changeset/4f11e4ee675c/
Log: start passing backend tests diff --git a/rpython/jit/backend/llsupport/regalloc.py b/rpython/jit/backend/llsupport/regalloc.py --- a/rpython/jit/backend/llsupport/regalloc.py +++ b/rpython/jit/backend/llsupport/regalloc.py @@ -1,7 +1,7 @@ import os -from rpython.jit.metainterp.history import Const, Box, REF, JitCellToken +from rpython.jit.metainterp.history import Const, REF, JitCellToken from rpython.rlib.objectmodel import we_are_translated, specialize -from rpython.jit.metainterp.resoperation import rop +from rpython.jit.metainterp.resoperation import rop, AbstractValue from rpython.rtyper.lltypesystem import lltype from rpython.rtyper.lltypesystem.lloperation import llop @@ -10,7 +10,7 @@ except ImportError: OrderedDict = dict # too bad -class TempBox(Box): +class TempVar(AbstractValue): def __init__(self): pass @@ -304,7 +304,7 @@ def _check_type(self, v): if not we_are_translated() and self.box_types is not None: - assert isinstance(v, TempBox) or v.type in self.box_types + assert isinstance(v, TempVar) or v.type in self.box_types def possibly_free_var(self, v): """ If v is stored in a register and v is not used beyond the @@ -442,7 +442,7 @@ Will not spill a variable from 'forbidden_vars'. """ self._check_type(v) - if isinstance(v, TempBox): + if isinstance(v, TempVar): self.longevity[v] = (self.position, self.position) loc = self.try_allocate_reg(v, selected_reg, need_lower_byte=need_lower_byte) @@ -691,7 +691,7 @@ opnum = op.getopnum() for j in range(op.numargs()): arg = op.getarg(j) - if not isinstance(arg, Box): + if isinstance(arg, Const): continue if arg not in last_used: last_used[arg] = i @@ -702,14 +702,14 @@ for arg in op.getfailargs(): if arg is None: # hole continue - assert isinstance(arg, Box) + assert not isinstance(arg, Const) if arg not in last_used: last_used[arg] = i # longevity = {} for i, arg in enumerate(operations): if arg.type != 'v' and arg in last_used: - assert isinstance(arg, Box) + assert not isinstance(arg, Const) assert i < last_used[arg] longevity[arg] = (i, last_used[arg]) del last_used[arg] diff --git a/rpython/jit/backend/x86/regalloc.py b/rpython/jit/backend/x86/regalloc.py --- a/rpython/jit/backend/x86/regalloc.py +++ b/rpython/jit/backend/x86/regalloc.py @@ -8,7 +8,7 @@ unpack_arraydescr, unpack_fielddescr, unpack_interiorfielddescr) from rpython.jit.backend.llsupport.gcmap import allocate_gcmap from rpython.jit.backend.llsupport.regalloc import (FrameManager, BaseRegalloc, - RegisterManager, TempBox, compute_vars_longevity, is_comparison_or_ovf_op, + RegisterManager, TempVar, compute_vars_longevity, is_comparison_or_ovf_op, valid_addressing_size) from rpython.jit.backend.x86 import rx86 from rpython.jit.backend.x86.arch import (WORD, JITFRAME_FIXED_SIZE, IS_X86_32, @@ -21,8 +21,8 @@ X86_64_SCRATCH_REG, X86_64_XMM_SCRATCH_REG) from rpython.jit.codewriter import longlong from rpython.jit.codewriter.effectinfo import EffectInfo -from rpython.jit.metainterp.history import (Box, Const, ConstInt, ConstPtr, - ConstFloat, BoxInt, BoxFloat, INT, REF, FLOAT, TargetToken) +from rpython.jit.metainterp.history import (Const, ConstInt, ConstPtr, + ConstFloat, INT, REF, FLOAT, TargetToken) from rpython.jit.metainterp.resoperation import rop, OpHelpers from rpython.rlib import rgc from rpython.rlib.objectmodel import we_are_translated @@ -442,7 +442,7 @@ argloc = self.loc(y) # args = op.getarglist() - loc = self.rm.force_result_in_reg(op.result, x, args) + loc = self.rm.force_result_in_reg(op, x, args) return loc, argloc def _consider_binop(self, op): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit