[pypy-svn] r32865 - in pypy/dist/pypy/rpython/memory/gctransform2: . test

mwh at codespeak.net mwh at codespeak.net
Wed Oct 4 13:30:51 CEST 2006


Author: mwh
Date: Wed Oct  4 13:30:50 2006
New Revision: 32865

Modified:
   pypy/dist/pypy/rpython/memory/gctransform2/test/test_transform.py
   pypy/dist/pypy/rpython/memory/gctransform2/transform.py
Log:
transform setfield into bare_setfield


Modified: pypy/dist/pypy/rpython/memory/gctransform2/test/test_transform.py
==============================================================================
--- pypy/dist/pypy/rpython/memory/gctransform2/test/test_transform.py	(original)
+++ pypy/dist/pypy/rpython/memory/gctransform2/test/test_transform.py	Wed Oct  4 13:30:50 2006
@@ -190,7 +190,7 @@
         for op in b.operations:
             if op.opname == 'bare_getfield' and var_ispyobj(op.result):
                 pyobj_getfields += 1
-            elif op.opname == 'setfield' and var_ispyobj(op.args[2]):
+            elif op.opname == 'bare_setfield' and var_ispyobj(op.args[2]):
                 pyobj_setfields += 1
     # although there's only one explicit getfield in the code, a
     # setfield on a pyobj must get the old value out and decref it

Modified: pypy/dist/pypy/rpython/memory/gctransform2/transform.py
==============================================================================
--- pypy/dist/pypy/rpython/memory/gctransform2/transform.py	(original)
+++ pypy/dist/pypy/rpython/memory/gctransform2/transform.py	Wed Oct  4 13:30:50 2006
@@ -258,12 +258,13 @@
         self.finish_tables()
 
     def transform_generic_set(self, hop):
+        opname = hop.spaceop.opname
         v_new = hop.spaceop.args[-1]
-        v_old = hop.genop('bare_g' + hop.spaceop.opname[1:],
+        v_old = hop.genop('bare_g' + opname[1:],
                           hop.inputargs()[:-1],
                           resulttype=v_new.concretetype)
         self.push_alive(v_new)
-        hop.llops.append(hop.spaceop)
+        hop.rename('bare_' + opname)
         self.pop_alive(v_old)
 
 



More information about the Pypy-commit mailing list