Author: Maciej Fijalkowski <fij...@gmail.com> Branch: kill-someobject Changeset: r58014:875dd99dd21d Date: 2012-10-11 20:13 +0200 http://bitbucket.org/pypy/pypy/changeset/875dd99dd21d/
Log: merge diff --git a/pypy/rpython/llinterp.py b/pypy/rpython/llinterp.py --- a/pypy/rpython/llinterp.py +++ b/pypy/rpython/llinterp.py @@ -496,7 +496,7 @@ vars.append(op.result) for v in vars: - TYPE = getattr(v, 'concretetype', None) + TYPE = v.concretetype if isinstance(TYPE, lltype.Ptr) and TYPE.TO._gckind == 'gc': roots.append(_address_of_local_var(self, v)) diff --git a/pypy/translator/backendopt/support.py b/pypy/translator/backendopt/support.py --- a/pypy/translator/backendopt/support.py +++ b/pypy/translator/backendopt/support.py @@ -32,12 +32,8 @@ return c def var_needsgc(var): - if hasattr(var, 'concretetype'): - vartype = var.concretetype - return isinstance(vartype, lltype.Ptr) and vartype._needsgc() - else: - # assume PyObjPtr - return True + vartype = var.concretetype + return isinstance(vartype, lltype.Ptr) and vartype._needsgc() def find_calls_from(translator, graph, memo=None): if memo and graph in memo: diff --git a/pypy/translator/c/gc.py b/pypy/translator/c/gc.py --- a/pypy/translator/c/gc.py +++ b/pypy/translator/c/gc.py @@ -64,16 +64,6 @@ def rtti_type(self): return '' - def OP_GC_PUSH_ALIVE_PYOBJ(self, funcgen, op): - expr = funcgen.expr(op.args[0]) - if expr == 'NULL': - return '' - return 'Py_XINCREF(%s);' % expr - - def OP_GC_POP_ALIVE_PYOBJ(self, funcgen, op): - expr = funcgen.expr(op.args[0]) - return 'Py_XDECREF(%s);' % expr - def OP_GC_SET_MAX_HEAP_SIZE(self, funcgen, op): return '' _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit