Author: Armin Rigo <ar...@tunes.org> Branch: reverse-debugger Changeset: r86945:5d46dd70887c Date: 2016-09-07 19:09 +0200 http://bitbucket.org/pypy/pypy/changeset/5d46dd70887c/
Log: Comments. Disable a code path that (by mistake) casts between a GC pointer and a char-sized integer. diff --git a/pypy/module/cpyext/memoryobject.py b/pypy/module/cpyext/memoryobject.py --- a/pypy/module/cpyext/memoryobject.py +++ b/pypy/module/cpyext/memoryobject.py @@ -41,6 +41,7 @@ view.c_len = w_obj.getlength() view.c_itemsize = w_obj.buf.getitemsize() rffi.setintfield(view, 'c_ndim', ndim) + raise NotImplementedError # bogus lines follow, remove this when fixed view.c__format = rffi.cast(rffi.UCHAR, w_obj.buf.getformat()) view.c_format = rffi.cast(rffi.CCHARP, view.c__format) view.c_shape = rffi.cast(Py_ssize_tP, view.c__shape) diff --git a/rpython/translator/revdb/src-revdb/revdb.c b/rpython/translator/revdb/src-revdb/revdb.c --- a/rpython/translator/revdb/src-revdb/revdb.c +++ b/rpython/translator/revdb/src-revdb/revdb.c @@ -1895,6 +1895,17 @@ return r; } else { + /* Note: when replaying, the lifetime of the gcobj is a bit + extended when compared with recording. That shouldn't have + a visible effect. More precisely, when replaying, + create_link_pypy() calls _rrtree_add(), which makes a + struct rawrefcount_link2_s, which keeps gcobj alive; and + that structure is only freed here, when we call next_dead() + and return the corresponding pyobj. When recording, the + cause-and-effect relationship is in the opposite direction: + when Boehm frees the gcobj, it causes the pyobj to show up + (sometimes later) in a next_dead() call. + */ RPY_REVDB_EMIT(abort();, unsigned char _e, flag); switch (flag) { _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit