Author: David Schneider <david.schnei...@picle.org> Branch: release-2.1.x Changeset: r65183:323dac73b895 Date: 2013-07-04 11:29 +0200 http://bitbucket.org/pypy/pypy/changeset/323dac73b895/
Log: merge default diff --git a/pypy/doc/faq.rst b/pypy/doc/faq.rst --- a/pypy/doc/faq.rst +++ b/pypy/doc/faq.rst @@ -96,8 +96,21 @@ Does PyPy have a GIL? Why? ------------------------------------------------- -Yes, PyPy has a GIL. Removing the GIL is very hard. The first problem -is that our garbage collectors are not re-entrant. +Yes, PyPy has a GIL. Removing the GIL is very hard. The problems are +essentially the same as with CPython (including the fact that our +garbage collectors are not thread-safe so far). Fixing it is possible, +as shown by Jython and IronPython, but difficult. It would require +adapting the whole source code of PyPy, including subtle decisions about +whether some effects are ok or not for the user (i.e. the Python +programmer). + +Instead, since 2012, there is work going on on a still very experimental +Software Transactional Memory (STM) version of PyPy. This should give +an alternative PyPy which internally has no GIL, while at the same time +continuing to give the Python programmer the complete illusion of having +one. It would in fact push forward *more* GIL-ish behavior, like +declaring that some sections of the code should run without releasing +the GIL in the middle (these are called *atomic sections* in STM). ------------------------------------------ How do I write extension modules for PyPy? diff --git a/pypy/module/pypyjit/test_pypy_c/test_string.py b/pypy/module/pypyjit/test_pypy_c/test_string.py --- a/pypy/module/pypyjit/test_pypy_c/test_string.py +++ b/pypy/module/pypyjit/test_pypy_c/test_string.py @@ -80,7 +80,7 @@ i23 = strgetitem(p10, i19) p25 = newstr(1) strsetitem(p25, 0, i23) - p93 = call(ConstClass(fromstr), p25, 16, ConstPtr(ptr70), descr=<Callr . rir EF=3>) + p93 = call(ConstClass(fromstr), p25, 16, descr=<Callr . ri EF=3>) guard_no_exception(descr=...) i94 = call(ConstClass(rbigint.toint), p93, descr=<Calli . r EF=3>) guard_no_exception(descr=...) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit