[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