[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