[pypy-svn] r47571 - pypy/dist/pypy/rpython/memory/gctransform

arigo at codespeak.net arigo at codespeak.net
Fri Oct 19 10:52:22 CEST 2007


Author: arigo
Date: Fri Oct 19 10:52:21 2007
New Revision: 47571

Modified:
   pypy/dist/pypy/rpython/memory/gctransform/framework.py
Log:
These obscure casts are now unnecessary
(fixed in llmemory in rev 47434).


Modified: pypy/dist/pypy/rpython/memory/gctransform/framework.py
==============================================================================
--- pypy/dist/pypy/rpython/memory/gctransform/framework.py	(original)
+++ pypy/dist/pypy/rpython/memory/gctransform/framework.py	Fri Oct 19 10:52:21 2007
@@ -652,12 +652,6 @@
         c_type = rmodel.inputconst(lltype.Void, llmemory.Address)
         for k,var in enumerate(livevars):
             c_k = rmodel.inputconst(lltype.Signed, k)
-            # this cast doesn't actually do anything after translation to C
-            # however, on top of the llinterp it is needed
-            # see comment in llmemory before cast_ptr_to_weakrefptr
-            if var.concretetype == llmemory.WeakRefPtr:
-                var = hop.llops.genop("cast_weakrefptr_to_ptr", [var],
-                                      resulttype=WEAKREFPTR)
             v_adr = gen_cast(hop.llops, llmemory.Address, var)
             hop.genop("raw_store", [base_addr, c_type, c_k, v_adr])
         return livevars
@@ -677,18 +671,6 @@
                 c_k = rmodel.inputconst(lltype.Signed, k)
                 v_newaddr = hop.genop("raw_load", [base_addr, c_type, c_k],
                                       resulttype=llmemory.Address)
-                if var.concretetype == llmemory.WeakRefPtr:
-                    # these casts doesn't actually do anything after
-                    # translation to C however, on top of the llinterp it is
-                    # needed see comment in llmemory before
-                    # cast_ptr_to_weakrefptr
-                    # XXX not nice
-                    nvar = hop.llops.genop("cast_adr_to_ptr", [v_newaddr],
-                                           resulttype=WEAKREFPTR)
-                    nvar = hop.llops.genop("cast_ptr_to_weakrefptr", [nvar],
-                                           resulttype=llmemory.WeakRefPtr)
-                    v_newaddr = hop.llops.genop("cast_ptr_to_adr", [nvar],
-                                                resulttype=llmemory.Address)
                 hop.genop("gc_reload_possibly_moved", [v_newaddr, var])
 
     def compute_borrowed_vars(self, graph):



More information about the Pypy-commit mailing list