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

Reply via email to