[pypy-svn] r64858 - pypy/branch/pyjitpl5/pypy/jit/backend/test

arigo at codespeak.net arigo at codespeak.net
Thu Apr 30 15:24:03 CEST 2009


Author: arigo
Date: Thu Apr 30 15:23:58 2009
New Revision: 64858

Modified:
   pypy/branch/pyjitpl5/pypy/jit/backend/test/test_ll_random.py
   pypy/branch/pyjitpl5/pypy/jit/backend/test/test_random.py
Log:
Fix the generation of Python code.


Modified: pypy/branch/pyjitpl5/pypy/jit/backend/test/test_ll_random.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/backend/test/test_ll_random.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/backend/test/test_ll_random.py	Thu Apr 30 15:23:58 2009
@@ -83,9 +83,7 @@
                 print >>s, '    p.parent.typeptr = %s_vtable' % (S._name,)
             for name, value in fields.items():
                 print >>s, '    p.%s = %d' % (name, value)
-            writevar(v, 'preb')
-            print >>s, '    %s.value =' % (names[v],),
-            print >>s, 'lltype.cast_opaque_ptr(llmemory.GCREF, p)'
+            writevar(v, 'preb', 'lltype.cast_opaque_ptr(llmemory.GCREF, p)')
 
 # ____________________________________________________________
 

Modified: pypy/branch/pyjitpl5/pypy/jit/backend/test/test_random.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/backend/test/test_random.py	(original)
+++ pypy/branch/pyjitpl5/pypy/jit/backend/test/test_random.py	Thu Apr 30 15:23:58 2009
@@ -50,9 +50,10 @@
             s = sys.stdout
         names = {None: 'None'}
         #
-        def writevar(v, nameprefix):
+        def writevar(v, nameprefix, init=''):
             names[v] = '%s%d' % (nameprefix, len(names))
-            print >>s, '    %s = %s()' % (names[v], v.__class__.__name__)
+            print >>s, '    %s = %s(%s)' % (names[v], v.__class__.__name__,
+                                            init)
         #
         for v in self.intvars:
             writevar(v, 'v')
@@ -80,7 +81,8 @@
                     name = ''.join([v.value.ptr.name[i]
                                     for i in range(len(v.value.ptr.name)-1)])
                     args.append(
-                        'ConstAddr(llmemory.cast_ptr_to_adr(%s_vtable))'% name)
+                        'ConstAddr(llmemory.cast_ptr_to_adr(%s_vtable), cpu)'
+                        % name)
                 else:
                     args.append('ConstInt(%d)' % v.value)
             if op.descr is None:
@@ -90,6 +92,13 @@
             print >>s, '        ResOperation(rop.%s, [%s], %s%s),' % (
                 opname[op.opnum], ', '.join(args), names[op.result], descrstr)
         print >>s, '        ]'
+        for i, op in enumerate(self.loop.operations):
+            if getattr(op, 'suboperations', None) is not None:
+                [op] = op.suboperations
+                assert op.opnum == rop.FAIL
+                print >>s, '    loop.operations[%d].suboperations = [' % i
+                print >>s, '        ResOperation(rop.FAIL, [%s], None)]' % (
+                    ', '.join([names[v] for v in op.args]))
         print >>s, '    cpu.compile_operations(loop)'
         for i, v in enumerate(self.loop.inputargs):
             print >>s, '    cpu.set_future_value_int(%d, %d)' % (i, v.value)



More information about the Pypy-commit mailing list