[pypy-svn] r52165 - pypy/extradoc/talk/sfi2008

cfbolz at codespeak.net cfbolz at codespeak.net
Tue Mar 4 19:27:39 CET 2008


Author: cfbolz
Date: Tue Mar  4 19:27:39 2008
New Revision: 52165

Modified:
   pypy/extradoc/talk/sfi2008/talk.txt
Log:
small notes


Modified: pypy/extradoc/talk/sfi2008/talk.txt
==============================================================================
--- pypy/extradoc/talk/sfi2008/talk.txt	(original)
+++ pypy/extradoc/talk/sfi2008/talk.txt	Tue Mar  4 19:27:39 2008
@@ -57,14 +57,14 @@
 * Python has complicated semantics
 
 * Python guarantees that it won't segfault on
-  stack exhaustion
+  C stack exhaustion
 
-* CPython includes few stack checks along the source
+* CPython includes some stack checks in the source, but they don't catch all
+  cases
 
 XXX segfault example
 
-* We include it automatically searching for all cycles
-  in all graphs
+* We include it automatically so all cases are guaranteed to be covered
 
 Another example of static-analyzis of interpreter source
 ========================================================
@@ -93,14 +93,15 @@
 * Still high-level, fully analyzable
 
 * Interpreter itself (written in RPython) interprets
-  normal python.
+  normal Python.
 
 Abstract interpretation
 =======================
 
+XXX I would leave out the term abstract interpretation completely. just call it flow graph buildin
 * We start from importing python module
 
-* Next step is to change bytecode into the forest of flow graphs
+* Next step is to analyze the bytecode and to producet a forest of flow graphs
 
 * We call this abstract interpretation of bytecode
 
@@ -121,8 +122,8 @@
 * A part which does the type inference over existing
   graphs
 
-* Powerful type system, yet not nearly as rich as
-  say haskell
+* Powerful but practical type system, not nearly as rich as
+  say haskell (XXX comparison makes no real sense, it's very different)
 
 RTyper
 ======
@@ -221,7 +222,7 @@
 JIT - general idea
 ===================
 
-* constant-propagate python bytecode into an interpreter
+* constant-propagate python bytecode through the interpreter
 
 * may not yield good performance (our experiments show
   about 2x for removing intepretation overhead)
@@ -244,7 +245,7 @@
 * Promotion on certain paths to achieve
   "static-enough" parts
 
-* Lazy allocation of objects (when they escape)
+* Lazy allocation of objects (allocation only happens when the object escapes)
 
 * Use CPU stack and registers (we're not very good at it)
 
@@ -279,7 +280,7 @@
 * We dump colored graphs as a bytecode and interpret them
 
 * We could compile it, but interpreting dynamic
-  languages is easier than compiling (XXX???)
+  languages is easier than compiling (XXX??? (cfbolz: kill this))
 
 XXX demo
 



More information about the Pypy-commit mailing list