[pypy-commit] extradoc extradoc: Add a paragraph. Needs rewording elsewhere.

arigo noreply at buildbot.pypy.org
Wed Jul 11 18:31:56 CEST 2012


Author: Armin Rigo <arigo at tunes.org>
Branch: extradoc
Changeset: r4297:f76fa1f4e776
Date: 2012-07-11 18:31 +0200
http://bitbucket.org/pypy/extradoc/changeset/f76fa1f4e776/

Log:	Add a paragraph. Needs rewording elsewhere.

diff --git a/blog/draft/stm-jul2012.rst b/blog/draft/stm-jul2012.rst
--- a/blog/draft/stm-jul2012.rst
+++ b/blog/draft/stm-jul2012.rst
@@ -143,3 +143,26 @@
 design issue and so not my strong point.  But if I can point out one
 thing, it is that the ``python-dev`` list should discuss this issue
 sooner rather than later.
+
+
+Write your own STM for C
+------------------------
+
+Actually, if neither of the two solutions presented above (GCC 4.7, HTM)
+seem fit, maybe a third one would be to write our own C compiler patch
+(as either extra work on GCC 4.7, or an extra pass to LLVM, for
+example).
+
+We would have to deal with the fact that we get low-level information,
+and somehow need to preserve interesting high-level bits through the
+LLVM compiler up to the point at which our pass runs: for example,
+whether the field we read is immutable or not.
+
+The advantage of this approach over the current GCC 4.7 is that we
+control the whole process.  We can do the transformations that we want,
+including the support for I/O.  We can also have custom code to handle
+the reference counters: e.g. not consider it a conflict if multiple
+transactions have changed the same reference counter, but just solve it
+automatically at commit time.
+
+While this still looks like a lot of work, it might probably be doable.


More information about the pypy-commit mailing list