[pypy-commit] pypy cpyext-refactor-tp_dealloc: fix translation by adding immortal to malloc in rpython
mattip
pypy.commits at gmail.com
Tue Aug 1 09:17:33 EDT 2017
Author: Matti Picus <matti.picus at gmail.com>
Branch: cpyext-refactor-tp_dealloc
Changeset: r92015:e3219c61e7a8
Date: 2017-07-31 14:17 +0300
http://bitbucket.org/pypy/pypy/changeset/e3219c61e7a8/
Log: fix translation by adding immortal to malloc in rpython
diff --git a/pypy/module/cpyext/typeobject.py b/pypy/module/cpyext/typeobject.py
--- a/pypy/module/cpyext/typeobject.py
+++ b/pypy/module/cpyext/typeobject.py
@@ -204,7 +204,6 @@
def getsetdescr_dealloc(space, obj):
from pypy.module.cpyext.object import _dealloc
py_getsetdescr = rffi.cast(PyGetSetDescrObject, obj)
- xxx
_dealloc(space, obj)
def methoddescr_attach(space, py_obj, w_obj, w_userdata=None):
diff --git a/rpython/rtyper/lltypesystem/lltype.py b/rpython/rtyper/lltypesystem/lltype.py
--- a/rpython/rtyper/lltypesystem/lltype.py
+++ b/rpython/rtyper/lltypesystem/lltype.py
@@ -2208,7 +2208,7 @@
return _ptr(Ptr(T), o, solid)
@analyzer_for(malloc)
-def ann_malloc(s_T, s_n=None, s_flavor=None, s_zero=None,
+def ann_malloc(s_T, s_n=None, s_flavor=None, s_immortal=None, s_zero=None,
s_track_allocation=None, s_add_memory_pressure=None,
s_nonmovable=None):
assert (s_n is None or s_n.knowntype == int
diff --git a/rpython/rtyper/rbuiltin.py b/rpython/rtyper/rbuiltin.py
--- a/rpython/rtyper/rbuiltin.py
+++ b/rpython/rtyper/rbuiltin.py
@@ -347,19 +347,20 @@
# annotation of low-level types
@typer_for(lltype.malloc)
-def rtype_malloc(hop, i_flavor=None, i_zero=None, i_track_allocation=None,
- i_add_memory_pressure=None, i_nonmovable=None):
+def rtype_malloc(hop, i_flavor=None, i_immortal=None, i_zero=None,
+ i_track_allocation=None, i_add_memory_pressure=None, i_nonmovable=None):
assert hop.args_s[0].is_constant()
vlist = [hop.inputarg(lltype.Void, arg=0)]
opname = 'malloc'
kwds_v = parse_kwds(
hop,
(i_flavor, lltype.Void),
+ (i_immortal, None),
(i_zero, None),
(i_track_allocation, None),
(i_add_memory_pressure, None),
(i_nonmovable, None))
- (v_flavor, v_zero, v_track_allocation,
+ (v_flavor, v_immortal, v_zero, v_track_allocation,
v_add_memory_pressure, v_nonmovable) = kwds_v
flags = {'flavor': 'gc'}
if v_flavor is not None:
More information about the pypy-commit
mailing list