[pypy-svn] r34941 - pypy/dist/pypy/doc
arigo at codespeak.net
arigo at codespeak.net
Fri Nov 24 18:07:58 CET 2006
Author: arigo
Date: Fri Nov 24 18:07:55 2006
New Revision: 34941
Modified:
pypy/dist/pypy/doc/_ref.txt
pypy/dist/pypy/doc/constraints-and-logic.txt
pypy/dist/pypy/doc/index.txt
pypy/dist/pypy/doc/jit.txt
pypy/dist/pypy/doc/rtyper.txt
pypy/dist/pypy/doc/translation.txt
Log:
issue248 resolved
PyPy directory cross-reference updated.
Modified: pypy/dist/pypy/doc/_ref.txt
==============================================================================
--- pypy/dist/pypy/doc/_ref.txt (original)
+++ pypy/dist/pypy/doc/_ref.txt Fri Nov 24 18:07:55 2006
@@ -8,7 +8,10 @@
.. _`annotation/binaryop.py`: ../../pypy/annotation/binaryop.py
.. _`pypy/annotation/builtin.py`: ../../pypy/annotation/builtin.py
.. _`pypy/annotation/model.py`: ../../pypy/annotation/model.py
+.. _`bin/`: ../../pypy/bin
+.. _`config/`: ../../pypy/config
.. _`doc/`: ../../pypy/doc
+.. _`doc/discussion/`: ../../pypy/doc/discussion
.. _`interpreter/`:
.. _`pypy/interpreter`: ../../pypy/interpreter
.. _`pypy/interpreter/argument.py`: ../../pypy/interpreter/argument.py
@@ -21,8 +24,18 @@
.. _`pypy/interpreter/mixedmodule.py`: ../../pypy/interpreter/mixedmodule.py
.. _`pypy/interpreter/nestedscope.py`: ../../pypy/interpreter/nestedscope.py
.. _`pypy/interpreter/pyopcode.py`: ../../pypy/interpreter/pyopcode.py
+.. _`interpreter/pyparser/`:
.. _`pypy/interpreter/pyparser`: ../../pypy/interpreter/pyparser
.. _`pypy/interpreter/typedef.py`: ../../pypy/interpreter/typedef.py
+.. _`jit/`: ../../pypy/jit
+.. _`jit/codegen/`: ../../pypy/jit/codegen
+.. _`pypy/jit/codegen/model.py`: ../../pypy/jit/codegen/model.py
+.. _`jit/hintannotator/`: ../../pypy/jit/hintannotator
+.. _`jit/timeshifter/`: ../../pypy/jit/timeshifter
+.. _`jit/tl/`: ../../pypy/jit/tl
+.. _`lang/`: ../../pypy/lang
+.. _`lang/js/`: ../../pypy/lang/js
+.. _`lang/prolog/`: ../../pypy/lang/prolog
.. _`lib/`:
.. _`pypy/lib/`: ../../pypy/lib
.. _`pypy/lib/stackless.py`: ../../pypy/lib/stackless.py
@@ -31,25 +44,24 @@
.. _`module/`:
.. _`pypy/module`:
.. _`pypy/module/`: ../../pypy/module
-.. _`module/__builtin__/`: ../../pypy/module/__builtin__
.. _`pypy/module/__builtin__/__init__.py`: ../../pypy/module/__builtin__/__init__.py
.. _`pypy/module/_demo`: ../../pypy/module/_demo
-.. _`module/_sre/`:
.. _`pypy/module/_sre`: ../../pypy/module/_sre
.. _`pypy/module/_sre/interp_sre.py`: ../../pypy/module/_sre/interp_sre.py
.. _`pypy/module/_stackless/test/test_composable_coroutine.py`: ../../pypy/module/_stackless/test/test_composable_coroutine.py
.. _`pypy/module/readline`: ../../pypy/module/readline
-.. _`module/recparser/`: ../../pypy/module/recparser
-.. _`module/sys/`: ../../pypy/module/sys
.. _`objspace/`:
.. _`pypy/objspace`: ../../pypy/objspace
+.. _`objspace/dump.py`: ../../pypy/objspace/dump.py
.. _`objspace/flow/`: ../../pypy/objspace/flow
+.. _`objspace/logic.py`: ../../pypy/objspace/logic.py
.. _`objspace/std/`:
.. _`pypy/objspace/std`: ../../pypy/objspace/std
.. _`objspace/thunk.py`: ../../pypy/objspace/thunk.py
.. _`objspace/trace.py`:
.. _`pypy/objspace/trace.py`: ../../pypy/objspace/trace.py
-.. _`pypy/rlib`: ../../pypy/rlib
+.. _`pypy/rlib`:
+.. _`rlib/`: ../../pypy/rlib
.. _`pypy/rlib/objectmodel.py`: ../../pypy/rlib/objectmodel.py
.. _`pypy/rlib/rarithmetic.py`: ../../pypy/rlib/rarithmetic.py
.. _`pypy/rlib/test`: ../../pypy/rlib/test
@@ -57,6 +69,7 @@
.. _`pypy/rpython/`:
.. _`rpython/`: ../../pypy/rpython
.. _`pypy/rpython/extfunctable.py`: ../../pypy/rpython/extfunctable.py
+.. _`rpython/lltypesystem/`: ../../pypy/rpython/lltypesystem
.. _`pypy/rpython/lltypesystem/lltype.py`:
.. _`rpython/lltypesystem/lltype.py`: ../../pypy/rpython/lltypesystem/lltype.py
.. _`rpython/memory/`: ../../pypy/rpython/memory
@@ -67,6 +80,7 @@
.. _`pypy/rpython/module/`: ../../pypy/rpython/module
.. _`pypy/rpython/module/ll_os.py`: ../../pypy/rpython/module/ll_os.py
.. _`pypy/rpython/module/test`: ../../pypy/rpython/module/test
+.. _`rpython/ootypesystem/`: ../../pypy/rpython/ootypesystem
.. _`rpython/ootypesystem/ootype.py`: ../../pypy/rpython/ootypesystem/ootype.py
.. _`pypy/rpython/rctypes/test/test_ctypes.py`: ../../pypy/rpython/rctypes/test/test_ctypes.py
.. _`rpython/rint.py`: ../../pypy/rpython/rint.py
@@ -81,12 +95,19 @@
.. _`tool/tb_server/`: ../../pypy/tool/tb_server
.. _`pypy/translator`:
.. _`translator/`: ../../pypy/translator
+.. _`translator/backendopt/`: ../../pypy/translator/backendopt
.. _`translator/c/`: ../../pypy/translator/c
.. _`pypy/translator/c/extfunc.py`: ../../pypy/translator/c/extfunc.py
.. _`pypy/translator/c/src/`: ../../pypy/translator/c/src
.. _`pypy/translator/c/src/ll_os.h`: ../../pypy/translator/c/src/ll_os.h
.. _`pypy/translator/c/test/test_extfunc.py`: ../../pypy/translator/c/test/test_extfunc.py
+.. _`translator/cl/`: ../../pypy/translator/cl
+.. _`translator/cli/`: ../../pypy/translator/cli
.. _`translator/goal/`: ../../pypy/translator/goal
.. _`pypy/translator/goal/targetnopstandalone.py`: ../../pypy/translator/goal/targetnopstandalone.py
+.. _`translator/js/`: ../../pypy/translator/js
+.. _`translator/jvm/`: ../../pypy/translator/jvm
.. _`translator/llvm/`: ../../pypy/translator/llvm
+.. _`translator/squeak/`: ../../pypy/translator/squeak
+.. _`translator/stackless/`: ../../pypy/translator/stackless
.. _`translator/tool/`: ../../pypy/translator/tool
\ No newline at end of file
Modified: pypy/dist/pypy/doc/constraints-and-logic.txt
==============================================================================
--- pypy/dist/pypy/doc/constraints-and-logic.txt (original)
+++ pypy/dist/pypy/doc/constraints-and-logic.txt Fri Nov 24 18:07:55 2006
@@ -214,6 +214,8 @@
other hand, the lexically bounded mini-language proposed above helps
solve this more uniformly.
+.. _`logic programming`:
+
Logic Programming, Prolog and Oz-style
======================================
Modified: pypy/dist/pypy/doc/index.txt
==============================================================================
--- pypy/dist/pypy/doc/index.txt (original)
+++ pypy/dist/pypy/doc/index.txt Fri Nov 24 18:07:55 2006
@@ -164,40 +164,72 @@
============================ ===========================================
`annotation/`_ `type inferencing code`_ for `RPython`_ programs
+`bin/`_ command-line scripts, mainly `py.py`_ and `translatorshell.py`_
+
+`config/`_ handles the numerous options for building and running PyPy
+
`doc/`_ text versions of PyPy developer documentation
-`interpreter/`_ `bytecode interpreter`_ and related objects (frames, functions, modules,...)
+`doc/discussion/`_ drafts of ideas and documentation
+
+`interpreter/`_ `bytecode interpreter`_ and related objects
+ (frames, functions, modules,...)
+
+`interpreter/pyparser/`_ interpreter-level Python source parser
`interpreter/astcompiler/`_ interpreter-level bytecode compiler, via an AST
representation
-`lib/`_ PyPy's wholesale reimplementations of CPython modules_
+`jit/`_ the `just-in-time compiler generator`_
-`lib/test2/`_ tests running at interp-level against the reimplementations
+`jit/codegen/`_ `jit backends`_ for different architectures
-`module/`_ contains `mixed modules`_ implementing core modules with
- both application and interpreter level code
+`jit/hintannotator/`_ the `hint-annotator`_ that analyzes an interpreter
+
+`jit/timeshifter/`_ the `timeshifter`_ that turns an interpreter into a JIT compiler
-`module/_sre/`_ full regular expression implementation
+`jit/tl/`_ interpreters for toy languages, with which we test the
+ JIT generator
-`module/__builtin__/`_ full implementation of CPython's ``__builtin__`` module.
+`lang/`_ interpreters for non-Python languages, written in RPython_
-`module/recparser/`_ parser_ package from Logilab
+`lang/js/`_ a JavaScript interpreter (in-progress)
-`module/sys/`_ implementation of CPython's ``sys`` module.
+`lang/prolog/`_ a Prolog interpreter
+
+`lib/`_ PyPy's wholesale reimplementations of CPython modules_
+ and experimental new application-level modules
+
+`lib/test2/`_ tests running at interp-level against the reimplementations
+
+`module/`_ contains `mixed modules`_ implementing core modules with
+ both application and interpreter level code.
+ Not all are finished and working. Use the ``--withmod-xxx``
+ options of `translate.py`_.
`objspace/`_ `object space`_ implementations
`objspace/trace.py`_ the `trace object space`_ monitoring bytecode and space operations
+`objspace/dump.py`_ the dump object space saves a large, searchable log file
+ with all operations
+
`objspace/thunk.py`_ the `thunk object space`_, providing unique object features
+`objspace/logic.py`_ the `logic object space`_, providing Prolog-like logic variables
+
`objspace/flow/`_ the FlowObjSpace_ implementing `abstract interpretation`
`objspace/std/`_ the StdObjSpace_ implementing CPython's objects and types
+`rlib/`_ a "standard library" for RPython_ programs
+
`rpython/`_ the `RPython Typer`_
+`rpython/lltypesystem/`_ the `low-level type system`_ for C-like backends
+
+`rpython/ootypesystem/`_ the `object-oriented type system`_ for OO backends
+
`rpython/memory/`_ experimental `garbage collector`_ construction
framework
@@ -213,16 +245,29 @@
`translator/`_ translation_ backends and support code
+`translator/backendopt/`_ general optimizations that run before a backend generates code
+
`translator/c/`_ the `GenC backend`_, producing C code from an
RPython program (generally via the RTyper)
+`translator/cl/`_ the `Common Lisp backend`_ (incomplete)
+
+`translator/cli/`_ the `CLI backend`_ for `.NET`_ (Microsoft CLR or Mono_)
+
+`translator/goal/`_ our `main PyPy-translation scripts`_ live here
+
+`translator/js/`_ the `JavaScript backend`_
+
+`translator/jvm/`_ the Java backend (in-progress)
+
`translator/llvm/`_ contains the `LLVM backend`_ producing LLVM assembler
from fully annotated RPython programs
-`translator/tool/`_ helper tools for translation
+`translator/squeak/`_ the `Squeak backend`_ (very incomplete)
-`translator/goal/`_ currently our main PyPy-translation scripts
- live here
+`translator/stackless/`_ the `Stackless Transform`_
+
+`translator/tool/`_ helper tools for translation
``*/test/`` many directories have a test subdirectory containing test
modules (see `Testing in PyPy`_)
@@ -232,7 +277,7 @@
============================ ===========================================
.. _`bytecode interpreter`: interpreter.html
-.. _`translating application level to interpreterlevel`: translation.html#python-back-end
+.. _`translating application level to interpreterlevel`: geninterp.html
.. _documentation: index.html
.. _`Testing in PyPy`: coding-guide.html#testing-in-pypy
.. _`mixed modules`: coding-guide.html#mixed-modules
@@ -241,7 +286,8 @@
.. _`object space`: objspace.html
.. _FlowObjSpace: objspace.html#the-flow-object-space
.. _`trace object space`: objspace.html#the-trace-object-space
-.. _`thunk object space`: objspace.html#the-thunk-object-space
+.. _`thunk object space`: objspace.html#the-thunk-object-space
+.. _`logic object space`: constraints-and-logic.html#logic-programming
.. _StdObjSpace: objspace.html#the-standard-object-space
.. _`abstract interpretation`: theory.html#abstract-interpretation
.. _`rpython`: coding-guide.html#rpython
@@ -250,10 +296,25 @@
.. _`testing methods`: coding-guide.html#testing-in-pypy
.. _`translation`: translation.html
.. _`GenC backend`: translation.html#genc
-.. _`LLVM backend`: translation.html#llvm
+.. _`LLVM backend`: translation.html#llvm
+.. _`CLI backend`: translation.html#gencli
+.. _`Common Lisp backend`: translation.html#gencl
+.. _`Squeak backend`: translation.html#gensqueak
.. _`revision report`: http://codespeak.net/pypy/rev/current
.. _`garbage collector`: garbage_collection.html
.. _`extension compiler`: extcompiler.html
-
+.. _`py.py`: getting-started.html#main-entry-point
+.. _`translatorshell.py`: getting-started.html#try-out-the-translator
+.. _`just-in-time compiler generator`: jit.html
+.. _`jit backends`: jit.html#backends
+.. _`hint-annotator`: jit.html#hint-annotator
+.. _`timeshifter`: jit.html#timeshifter
+.. _`low-level type system`: rtyper.html#low-level-type
+.. _`object-oriented type system`: rtyper.html#oo-type
+.. _`Stackless Transform`: translation.html#the-stackless-transform
+.. _`main PyPy-translation scripts`: getting-started.html#translating-the-pypy-interpreter
+.. _`translate.py`: getting-started.html#translating-the-pypy-interpreter
+.. _`.NET`: http://www.microsoft.com/net/
+.. _Mono: http://www.mono-project.com/
.. include:: _ref.txt
Modified: pypy/dist/pypy/doc/jit.txt
==============================================================================
--- pypy/dist/pypy/doc/jit.txt (original)
+++ pypy/dist/pypy/doc/jit.txt Fri Nov 24 18:07:55 2006
@@ -85,11 +85,11 @@
over-allocation, which causes several identical RPython lists to look
different when represented as low-level structs and arrays.
-Hint-RTyper
+Timeshifter
-----------
-Once the graph has been colored, enters the hint-rtyper. This tool --
-again loosely based on the normal RTyper -- transforms the colored
+Once the graph has been colored, enters the "timeshifter". This
+tool -- loosely based on the normal RTyper -- transforms the colored
low-level graphs into the graphs of the compiler. Broadly speaking,
this is done by transforming operations annotated with red variables
into operations that will generate the original operation. Indeed, red
@@ -183,7 +183,7 @@
bytecode but loops in the implementation of a single opcode (we had this
problem working on the annotator in Vilnius).
-The current preliminary work on the hint-rtyper turns the interpreter
+The current preliminary work on the timeshifter turns the interpreter
into a compiler that saves its state at _all_ join-points permanently. This
makes sure that loops are not unexpectedly unrolled, and that the code
that follows an if/else is not duplicated (as it would be in the
@@ -220,7 +220,7 @@
The motivation to do point 2. differently than in Psyco is that it is
both more powerful (no extra unrolling/duplication of code) and closer
to what we have already now: the bookkeeping code inserted by the
-hint-rtyper in the compiler's graphs. In Psyco it would have been a
+timeshifter in the compiler's graphs. In Psyco it would have been a
mess to write that bookkeeping code everywhere by hand, not to mention
changing it to experiment with other ideas.
@@ -235,3 +235,16 @@
way, we can avoid some of the recompilation by using this attached value
e.g. as the first switch case in the red-to-green promotions, or as a
hint about which outcome of a run-time condition is more likely.
+
+Backends
+----------------
+
+The compilers produced by the timeshifter are linked with one of our
+backends, which are written by hand in RPython. We currently have a
+backend for producing IA32/i386 machine code in memory, PowerPC machine
+code in memory, or (for testing) further low-level control flow graphs.
+
+The interface is documented in `pypy/jit/codegen/model.py`_.
+
+
+.. include:: _ref.txt
Modified: pypy/dist/pypy/doc/rtyper.txt
==============================================================================
--- pypy/dist/pypy/doc/rtyper.txt (original)
+++ pypy/dist/pypy/doc/rtyper.txt Fri Nov 24 18:07:55 2006
@@ -431,6 +431,8 @@
See for example `rpython/rlist.py`_.
+.. _`oo type`:
+
Object Oriented Types
---------------------
Modified: pypy/dist/pypy/doc/translation.txt
==============================================================================
--- pypy/dist/pypy/doc/translation.txt (original)
+++ pypy/dist/pypy/doc/translation.txt Fri Nov 24 18:07:55 2006
@@ -617,9 +617,6 @@
.. _`here`: getting-started.html#translating-the-flow-graph-to-llvm-code
-.. _`Python again`:
-.. _`Python back-end`:
-
The Object-Oriented Backends
----------------------------
@@ -702,6 +699,10 @@
GenCL has seen work from many people, but the driving force has mostly been
Seo Sanghyeon.
+
+.. _`Python again`:
+.. _`Python back-end`:
+
The Interpreter-Level backend
-----------------------------
More information about the Pypy-commit
mailing list