[pypy-svn] r61231 - pypy/extradoc/talk/wroclaw2009

fijal at codespeak.net fijal at codespeak.net
Thu Jan 22 14:15:54 CET 2009


Author: fijal
Date: Thu Jan 22 14:15:50 2009
New Revision: 61231

Modified:
   pypy/extradoc/talk/wroclaw2009/talk.txt
Log:
update


Modified: pypy/extradoc/talk/wroclaw2009/talk.txt
==============================================================================
--- pypy/extradoc/talk/wroclaw2009/talk.txt	(original)
+++ pypy/extradoc/talk/wroclaw2009/talk.txt	Thu Jan 22 14:15:50 2009
@@ -99,19 +99,6 @@
 .. image:: architecture2.png
    :scale: 60
 
-An example of benefit
-=====================
-
-* Python has complicated semantics
-
-* Python guarantees that it won't segfault on
-  a stack exhaustion
-
-* CPython includes some stack checks in the source, but they
-  don't catch every case
-
-* We include it automatically so all cases are guaranteed to be covered
-
 PyPy - implementation language
 ==============================
 
@@ -121,13 +108,31 @@
 
 * static enough to compile to efficient code
 
+* static enough to be able to analyze it
+
 * not necessarily a nice language
 
 * ... but better than C
 
+An example of benefit
+=====================
+
+* Python has complicated semantics
+
+* Python guarantees that it won't segfault on
+  a stack exhaustion
+
+* CPython includes some stack checks in the source, but they
+  don't catch every case
+
+* We include it automatically so all cases are guaranteed to be covered
+
 PyPy - why so complex?
 =======================
 
+* interpreter is just a relatively small piece
+  of code
+
 * because we control translation toolchain,
   we can have work done for us
 
@@ -159,7 +164,7 @@
 
 * very easy to write new ones
 
-JIT - idea
+JIT - why?
 ==========
 
 * dynamic compilation is a way to go for dynamic
@@ -205,6 +210,22 @@
   instead of doing that on python's source
   code
 
+JIT - a zoom into tracing
+=========================
+
+* first, hot spot is found
+
+* then, it's traced by a jit to find out
+  what operations really occured
+
+* a loop is closed by a jump back
+
+* assembler code from list of operations
+  performed is generated
+
+* there are insterted guards, which check
+  for branches
+
 Project future
 ==============
 



More information about the Pypy-commit mailing list