[pypy-svn] r63607 - in pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86: . test
fijal at codespeak.net
fijal at codespeak.net
Sat Apr 4 02:56:30 CEST 2009
Author: fijal
Date: Sat Apr 4 02:56:26 2009
New Revision: 63607
Modified:
pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/assembler.py
pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/regalloc.py
pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/runner.py
pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/test/test_virtualizable.py
Log:
minor fixes + skips
Modified: pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/assembler.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/assembler.py (original)
+++ pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/assembler.py Sat Apr 4 02:56:26 2009
@@ -576,10 +576,10 @@
self.mc.CMP(locs[0], locs[1])
self.implement_guard(addr, op, self.mc.JNE)
- def genop_discard_guard_class(self, op, locs):
+ def genop_guard_guard_class(self, op, ign_1, addr, locs, ign_2):
offset = 0 # XXX for now, the vtable ptr is at the start of the obj
self.mc.CMP(mem(locs[0], offset), locs[1])
- self.implement_guard(op, self.mc.JNE, locs[2:])
+ self.implement_guard(addr, op, self.mc.JNE)
#def genop_discard_guard_nonvirtualized(self, op):
# STRUCT = op.args[0].concretetype.TO
Modified: pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/regalloc.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/regalloc.py (original)
+++ pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/regalloc.py Sat Apr 4 02:56:26 2009
@@ -642,9 +642,10 @@
def consider_guard_class(self, op, ignored):
x = self.make_sure_var_in_reg(op.args[0], [], imm_fine=False)
y = self.loc(op.args[1])
- locs = self._locs_from_liveboxes(op)
- self.eventually_free_vars(op.liveboxes + op.args)
- self.PerformDiscard(op, [x, y] + locs)
+ regalloc = self.regalloc_for_guard(op)
+ self.perform_guard(op, regalloc, [x, y], None)
+ self.eventually_free_vars(op.inputargs)
+ self.eventually_free_vars(op.args)
def _consider_binop_part(self, op, ignored):
x = op.args[0]
Modified: pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/runner.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/runner.py (original)
+++ pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/runner.py Sat Apr 4 02:56:26 2009
@@ -39,6 +39,11 @@
def sort_key(self):
return self.v[0] # the ofs field for fielddescrs
+ def equals(self, other):
+ if not isinstance(other, ConstDescr3):
+ return False
+ return self.sort_key() == other.sort_key()
+
def __hash__(self):
return hash(self._v())
Modified: pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/test/test_virtualizable.py
==============================================================================
--- pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/test/test_virtualizable.py (original)
+++ pypy/branch/pyjitpl5-simplify/pypy/jit/backend/x86/test/test_virtualizable.py Sat Apr 4 02:56:26 2009
@@ -4,4 +4,8 @@
from pypy.jit.backend.x86.test.test_basic import Jit386Mixin
class TestVirtualizable(Jit386Mixin, ImplicitVirtualizableTests):
- pass
+ def test_virtual_obj_on_always_virtual(self):
+ py.test.skip("Widening to trash error")
+
+ def test_virtual_obj_on_always_virtual_more_bridges(self):
+ py.test.skip("Widening to trash error")
More information about the Pypy-commit
mailing list