Author: Gregor Wegberg <c...@gregorwegberg.com>
Branch: gc-incminimark-pinning
Changeset: r73318:19a470acba00
Date: 2014-09-05 11:37 +0200
http://bitbucket.org/pypy/pypy/changeset/19a470acba00/

Log:    Merge heads

diff --git a/rpython/rtyper/lltypesystem/rffi.py 
b/rpython/rtyper/lltypesystem/rffi.py
--- a/rpython/rtyper/lltypesystem/rffi.py
+++ b/rpython/rtyper/lltypesystem/rffi.py
@@ -763,14 +763,13 @@
         """
         Either returns a non-moving copy or performs neccessary pointer
         arithmetic to return a pointer to the characters of a string if the
-        string is already nonmovable.  Must be followed by a
+        string is already nonmovable or could be pinned.  Must be followed by a
         free_nonmovingbuffer call.
 
         First bool returned indicates if 'data' was pinned. Second bool 
returned
-        indicates if we did a raw alloc because pinning didn't work. Bot bools
+        indicates if we did a raw alloc because pinning failed. Both bools
         should never be true at the same time.
         """
-        # XXX update doc string
 
         lldata = llstrtype(data)
         count = len(data)
@@ -801,7 +800,8 @@
     @jit.dont_look_inside
     def free_nonmovingbuffer(data, buf, is_pinned, is_raw):
         """
-        Either free a non-moving buffer or keep the original storage alive.
+        Keep 'data' alive and unpin it if it was pinned ('is_pinned' is true).
+        Otherwise free the non-moving copy ('is_raw' is true).
         """
         if is_pinned:
             rgc.unpin(data)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to