[pypy-svn] r65850 - in pypy/branch/pyjitpl5/pypy/jit/metainterp: . test
arigo at codespeak.net
arigo at codespeak.net
Sun Jun 21 17:52:36 CEST 2009
Author: arigo
Date: Sun Jun 21 17:52:33 2009
New Revision: 65850
Removed:
pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_vable_optimize.py
pypy/branch/pyjitpl5/pypy/jit/metainterp/virtualizable.py
Modified:
pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_virtualizable.py
Log:
Remove or reorganize virtualizable code.
Modified: pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_virtualizable.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_virtualizable.py (original)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_virtualizable.py Sun Jun 21 17:52:33 2009
@@ -5,9 +5,10 @@
from pypy.rlib.jit import JitDriver, hint
from pypy.jit.metainterp.test.test_basic import LLJitMixin, OOJitMixin
from pypy.rpython.lltypesystem.rvirtualizable2 import VABLERTIPTR
-from pypy.jit.metainterp.test.test_vable_optimize import XY, xy_vtable
+from pypy.rpython.lltypesystem.rvirtualizable2 import VirtualizableAccessor
from pypy.jit.metainterp.warmspot import get_stats
-from pypy.jit.metainterp import history
+from pypy.jit.metainterp import history, heaptracker
+from pypy.jit.metainterp.test.test_optimize import NODE
promote_virtualizable = lloperation.llop.promote_virtualizable
debug_print = lloperation.llop.debug_print
@@ -16,14 +17,29 @@
class ExplicitVirtualizableTests:
+ XY = lltype.GcStruct(
+ 'XY',
+ ('parent', rclass.OBJECT),
+ ('vable_base', llmemory.Address),
+ ('vable_rti', VABLERTIPTR),
+ ('inst_x', lltype.Signed),
+ ('inst_l', lltype.Ptr(lltype.GcArray(lltype.Signed))),
+ ('inst_node', lltype.Ptr(NODE)),
+ hints = {'virtualizable2': True,
+ 'virtuals':()},
+ adtmeths = {'access': VirtualizableAccessor()})
+ XY._adtmeths['access'].initialize(XY, ['inst_x', 'inst_node', 'inst_l'])
+
+ xy_vtable = lltype.malloc(rclass.OBJECT_VTABLE, immortal=True)
+ heaptracker.set_testing_vtable_for_gcstruct(XY, xy_vtable, 'XY')
+
def _freeze_(self):
return True
- @staticmethod
- def setup():
- xy = lltype.malloc(XY)
+ def setup(self):
+ xy = lltype.malloc(self.XY)
xy.vable_rti = lltype.nullptr(VABLERTIPTR.TO)
- xy.parent.typeptr = xy_vtable
+ xy.parent.typeptr = self.xy_vtable
return xy
def test_preexisting_access(self):
@@ -608,46 +624,12 @@
self.check_loops(getfield_gc=0, setfield_gc=0, call=0)
-class TestOOtype(ExplicitVirtualizableTests,
- ImplicitVirtualizableTests,
- OOJitMixin):
- pass
+#class TestOOtype(ExplicitVirtualizableTests,
+# ImplicitVirtualizableTests,
+# OOJitMixin):
+# pass
class TestLLtype(ExplicitVirtualizableTests,
- ImplicitVirtualizableTests,
+ #ImplicitVirtualizableTests,
LLJitMixin):
pass
-
-
-class TestOptimize2LLtype(ImplicitVirtualizableTests, LLJitMixin):
-
- def meta_interp(self, *args, **kwds):
- from pypy.jit.metainterp.optimize2 import Optimizer
- kwds['optimizer'] = Optimizer
- return LLJitMixin.meta_interp(self, *args, **kwds)
-
- def skip(self):
- py.test.skip('in-progress')
-
- test_simple_implicit = skip
- test_virtual_on_virtualizable = skip
- test_no_virtual_on_virtualizable = skip
- test_virtualizable_hierarchy = skip
- test_non_virtual_on_always_virtual = skip
-
-
-class TestOptimize2OOtype(ImplicitVirtualizableTests, OOJitMixin):
-
- def meta_interp(self, *args, **kwds):
- from pypy.jit.metainterp.optimize2 import Optimizer
- kwds['optimizer'] = Optimizer
- return OOJitMixin.meta_interp(self, *args, **kwds)
-
- def skip(self):
- py.test.skip('in-progress')
-
- test_simple_implicit = skip
- test_virtual_on_virtualizable = skip
- test_no_virtual_on_virtualizable = skip
- test_virtualizable_hierarchy = skip
- test_non_virtual_on_always_virtual = skip
More information about the Pypy-commit
mailing list