[pypy-svn] r20795 - pypy/dist/pypy/doc

tismer at codespeak.net tismer at codespeak.net
Tue Dec 6 17:46:59 CET 2005


Author: tismer
Date: Tue Dec  6 17:46:58 2005
New Revision: 20795

Modified:
   pypy/dist/pypy/doc/translation-aspects.txt
Log:
final check-in. Now you can trash my nice commas if you like :-)

Modified: pypy/dist/pypy/doc/translation-aspects.txt
==============================================================================
--- pypy/dist/pypy/doc/translation-aspects.txt	(original)
+++ pypy/dist/pypy/doc/translation-aspects.txt	Tue Dec  6 17:46:58 2005
@@ -378,7 +378,7 @@
 * implicitly-scheduled (preemptive) microthreads, also known as green threads.
 
 An important property of the changes in all the generated C functions is
-to be written in a way that does not significantly degrade their performance in
+that they are written in a way that does only minimally degrade their performance in
 the non-exceptional case.  Most optimisations performed by C compilers,
 like register allocation, continue to work...
 
@@ -412,18 +412,19 @@
 keep track of the GC roots which is hard to do with portable C code. One
 solution would be to use the "stackless" code since it can move the stack 
 completely to the heap. We expect that we can implement GC read and write 
-barriers as function calls and rely on inlining to make them less inefficient.
+barriers as function calls and rely on inlining to make them more efficient.
 
 We may also spend some time on improving the existing reference counting
-implementation by removing unnecessary incref-decref pairs. A bigger task would
+implementation by removing unnecessary incref-decref pairs and identifying
+trustworthy references. A bigger task would
 be to add support for detecing circular references.
 
 
 Threading model
 ---------------
 
-One of the interesting possibities that stackless offers is to implement green
-threading. This would involve writing a scheduler and preemption logic. 
+One of the interesting possibities that stackless offers is to implement *green
+threading*. This would involve writing a scheduler and some preemption logic. 
 
 We should also investigate other threading models based on operating system
 threads with various granularities of locking for access of shared objects.
@@ -432,7 +433,7 @@
 ------------
 
 We also might want to experiment with more sophisticated structure inlining.
-Sometimes it is possible to find out that one structure object that is
+Sometimes it is possible to find out that one structure object
 allocated on the heap lives exactly as long as another structure object on the
 heap pointing to it. If this is the case it is possible to inline the first
 object into the second. This saves the space of one pointer and avoids
@@ -442,7 +443,9 @@
 Conclusion
 ===========
 
-As concretely shown with various detailed examples our approach gives us flexibility and lets us chooses various aspects at translation time instead of encoding them into the implementation itself.
+As concretely shown with various detailed examples, our approach gives us
+flexibility and lets us choose various aspects at translation time instead
+of encoding them into the implementation itself.
 
 References
 ===========



More information about the Pypy-commit mailing list