[pypy-svn] r39399 - in pypy/branch/ast-experiments: . lib-python lib-python/modified-2.4.1 lib-python/modified-2.4.1/test pypy pypy/annotation pypy/annotation/test pypy/bin pypy/config pypy/config/test pypy/doc pypy/doc/config pypy/doc/js pypy/doc/statistic pypy/doc/tool pypy/jit/codegen/llvm pypy/lang/automata/test pypy/lang/js pypy/lang/js/test pypy/lang/js/test/ecma pypy/lib/cslib pypy/lib/distributed pypy/lib/distributed/demo pypy/lib/distributed/test pypy/lib/pyontology pypy/lib/pyontology/test pypy/module/_cslib pypy/module/_stackless pypy/module/crypt pypy/module/sys pypy/objspace pypy/objspace/std pypy/rlib/cslib pypy/rpython pypy/rpython/lltypesystem pypy/rpython/memory/gctransform pypy/rpython/test pypy/tool pypy/tool/build pypy/tool/build/templates pypy/tool/build/test pypy/translator/c/src pypy/translator/cli/test pypy/translator/goal pypy/translator/js pypy/translator/js/demo pypy/translator/js/examples pypy/translator/js/examples/bnb pypy/translator/js/examples/bnb/data pypy/translator/js/examples/console pypy/translator/js/examples/console/test pypy/translator/js/examples/data pypy/translator/js/examples/djangoping pypy/translator/js/examples/djangoping/test pypy/translator/js/examples/test pypy/translator/js/lib pypy/translator/js/lib/test pypy/translator/js/modules pypy/translator/js/modules/test pypy/translator/js/test pypy/translator/llvm pypy/translator/llvm/module pypy/translator/llvm/test pypy/translator/oosupport
afayolle at codespeak.net
afayolle at codespeak.net
Mon Feb 26 08:46:02 CET 2007
Author: afayolle
Date: Mon Feb 26 08:45:45 2007
New Revision: 39399
Added:
pypy/branch/ast-experiments/pypy/doc/config/commandline.txt
- copied unchanged from r39398, pypy/dist/pypy/doc/config/commandline.txt
pypy/branch/ast-experiments/pypy/doc/config/index.txt
- copied unchanged from r39398, pypy/dist/pypy/doc/config/index.txt
pypy/branch/ast-experiments/pypy/doc/config/mergedblocks.png
- copied unchanged from r39398, pypy/dist/pypy/doc/config/mergedblocks.png
pypy/branch/ast-experiments/pypy/doc/config/unmergedblocks.png
- copied unchanged from r39398, pypy/dist/pypy/doc/config/unmergedblocks.png
pypy/branch/ast-experiments/pypy/doc/js/testing.txt
- copied unchanged from r39398, pypy/dist/pypy/doc/js/testing.txt
pypy/branch/ast-experiments/pypy/doc/release-0.99.0.txt
- copied unchanged from r39398, pypy/dist/pypy/doc/release-0.99.0.txt
pypy/branch/ast-experiments/pypy/doc/statistic/python-list.txt
- copied unchanged from r39398, pypy/dist/pypy/doc/statistic/python-list.txt
pypy/branch/ast-experiments/pypy/lang/js/conftest.py
- copied unchanged from r39398, pypy/dist/pypy/lang/js/conftest.py
pypy/branch/ast-experiments/pypy/lang/js/test/ecma/conftest.py
- copied unchanged from r39398, pypy/dist/pypy/lang/js/test/ecma/conftest.py
pypy/branch/ast-experiments/pypy/lib/cslib/
- copied from r39398, pypy/dist/pypy/lib/cslib/
pypy/branch/ast-experiments/pypy/lib/distributed/demo/
- copied from r39398, pypy/dist/pypy/lib/distributed/demo/
pypy/branch/ast-experiments/pypy/module/_cslib/
- copied from r39398, pypy/dist/pypy/module/_cslib/
pypy/branch/ast-experiments/pypy/rlib/cslib/
- copied from r39398, pypy/dist/pypy/rlib/cslib/
pypy/branch/ast-experiments/pypy/tool/build/templates/
- copied from r39398, pypy/dist/pypy/tool/build/templates/
pypy/branch/ast-experiments/pypy/tool/build/test/test_webserver.py
- copied unchanged from r39398, pypy/dist/pypy/tool/build/test/test_webserver.py
pypy/branch/ast-experiments/pypy/tool/build/webapp.py
- copied unchanged from r39398, pypy/dist/pypy/tool/build/webapp.py
pypy/branch/ast-experiments/pypy/tool/build/webserver.py
- copied unchanged from r39398, pypy/dist/pypy/tool/build/webserver.py
pypy/branch/ast-experiments/pypy/translator/js/examples/console/ (props changed)
- copied from r39398, pypy/dist/pypy/translator/js/examples/console/
pypy/branch/ast-experiments/pypy/translator/js/examples/djangoping/ (props changed)
- copied from r39398, pypy/dist/pypy/translator/js/examples/djangoping/
pypy/branch/ast-experiments/pypy/translator/js/examples/guestbook.py
- copied unchanged from r39398, pypy/dist/pypy/translator/js/examples/guestbook.py
pypy/branch/ast-experiments/pypy/translator/js/examples/guestbook_client.py
- copied unchanged from r39398, pypy/dist/pypy/translator/js/examples/guestbook_client.py
pypy/branch/ast-experiments/pypy/translator/js/examples/test/test_examples.py
- copied unchanged from r39398, pypy/dist/pypy/translator/js/examples/test/test_examples.py
pypy/branch/ast-experiments/pypy/translator/js/modules/test/test_mochikit.py
- copied unchanged from r39398, pypy/dist/pypy/translator/js/modules/test/test_mochikit.py
Removed:
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.llvmallopts.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.debug_transform.txt
pypy/branch/ast-experiments/pypy/translator/js/demo/
pypy/branch/ast-experiments/pypy/translator/js/examples/console.py
Modified:
pypy/branch/ast-experiments/LICENSE
pypy/branch/ast-experiments/README
pypy/branch/ast-experiments/lib-python/conftest.py
pypy/branch/ast-experiments/lib-python/modified-2.4.1/socket.py
pypy/branch/ast-experiments/lib-python/modified-2.4.1/test/test_descr.py
pypy/branch/ast-experiments/pypy/annotation/test/test_annrpython.py
pypy/branch/ast-experiments/pypy/annotation/unaryop.py
pypy/branch/ast-experiments/pypy/bin/py.py
pypy/branch/ast-experiments/pypy/config/config.py
pypy/branch/ast-experiments/pypy/config/makerestdoc.py
pypy/branch/ast-experiments/pypy/config/pypyoption.py
pypy/branch/ast-experiments/pypy/config/test/test_makerestdoc.py
pypy/branch/ast-experiments/pypy/config/translationoption.py
pypy/branch/ast-experiments/pypy/conftest.py
pypy/branch/ast-experiments/pypy/doc/_ref.txt
pypy/branch/ast-experiments/pypy/doc/architecture.txt
pypy/branch/ast-experiments/pypy/doc/cleanup-todo.txt
pypy/branch/ast-experiments/pypy/doc/cli-backend.txt
pypy/branch/ast-experiments/pypy/doc/coding-guide.txt
pypy/branch/ast-experiments/pypy/doc/config/confrest.py
pypy/branch/ast-experiments/pypy/doc/config/objspace.allworkingmodules.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.compiler.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.logbytecodes.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.lowmem.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.name.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.nofaking.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.opcodes.CALL_LIKELY_BUILTIN.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.opcodes.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.parser.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.methodcachesize.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.optimized_int_add.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.prebuiltintfrom.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.prebuiltintto.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withdictmeasurement.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withfastslice.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmethodcache.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmethodcachecounter.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmultidict.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmultilist.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withprebuiltint.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withrangelist.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withsharingdict.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrdict.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrjoin.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrslice.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withtypeversion.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._codecs.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._demo.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._file.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._pickle_support.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._random.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._stackless.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._weakref.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.bz2.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.posix.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.pypymagic.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.rctime.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.recparser.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.rsocket.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.time.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.txt
pypy/branch/ast-experiments/pypy/doc/config/objspace.usepycfiles.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backend.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal_heuristic.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal_threshold.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.constfold.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.heap2stack.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline_heuristic.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline_threshold.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.mallocs.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.merge_if_blocks.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.print_statistics.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline_heuristic.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline_threshold.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.raisingop2direct_call.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.remove_asserts.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.builtins_can_raise_exceptions.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.cc.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.cli.trace_calls.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.cli.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.compilerflags.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.countmallocs.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.debug.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.fork_before.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.gc.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.insist.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.instrument.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.instrumentctl.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.linkerflags.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.list_comprehension_operations.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.llvm_via_c.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.no__thread.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.output.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.profopt.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.simplifying.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.stackless.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.thread.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.type_system.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.vanilla.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.verbose.txt
pypy/branch/ast-experiments/pypy/doc/config/translation.withsmallfuncsets.txt
pypy/branch/ast-experiments/pypy/doc/configuration.txt
pypy/branch/ast-experiments/pypy/doc/confrest.py
pypy/branch/ast-experiments/pypy/doc/conftest.py
pypy/branch/ast-experiments/pypy/doc/contact.txt
pypy/branch/ast-experiments/pypy/doc/contributor.txt
pypy/branch/ast-experiments/pypy/doc/dev_method.txt
pypy/branch/ast-experiments/pypy/doc/eventhistory.txt
pypy/branch/ast-experiments/pypy/doc/extcompiler.txt
pypy/branch/ast-experiments/pypy/doc/extradoc.txt
pypy/branch/ast-experiments/pypy/doc/faq.txt
pypy/branch/ast-experiments/pypy/doc/geninterp.txt
pypy/branch/ast-experiments/pypy/doc/getting-started.txt
pypy/branch/ast-experiments/pypy/doc/glossary.txt
pypy/branch/ast-experiments/pypy/doc/how-to-release.txt
pypy/branch/ast-experiments/pypy/doc/index.txt
pypy/branch/ast-experiments/pypy/doc/js/todo.txt
pypy/branch/ast-experiments/pypy/doc/js/using.txt
pypy/branch/ast-experiments/pypy/doc/js/webapps_with_pypy.txt
pypy/branch/ast-experiments/pypy/doc/js/whatis.txt
pypy/branch/ast-experiments/pypy/doc/news.txt
pypy/branch/ast-experiments/pypy/doc/object-optimizations.txt
pypy/branch/ast-experiments/pypy/doc/objspace-proxies.txt
pypy/branch/ast-experiments/pypy/doc/objspace.txt
pypy/branch/ast-experiments/pypy/doc/rctypes.txt
pypy/branch/ast-experiments/pypy/doc/rlib.txt
pypy/branch/ast-experiments/pypy/doc/statistic/loc.txt
pypy/branch/ast-experiments/pypy/doc/statistic/number_files.txt
pypy/branch/ast-experiments/pypy/doc/statistic/post.txt
pypy/branch/ast-experiments/pypy/doc/statistic/release_dates.csv
pypy/branch/ast-experiments/pypy/doc/statistic/sprint_dates.csv
pypy/branch/ast-experiments/pypy/doc/statistic/statistic_irc_log.txt
pypy/branch/ast-experiments/pypy/doc/statistic/subscribers.txt
pypy/branch/ast-experiments/pypy/doc/tool/makecontributor.py
pypy/branch/ast-experiments/pypy/doc/translation.txt
pypy/branch/ast-experiments/pypy/doc/video-index.txt
pypy/branch/ast-experiments/pypy/doc/windows.txt
pypy/branch/ast-experiments/pypy/jit/codegen/llvm/rgenop.py
pypy/branch/ast-experiments/pypy/lang/automata/test/test_dfa.py
pypy/branch/ast-experiments/pypy/lang/js/driver.py
pypy/branch/ast-experiments/pypy/lang/js/interpreter.py
pypy/branch/ast-experiments/pypy/lang/js/js_interactive.py
pypy/branch/ast-experiments/pypy/lang/js/jsobj.py
pypy/branch/ast-experiments/pypy/lang/js/test/ecma/shell.js
pypy/branch/ast-experiments/pypy/lang/js/test/test_interp.py
pypy/branch/ast-experiments/pypy/lib/distributed/__init__.py
pypy/branch/ast-experiments/pypy/lib/distributed/objkeeper.py
pypy/branch/ast-experiments/pypy/lib/distributed/protocol.py
pypy/branch/ast-experiments/pypy/lib/distributed/test/test_distributed.py
pypy/branch/ast-experiments/pypy/lib/pyontology/pyontology.py
pypy/branch/ast-experiments/pypy/lib/pyontology/test/test_ontology.py
pypy/branch/ast-experiments/pypy/module/_stackless/interp_greenlet.py
pypy/branch/ast-experiments/pypy/module/crypt/interp_crypt.py
pypy/branch/ast-experiments/pypy/module/sys/version.py (contents, props changed)
pypy/branch/ast-experiments/pypy/objspace/std/stringobject.py
pypy/branch/ast-experiments/pypy/objspace/taint.py
pypy/branch/ast-experiments/pypy/objspace/thunk.py
pypy/branch/ast-experiments/pypy/rpython/extfunc.py
pypy/branch/ast-experiments/pypy/rpython/lltypesystem/lltype.py
pypy/branch/ast-experiments/pypy/rpython/memory/gctransform/framework.py
pypy/branch/ast-experiments/pypy/rpython/memory/gctransform/stacklessframework.py
pypy/branch/ast-experiments/pypy/rpython/rfloat.py
pypy/branch/ast-experiments/pypy/rpython/rint.py
pypy/branch/ast-experiments/pypy/rpython/rmodel.py
pypy/branch/ast-experiments/pypy/rpython/rtuple.py
pypy/branch/ast-experiments/pypy/rpython/test/test_rlist.py
pypy/branch/ast-experiments/pypy/rpython/test/test_rtuple.py
pypy/branch/ast-experiments/pypy/tool/build/build.py
pypy/branch/ast-experiments/pypy/tool/build/metaserver.py
pypy/branch/ast-experiments/pypy/tool/build/test/test_metaserver.py
pypy/branch/ast-experiments/pypy/tool/makerelease.py
pypy/branch/ast-experiments/pypy/tool/option.py
pypy/branch/ast-experiments/pypy/tool/statistic_over_time.py
pypy/branch/ast-experiments/pypy/translator/c/src/obmalloc.c (props changed)
pypy/branch/ast-experiments/pypy/translator/c/src/signals.h (contents, props changed)
pypy/branch/ast-experiments/pypy/translator/cli/test/runtest.py
pypy/branch/ast-experiments/pypy/translator/goal/app_main.py
pypy/branch/ast-experiments/pypy/translator/goal/bench-cronjob.py
pypy/branch/ast-experiments/pypy/translator/goal/targetjsstandalone.py
pypy/branch/ast-experiments/pypy/translator/goal/translate.py
pypy/branch/ast-experiments/pypy/translator/js/commproxy.py
pypy/branch/ast-experiments/pypy/translator/js/examples/bnb/ (props changed)
pypy/branch/ast-experiments/pypy/translator/js/examples/bnb/__init__.py (props changed)
pypy/branch/ast-experiments/pypy/translator/js/examples/bnb/bnb.py
pypy/branch/ast-experiments/pypy/translator/js/examples/bnb/data/bnb.html
pypy/branch/ast-experiments/pypy/translator/js/examples/bnb/servermessage.py
pypy/branch/ast-experiments/pypy/translator/js/examples/console/test/ (props changed)
pypy/branch/ast-experiments/pypy/translator/js/examples/data/index.html
pypy/branch/ast-experiments/pypy/translator/js/examples/djangoping/test/ (props changed)
pypy/branch/ast-experiments/pypy/translator/js/examples/over_client.py (contents, props changed)
pypy/branch/ast-experiments/pypy/translator/js/examples/overmind.py (contents, props changed)
pypy/branch/ast-experiments/pypy/translator/js/examples/pythonconsole.py
pypy/branch/ast-experiments/pypy/translator/js/lib/support.py (contents, props changed)
pypy/branch/ast-experiments/pypy/translator/js/lib/test/__init__.py (props changed)
pypy/branch/ast-experiments/pypy/translator/js/lib/test/test_support.py (props changed)
pypy/branch/ast-experiments/pypy/translator/js/lib/test/test_url.py (props changed)
pypy/branch/ast-experiments/pypy/translator/js/lib/url.py (props changed)
pypy/branch/ast-experiments/pypy/translator/js/main.py
pypy/branch/ast-experiments/pypy/translator/js/modules/dom.py
pypy/branch/ast-experiments/pypy/translator/js/modules/mochikit.py
pypy/branch/ast-experiments/pypy/translator/js/test/test_extfunc.py (props changed)
pypy/branch/ast-experiments/pypy/translator/js/test/test_main.py
pypy/branch/ast-experiments/pypy/translator/js/test/test_rdict.py (props changed)
pypy/branch/ast-experiments/pypy/translator/llvm/buildllvm.py
pypy/branch/ast-experiments/pypy/translator/llvm/externs2ll.py
pypy/branch/ast-experiments/pypy/translator/llvm/gc.py
pypy/branch/ast-experiments/pypy/translator/llvm/genllvm.py
pypy/branch/ast-experiments/pypy/translator/llvm/module/support.py
pypy/branch/ast-experiments/pypy/translator/llvm/test/runtest.py
pypy/branch/ast-experiments/pypy/translator/oosupport/metavm.py
Log:
merge trunk with branch
svn merge -r 38798:39398 svn+ssh://codespeak.net/svn/pypy/dist
Modified: pypy/branch/ast-experiments/LICENSE
==============================================================================
--- pypy/branch/ast-experiments/LICENSE (original)
+++ pypy/branch/ast-experiments/LICENSE Mon Feb 26 08:45:45 2007
@@ -27,49 +27,73 @@
DEALINGS IN THE SOFTWARE.
-PyPy Copyright holders 2003-2006
+PyPy Copyright holders 2003-2007
-----------------------------------
Except when otherwise stated (look for LICENSE files or information at
the beginning of each file) the files in the 'pypy' directory are each
copyrighted by one or more of the following people and organizations:
- Armin Rigo <arigo at tunes.org>
- Samuele Pedroni <pedronis at strakt.com>
- Holger Krekel <hpk at trillke.net>
- Christian Tismer <tismer at tismer.com>
- Michael Hudson <mwh at python.net>
- Carl Friedrich Bolz <cfbolz at gmx.de>
- Eric van Riet Paap <eric at vanrietpaap.nl>
- Richard Emslie <rxe at ukshells.co.uk>
- Anders Chrigstrom <ac at strakt.com>
- Niklaus Haldimann <nhaldimann at gmx.ch>
- Antonio Cuni <anto.cuni at gmail.com>
- Maciek Fijalkowski <fijal at genesilico.pl>
- Aurélien Campéas <aurelien.campeas at logilab.fr>
- Seo Sanghyeon <sanxiyn at gmail.com>
- Alex Martelli <aleaxit at yahoo.com>
- Anders Lehmann <serendipity-soft at get2net.dk>
- Stephan Diehl <stephan.diehl at gmx.net>
- Patrick Maupin <pmaupin at gmail.com>
- Ludovic Aubry <ludovic.aubry at logilab.fr>
- Bob Ippolito <bob at redivi.com>
- Adrien Di Mascio <adim at logilab.fr>
- Jacob Hallen <jacob at strakt.com>
- Laura Creighton <lac at strakt.com>
- Marius Gedminas <mgedmin at b4net.lt>
- Amaury Forgeot d Arc <amauryfa at gmail.com>
- Boris Feigin <boria at fbg.uklinux.net>
- Valentino Volonghi <dialtone at divmod.com>
- Bert Freudenberg <bert at impara.de>
- Andrew Thompson <andrew.thompson at newhert.com>
- Jonathan David Riehl <jriehl at spaceship.com>
- Amaury Forgeot D Arc <Amaury.Forgeotdarc at Ubitrade.Com>
- Alexandre Fayolle <afayolle at debian.org>
- Guido van Rossum <guido at python.org>
+ Armin Rigo
+ Samuele Pedroni
+ Michael Hudson
+ Carl Friedrich Bolz
+ Christian Tismer
+ Holger Krekel
+ Eric van Riet Paap
+ Antonio Cuni
+ Anders Chrigstrom
+ Maciek Fijalkowski
+ Richard Emslie
+ Aurelien Campeas
+ Anders Lehmann
+ Niklaus Haldimann
+ Seo Sanghyeon
+ Lawrence Oluyede
+ Alex Martelli
+ Ludovic Aubry
+ Adrien Di Mascio
+ Stephan Diehl
+ Guido Wesdorp
+ Stefan Schwarzer
+ Tomek Meka
+ Patrick Maupin
+ Leonardo Santagada
+ Bob Ippolito
+ Laura Creighton
+ Jacob Hallen
+ Marius Gedminas
+ Niko Matsakis
+ Amaury Forgeot d Arc
+ Guido van Rossum
+ Valentino Volonghi
+ Alexander Schremmer
+ Alexandre Fayolle
+ Wanja Saatkamp
+ Gerald Klix
+ Eugene Oden
+ Dinu Gherman
+ Guenter Jantzen
+ Ben Young
+ Nicolas Chauvat
+ Michael Twomey
+ Rocco Moretti
+ Simon Burton
+ Boris Feigin
+ Olivier Dormond
+ Gintautas Miliauskas
+ Stuart Williams
+ Jens-Uwe Mager
+ Brian Dorsey
+ Jonathan David Riehl
+ Anders Qvist
+ Beatrice During
+ Andreas Friedge
+ Alan McIntyre
+ Bert Freudenberg
Heinrich-Heine University, Germany
- AB Strakt, Sweden
+ Open End AB (formerly AB Strakt), Sweden
merlinux GmbH, Germany
tismerysoft GmbH, Germany
Logilab Paris, France
Modified: pypy/branch/ast-experiments/README
==============================================================================
--- pypy/branch/ast-experiments/README (original)
+++ pypy/branch/ast-experiments/README Mon Feb 26 08:45:45 2007
@@ -1,16 +1,17 @@
=======================================================
-PyPy: Python in Python implementation / Version 0.9.0
+PyPy: Python in Python implementation / Version 0.99.0
=======================================================
-PyPy is an implementation of the Python programming language, written
-in Python.
+Welcome to PyPy!
-PyPy is very much a work in progress, but can already build a
-self-contained Python implementation that is completely independent of
-Python.
+PyPy is both an implementation of the Python programming language, and
+an extensive compiler framework for dynamic language implementations.
+You can build self-contained Python implementations which execute
+independently from CPython.
-For more, we invite you to head over to our getting-started document:
+We invite you to head over to our detailed getting-started document:
+ pypy/doc/getting-started.html or
pypy/doc/getting-started.txt
(local if you got a tarball or svn checkout)
@@ -23,8 +24,9 @@
For information in what's new in this release, please read the release
announcement:
- pypy/doc/release-0.9.0.txt
- http://codespeak.net/pypy/dist/pypy/doc/release-0.9.0.html
+ pypy/doc/release-0.99.0.txt or
+ pypy/doc/release-0.99.0.html
+ http://codespeak.net/pypy/dist/pypy/doc/release-0.99.0.html
Since December 2004, the development of PyPy has been funded by the
European Union's research programme. For more information on this
Modified: pypy/branch/ast-experiments/lib-python/conftest.py
==============================================================================
--- pypy/branch/ast-experiments/lib-python/conftest.py (original)
+++ pypy/branch/ast-experiments/lib-python/conftest.py Mon Feb 26 08:45:45 2007
@@ -875,7 +875,7 @@
class ReallyRunFileExternal(py.test.collect.Item):
_resultcache = None
- def haskeyword(self, keyword):
+ def _haskeyword(self, keyword):
if keyword == 'core':
return self.parent.regrtest.core
if keyword not in ('error', 'ok', 'timeout'):
Modified: pypy/branch/ast-experiments/lib-python/modified-2.4.1/socket.py
==============================================================================
--- pypy/branch/ast-experiments/lib-python/modified-2.4.1/socket.py (original)
+++ pypy/branch/ast-experiments/lib-python/modified-2.4.1/socket.py Mon Feb 26 08:45:45 2007
@@ -144,6 +144,8 @@
raise error(EBADF, 'Bad file descriptor')
def _drop(self):
pass
+ def _reuse(self):
+ pass
send = recv = sendto = recvfrom = __getattr__ = _dummy
class _socketobject(object):
@@ -188,6 +190,7 @@
Return a regular file object corresponding to the socket. The mode
and bufsize arguments are as for the built-in open() function."""
+ self._sock._reuse()
return _fileobject(self._sock, mode, bufsize)
_s = ("def %s(self, *args): return self._sock.%s(*args)\n\n"
@@ -229,11 +232,14 @@
closed = property(_getclosed, doc="True if the file is closed")
def close(self):
- try:
- if self._sock:
+ if self._sock:
+ try:
self.flush()
- finally:
- self._sock = None
+ finally:
+ if self._sock:
+ s = self._sock
+ self._sock = None
+ s._drop()
def __del__(self):
try:
Modified: pypy/branch/ast-experiments/lib-python/modified-2.4.1/test/test_descr.py
==============================================================================
--- pypy/branch/ast-experiments/lib-python/modified-2.4.1/test/test_descr.py (original)
+++ pypy/branch/ast-experiments/lib-python/modified-2.4.1/test/test_descr.py Mon Feb 26 08:45:45 2007
@@ -1193,7 +1193,6 @@
gc.collect()
vereq(Counted.counter, 1)
s = None
- import gc
gc.collect()
gc.collect()
gc.collect()
@@ -2962,7 +2961,6 @@
raise TestFailed, "d.foo should be undefined now"
# Test a nasty bug in recurse_down_subclasses()
- import gc
class A(object):
pass
class B(A):
@@ -3895,7 +3893,7 @@
vereq(c.attr, 1)
# this makes a crash more likely:
- import gc; gc.collect()
+ gc.collect()
vereq(hasattr(c, 'attr'), False)
import warnings
Modified: pypy/branch/ast-experiments/pypy/annotation/test/test_annrpython.py
==============================================================================
--- pypy/branch/ast-experiments/pypy/annotation/test/test_annrpython.py (original)
+++ pypy/branch/ast-experiments/pypy/annotation/test/test_annrpython.py Mon Feb 26 08:45:45 2007
@@ -443,6 +443,14 @@
s = a.build_types(snippet.simple_iter, [list])
assert isinstance(s, annmodel.SomeIterator)
+ def test_simple_iter_next(self):
+ def f(x):
+ i = iter(range(x))
+ return i.next()
+ a = self.RPythonAnnotator()
+ s = a.build_types(f, [int])
+ assert isinstance(s, annmodel.SomeInteger)
+
def test_simple_iter_dict(self):
a = self.RPythonAnnotator()
t = somedict(annmodel.SomeInteger(), annmodel.SomeInteger())
Modified: pypy/branch/ast-experiments/pypy/annotation/unaryop.py
==============================================================================
--- pypy/branch/ast-experiments/pypy/annotation/unaryop.py (original)
+++ pypy/branch/ast-experiments/pypy/annotation/unaryop.py Mon Feb 26 08:45:45 2007
@@ -506,6 +506,7 @@
def next(itr):
return itr.s_container.getanyitem(*itr.variant)
next.can_only_throw = _can_only_throw
+ method_next = next
class __extend__(SomeInstance):
Modified: pypy/branch/ast-experiments/pypy/bin/py.py
==============================================================================
--- pypy/branch/ast-experiments/pypy/bin/py.py (original)
+++ pypy/branch/ast-experiments/pypy/bin/py.py Mon Feb 26 08:45:45 2007
@@ -13,7 +13,7 @@
from pypy.tool import option
from py.compat.optparse import make_option
-from pypy.interpreter import main, interactive, error
+from pypy.interpreter import main, interactive, error, gateway
from pypy.config.config import OptionDescription, BoolOption, StrOption
from pypy.config.config import Config, to_optparse
import os, sys
@@ -27,8 +27,10 @@
BoolOption("completer", "use readline commandline completer",
default=False, cmdline="-C"),
BoolOption("optimize",
- "dummy optimization flag for compatibility with C Python",
+ "dummy optimization flag for compatibility with CPython",
default=False, cmdline="-O"),
+ BoolOption("no_site_import", "do not 'import site' on initialization",
+ default=False, cmdline="-S"),
StrOption("runmodule",
"library module to be run as a script (terminates option list)",
default=None, cmdline="-m"),
@@ -37,6 +39,16 @@
default=None, cmdline="-c"),
])
+pypy_init = gateway.applevel('''
+def pypy_init(import_site):
+ if import_site:
+ try:
+ import site
+ except:
+ import sys
+ print >> sys.stderr, "import site' failed"
+''').interphook('pypy_init')
+
def main_(argv=None):
starttime = time.time()
config, parser = option.get_standard_options()
@@ -90,6 +102,7 @@
try:
def do_start():
space.startup()
+ pypy_init(space, space.wrap(not interactiveconfig.no_site_import))
if main.run_toplevel(space, do_start,
verbose=interactiveconfig.verbose):
# compile and run it
Modified: pypy/branch/ast-experiments/pypy/config/config.py
==============================================================================
--- pypy/branch/ast-experiments/pypy/config/config.py (original)
+++ pypy/branch/ast-experiments/pypy/config/config.py Mon Feb 26 08:45:45 2007
@@ -402,7 +402,8 @@
return paths
-class OptHelpFormatter(optparse.IndentedHelpFormatter):
+class OptHelpFormatter(optparse.TitledHelpFormatter):
+ extra_useage = None
def expand_default(self, option):
assert self.parser
@@ -446,6 +447,14 @@
return option.help
+ def format_usage(self, usage):
+ # XXX bit of a hack
+ result = optparse.TitledHelpFormatter.format_usage(self, usage)
+ if self.extra_useage is not None:
+ return result + "\n" + self.extra_useage + "\n\n"
+ return result
+
+
class ConfigUpdate(object):
@@ -492,7 +501,7 @@
def to_optparse(config, useoptions=None, parser=None,
- parserargs=None, parserkwargs=None):
+ parserargs=None, parserkwargs=None, extra_useage=None):
grps = {}
def get_group(name, doc):
steps = name.split('.')
@@ -509,8 +518,10 @@
parserargs = []
if parserkwargs is None:
parserkwargs = {}
+ formatter = OptHelpFormatter()
+ formatter.extra_useage = extra_useage
parser = optparse.OptionParser(
- formatter=OptHelpFormatter(),
+ formatter=formatter,
*parserargs, **parserkwargs)
if useoptions is None:
useoptions = config.getpaths(include_groups=True)
Modified: pypy/branch/ast-experiments/pypy/config/makerestdoc.py
==============================================================================
--- pypy/branch/ast-experiments/pypy/config/makerestdoc.py (original)
+++ pypy/branch/ast-experiments/pypy/config/makerestdoc.py Mon Feb 26 08:45:45 2007
@@ -1,19 +1,27 @@
import py
from py.__.rest.rst import Rest, Paragraph, Strong, ListItem, Title, Link
-from py.__.rest.rst import Directive
+from py.__.rest.rst import Directive, Em, Quote, Text
from pypy.config.config import ChoiceOption, BoolOption, StrOption, IntOption
from pypy.config.config import FloatOption, OptionDescription, Option, Config
from pypy.config.config import ArbitraryOption, DEFAULT_OPTION_NAME
from pypy.config.config import _getnegation
+configdocdir = py.magic.autopath().dirpath().dirpath().join("doc", "config")
+
def get_fullpath(opt, path):
if path:
return "%s.%s" % (path, opt._name)
else:
return opt._name
-
+
+def get_cmdline(cmdline, fullpath):
+ if cmdline is DEFAULT_OPTION_NAME:
+ return '--%s' % (fullpath.replace('.', '-'),)
+ else:
+ return cmdline
+
class __extend__(Option):
def make_rest_doc(self, path=""):
@@ -26,10 +34,7 @@
ListItem(Strong("name:"), self._name),
ListItem(Strong("description:"), self.doc))
if self.cmdline is not None:
- if self.cmdline is DEFAULT_OPTION_NAME:
- cmdline = '--%s' % (fullpath.replace('.', '-'),)
- else:
- cmdline = self.cmdline
+ cmdline = get_cmdline(self.cmdline, fullpath)
result.add(ListItem(Strong("command-line:"), cmdline))
return result
@@ -140,15 +145,64 @@
stack = []
prefix = fullpath
curr = content
- for subpath in self.getpaths(include_groups=True):
- subpath = fullpath + "." + subpath
+ config = Config(self)
+ for ending in self.getpaths(include_groups=True):
+ subpath = fullpath + "." + ending
while not (subpath.startswith(prefix) and
subpath[len(prefix)] == "."):
curr, prefix = stack.pop()
- print subpath, fullpath, curr
- new = curr.add(ListItem(Link(subpath, subpath + ".html")))
+ print subpath, fullpath, ending, curr
+ sub, step = config._cfgimpl_get_home_by_path(ending)
+ doc = getattr(sub._cfgimpl_descr, step).doc
+ if doc:
+ new = curr.add(ListItem(Link(subpath + ":", subpath + ".html"),
+ Em(doc)))
+ else:
+ new = curr.add(ListItem(Link(subpath + ":", subpath + ".html")))
stack.append((curr, prefix))
prefix = subpath
curr = new
return content
+
+def _get_section_header(cmdline, fullpath, subdescr):
+ # XXX: pypy specific hack
+ txtfile = configdocdir.join(fullpath + ".txt")
+ print txtfile,
+ if not txtfile.check():
+ print "not found"
+ return ""
+ print "found"
+ content = txtfile.read()
+ if ".. internal" in content:
+ return "Internal Options"
+ return ""
+
+def make_cmdline_overview(descr):
+ content = Rest(
+ Title("Overwiew of Command Line Options for '%s'" % (descr._name, ),
+ abovechar="=", belowchar="="))
+ cmdlines = []
+ config = Config(descr)
+ for path in config.getpaths(include_groups=False):
+ subconf, step = config._cfgimpl_get_home_by_path(path)
+ fullpath = (descr._name + "." + path)
+ prefix = fullpath.rsplit(".", 1)[0]
+ subdescr = getattr(subconf._cfgimpl_descr, step)
+ cmdline = get_cmdline(subdescr.cmdline, fullpath)
+ if cmdline is not None:
+ header = _get_section_header(cmdline, fullpath, subdescr)
+ cmdlines.append((header, cmdline, fullpath, subdescr))
+ cmdlines.sort(key=lambda x: (x[0], x[1].strip("-")))
+ currheader = ""
+ curr = content
+ for header, cmdline, fullpath, subdescr in cmdlines:
+ if header != currheader:
+ content.add(Title(header, abovechar="", belowchar="="))
+ curr = content.add(Paragraph())
+ currheader = header
+ curr.add(ListItem(Link(cmdline + ":", fullpath + ".html"),
+ Text(subdescr.doc)))
+ return content
+
+
Modified: pypy/branch/ast-experiments/pypy/config/pypyoption.py
==============================================================================
--- pypy/branch/ast-experiments/pypy/config/pypyoption.py (original)
+++ pypy/branch/ast-experiments/pypy/config/pypyoption.py Mon Feb 26 08:45:45 2007
@@ -23,20 +23,17 @@
working_modules = default_modules.copy()
working_modules.update(dict.fromkeys(
- ["rsocket", "unicodedata", "mmap", "fcntl", "rctime", "select", "bz2",
+ ["rsocket", "unicodedata", "mmap", "fcntl", "rctime", "select",
"crypt", "signal", "dyngram",
]
))
-if platform.machine() == "x86_64" and sys.maxint != 2147483647:
- del working_modules['bz2'] # not 64 bit ready
-
module_dependencies = { }
if os.name == "posix":
module_dependencies['rctime'] = [("objspace.usemodules.select", True),]
-
-pypy_optiondescription = OptionDescription("objspace", "Object Space Option", [
+
+pypy_optiondescription = OptionDescription("objspace", "Object Space Options", [
ChoiceOption("name", "Object Space name",
["std", "flow", "logic", "thunk", "cpy", "dump", "taint"],
"std",
@@ -49,11 +46,11 @@
},
cmdline='--objspace -o'),
- ChoiceOption("parser", "parser",
+ ChoiceOption("parser", "which parser to use for app-level code",
["pypy", "cpython"], "pypy",
cmdline='--parser'),
- ChoiceOption("compiler", "compiler",
+ ChoiceOption("compiler", "which compiler to use for app-level code",
["cpython", "ast"], "ast",
cmdline='--compiler'),
@@ -106,7 +103,7 @@
default=False,
requires=[("translation.gc", "boehm")]),
- BoolOption("withprebuiltint", "prebuilt commonly used int objects",
+ BoolOption("withprebuiltint", "prebuild commonly used int objects",
default=False,
requires=[("objspace.std.withsmallint", False)]),
@@ -145,7 +142,7 @@
BoolOption("withrangelist",
"enable special range list implementation that does not "
"actually create the full list until the resulting "
- "list is mutaged",
+ "list is mutated",
default=False),
BoolOption("withtypeversion",
@@ -160,7 +157,7 @@
requires=[("objspace.std.withmultidict", True),
("objspace.std.withtypeversion", True)]),
BoolOption("withmethodcache",
- "try to cache methods",
+ "try to cache method lookups",
default=False,
requires=[("objspace.std.withshadowtracking", True)]),
BoolOption("withmethodcachecounter",
@@ -207,15 +204,15 @@
],
cmdline="--faassen", negation=False),
- BoolOption("llvmallopts",
- "enable all optimizations, and use llvm compiled via C",
- default=False,
- requires=[("objspace.std.allopts", True),
- ("translation.llvm_via_c", True),
- ("translation.backend", "llvm")],
- cmdline="--llvm-faassen", negation=False),
+## BoolOption("llvmallopts",
+## "enable all optimizations, and use llvm compiled via C",
+## default=False,
+## requires=[("objspace.std.allopts", True),
+## ("translation.llvm_via_c", True),
+## ("translation.backend", "llvm")],
+## cmdline="--llvm-faassen", negation=False),
]),
- BoolOption("lowmem", "Try to use little memory during translation",
+ BoolOption("lowmem", "Try to use less memory during translation",
default=False, cmdline="--lowmem",
requires=[("objspace.geninterp", False)]),
Modified: pypy/branch/ast-experiments/pypy/config/test/test_makerestdoc.py
==============================================================================
--- pypy/branch/ast-experiments/pypy/config/test/test_makerestdoc.py (original)
+++ pypy/branch/ast-experiments/pypy/config/test/test_makerestdoc.py Mon Feb 26 08:45:45 2007
@@ -1,5 +1,5 @@
from pypy.config.config import *
-import pypy.config.makerestdoc
+from pypy.config.makerestdoc import make_cmdline_overview
from py.__.doc.conftest import restcheck
@@ -14,14 +14,16 @@
def generate_html(descr):
config = Config(descr)
txt = descr.make_rest_doc().text()
- checkrest(txt, descr._name + ".txt")
+
+ result = {"": checkrest(txt, descr._name + ".txt")}
for path in config.getpaths(include_groups=True):
subconf, step = config._cfgimpl_get_home_by_path(path)
fullpath = (descr._name + "." + path)
prefix = fullpath.rsplit(".", 1)[0]
txt = getattr(subconf._cfgimpl_descr, step).make_rest_doc(
prefix).text()
- checkrest(txt, fullpath + ".txt")
+ result[path] = checkrest(txt, fullpath + ".txt")
+ return result
def test_simple():
descr = OptionDescription("foo", "doc", [
@@ -60,6 +62,22 @@
requires=[("a0.bar", "c"), ("a0.B2", True)]),
ChoiceOption("bar", "more doc", ["a", "b", "c"],
default="a")])
- generate_html(descr)
-
+ result = generate_html(descr)
+ assert "more doc" in result[""]
+def test_cmdline_overview():
+ descr = OptionDescription("foo", "doc", [
+ ChoiceOption("bar", "more doc", ["a", "b", "c"]),
+ OptionDescription("sub", "nope", [
+ ChoiceOption("subbar", "", ["d", "f"]),
+ BoolOption("boolean", "this is a boolean", default=False,
+ cmdline="-b --with-b")
+ ]),
+ StrOption("str", "string option!", default="strange"),
+ IntOption("int", "integer option", default=42),
+ FloatOption("float", "float option", default=py.std.math.pi),
+ ArbitraryOption("surprise", "special", defaultfactory=int),
+ ])
+ generate_html(descr)
+ c = make_cmdline_overview(descr)
+ checkrest(c.text(), "index.txt")
Modified: pypy/branch/ast-experiments/pypy/config/translationoption.py
==============================================================================
--- pypy/branch/ast-experiments/pypy/config/translationoption.py (original)
+++ pypy/branch/ast-experiments/pypy/config/translationoption.py Mon Feb 26 08:45:45 2007
@@ -11,7 +11,7 @@
translation_optiondescription = OptionDescription(
"translation", "Translation Options", [
- BoolOption("stackless", "compile stackless features in",
+ BoolOption("stackless", "enable stackless features during compilation",
default=False, cmdline="--stackless",
requires=[("translation.type_system", "lltype")]),
ChoiceOption("type_system", "Type system to use when RTyping",
@@ -30,7 +30,7 @@
"cl": [("translation.type_system", "ootype")],
},
cmdline="-b --backend"),
- BoolOption("llvm_via_c", "compile llvm bytecode via C",
+ BoolOption("llvm_via_c", "compile llvm via C",
default=False, cmdline="--llvm-via-c",
requires=[("translation.backend", "llvm")]),
ChoiceOption("gc", "Garbage Collection Strategy",
@@ -53,19 +53,16 @@
cmdline=None),
# misc
- StrOption("cc", "Specify compiler", cmdline="--cc"),
+ StrOption("cc", "Specify compiler to use for compiling generated C", cmdline="--cc"),
StrOption("profopt", "Specify profile based optimization script",
cmdline="--profopt"),
- BoolOption("debug_transform", "Perform the debug transformation",
- default=False, cmdline="--debug-transform", negation=False),
-
BoolOption("instrument", "internal: turn instrumentation on",
default=False, cmdline=None),
ArbitraryOption("instrumentctl", "internal",
- default=None),
+ default=None),
StrOption("output", "Output file name", cmdline="--output"),
-
+
# portability options
BoolOption("vanilla",
"Try to be as portable as possible, which is not much",
@@ -75,16 +72,23 @@
BoolOption("no__thread",
"don't use __thread for implementing TLS",
default=False, cmdline="--no__thread", negation=False),
- StrOption("compilerflags", "Specify flags for the compiler",
+ StrOption("compilerflags", "Specify flags for the C compiler",
cmdline="--cflags"),
- StrOption("linkerflags", "Specify flags for the linker",
+ StrOption("linkerflags", "Specify flags for the linker (C backend only)",
cmdline="--ldflags"),
# Flags of the TranslationContext:
BoolOption("simplifying", "Simplify flow graphs", default=True),
- BoolOption("builtins_can_raise_exceptions", "XXX", default=False,
+ BoolOption("builtins_can_raise_exceptions",
+ "When true, assume any call to a 'simple' builtin such as "
+ "'hex' can raise an arbitrary exception",
+ default=False,
cmdline=None),
- BoolOption("list_comprehension_operations", "XXX", default=False,
+ BoolOption("list_comprehension_operations",
+ "When true, look for and special-case the sequence of "
+ "operations that results from a list comprehension and "
+ "attempt to pre-allocate the list",
+ default=False,
cmdline=None),
ChoiceOption("fork_before",
"(UNIX) Create restartable checkpoint before step",
@@ -102,13 +106,15 @@
"for inlining",
default="pypy.translator.backendopt.inline.inlining_heuristic",
cmdline="--inline-heuristic"),
-
+
BoolOption("print_statistics", "Print statistics while optimizing",
default=False),
BoolOption("merge_if_blocks", "Merge if ... elif chains",
cmdline="--if-block-merge", default=True),
BoolOption("raisingop2direct_call",
- "Transform exception raising operations",
+ "Transform operations that can implicitly raise an "
+ "exception into calls to functions that explicitly "
+ "raise exceptions",
default=False, cmdline="--raisingop2direct_call"),
BoolOption("mallocs", "Remove mallocs", default=True),
BoolOption("constfold", "Constant propagation",
@@ -133,7 +139,7 @@
cmdline="--prof-based-inline-heuristic"),
# control clever malloc removal
BoolOption("clever_malloc_removal",
- "Drives inlining to remove mallocs in a clever way",
+ "Drives inlining to remove mallocs in a clever way",
default=False,
cmdline="--clever-malloc-removal"),
FloatOption("clever_malloc_removal_threshold",
@@ -148,8 +154,9 @@
cmdline="--clever-malloc-removal-heuristic"),
BoolOption("remove_asserts",
- "Kill 'raise AssertionError', which lets the C "
- "optimizer remove the asserts", default=False),
+ "Remove operations that look like 'raise AssertionError', "
+ "which lets the C optimizer remove the asserts",
+ default=False),
]),
OptionDescription("cli", "GenCLI options", [
Modified: pypy/branch/ast-experiments/pypy/conftest.py
==============================================================================
--- pypy/branch/ast-experiments/pypy/conftest.py (original)
+++ pypy/branch/ast-experiments/pypy/conftest.py Mon Feb 26 08:45:45 2007
@@ -8,10 +8,11 @@
rootdir = py.magic.autopath().dirpath()
+# distributed testing settings
dist_rsync_roots = ['.', '../lib-python', '../py', '../demo']
dist_rsync_ignore = ['_cache']
-#
+#
# PyPy's command line extra options (these are added
# to py.test's standard options)
#
Modified: pypy/branch/ast-experiments/pypy/doc/_ref.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/_ref.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/_ref.txt Mon Feb 26 08:45:45 2007
@@ -11,6 +11,7 @@
.. _`bin/`: ../../pypy/bin
.. _`config/`: ../../pypy/config
.. _`doc/`: ../../pypy/doc
+.. _`doc/config/`: ../../pypy/doc/config
.. _`doc/discussion/`: ../../pypy/doc/discussion
.. _`interpreter/`:
.. _`pypy/interpreter`: ../../pypy/interpreter
@@ -32,6 +33,7 @@
.. _`jit/`: ../../pypy/jit
.. _`jit/codegen/`: ../../pypy/jit/codegen
.. _`pypy/jit/codegen/model.py`: ../../pypy/jit/codegen/model.py
+.. _`jit/goal/`: ../../pypy/jit/goal
.. _`jit/hintannotator/`: ../../pypy/jit/hintannotator
.. _`jit/timeshifter/`: ../../pypy/jit/timeshifter
.. _`pypy/jit/timeshifter/rvalue.py`: ../../pypy/jit/timeshifter/rvalue.py
@@ -41,8 +43,9 @@
.. _`lang/prolog/`: ../../pypy/lang/prolog
.. _`lib/`:
.. _`pypy/lib/`: ../../pypy/lib
+.. _`lib/app_test/`: ../../pypy/lib/app_test
+.. _`lib/distributed/`: ../../pypy/lib/distributed
.. _`pypy/lib/stackless.py`: ../../pypy/lib/stackless.py
-.. _`lib/test2/`:
.. _`pypy/lib/test2`: ../../pypy/lib/test2
.. _`module/`:
.. _`pypy/module`:
@@ -56,6 +59,7 @@
.. _`pypy/module/readline`: ../../pypy/module/readline
.. _`objspace/`:
.. _`pypy/objspace`: ../../pypy/objspace
+.. _`objspace/cpy/`:
.. _`pypy/objspace/cpy`: ../../pypy/objspace/cpy
.. _`objspace/dump.py`: ../../pypy/objspace/dump.py
.. _`objspace/flow/`: ../../pypy/objspace/flow
@@ -69,7 +73,6 @@
.. _`pypy/objspace/trace.py`: ../../pypy/objspace/trace.py
.. _`pypy/rlib`:
.. _`rlib/`: ../../pypy/rlib
-.. _`pypy/rlib/objectmodel.py`: ../../pypy/rlib/objectmodel.py
.. _`pypy/rlib/rarithmetic.py`: ../../pypy/rlib/rarithmetic.py
.. _`pypy/rlib/rctypes/rctypesobject.py`: ../../pypy/rlib/rctypes/rctypesobject.py
.. _`pypy/rlib/rctypes/test/test_rctypesobject.py`: ../../pypy/rlib/rctypes/test/test_rctypesobject.py
@@ -83,10 +86,6 @@
.. _`pypy/rpython/lltypesystem/lltype.py`:
.. _`rpython/lltypesystem/lltype.py`: ../../pypy/rpython/lltypesystem/lltype.py
.. _`rpython/memory/`: ../../pypy/rpython/memory
-.. _`pypy/rpython/memory/gc.py`: ../../pypy/rpython/memory/gc.py
-.. _`pypy/rpython/memory/lladdress.py`: ../../pypy/rpython/memory/lladdress.py
-.. _`pypy/rpython/memory/simulator.py`: ../../pypy/rpython/memory/simulator.py
-.. _`pypy/rpython/memory/support.py`: ../../pypy/rpython/memory/support.py
.. _`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
@@ -102,7 +101,6 @@
.. _`tool/`: ../../pypy/tool
.. _`tool/algo/`: ../../pypy/tool/algo
.. _`tool/pytest/`: ../../pypy/tool/pytest
-.. _`tool/tb_server/`: ../../pypy/tool/tb_server
.. _`pypy/translator`:
.. _`translator/`: ../../pypy/translator
.. _`translator/backendopt/`: ../../pypy/translator/backendopt
@@ -114,6 +112,7 @@
.. _`translator/cli/`: ../../pypy/translator/cli
.. _`translator/goal/`: ../../pypy/translator/goal
.. _`pypy/translator/goal/targetnopstandalone.py`: ../../pypy/translator/goal/targetnopstandalone.py
+.. _`pypy/translator/goal/targetprologstandalone.py`: ../../pypy/translator/goal/targetprologstandalone.py
.. _`translator/js/`: ../../pypy/translator/js
.. _`translator/jvm/`: ../../pypy/translator/jvm
.. _`translator/lisp/`: ../../pypy/translator/lisp
Modified: pypy/branch/ast-experiments/pypy/doc/architecture.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/architecture.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/architecture.txt Mon Feb 26 08:45:45 2007
@@ -20,6 +20,10 @@
Eventually, dynamic optimization techniques - implemented as another
translation aspect - should become robust against language changes.
+As part of this process, we ended up developing a general
+framework for implementing dynamic languages and generating
+virtual machines for them `[VMC]_`. As proof of concepts, we
+have a Prolog and an in-progress JavaScript interpreter.
PyPy - an implementation of Python in Python
============================================
@@ -70,19 +74,28 @@
details. (Because of the nature of Python, this is already a
complicated task, although not as much as writing it in - say - C.)
Then we use this as a "language specification" and manipulate it to
-produce the more traditional interpreters that we want. In the above
-sense, we are generating the concrete "mappings" of Python into
-lower-level target platforms.
-
-So far (autumn 2005), we have already succeeded in turning this "language
-specification" into reasonably efficient C-level code that performs
-basically the same job as CPython. Memory management is inserted during
-this *translation* process. It can be configured to use reference
-counting or not; thus we have already achieved two very different
-mappings of application Python code over C/Posix. We have
-successfully also translated our Python interpreter into LLVM_ code,
-and we are working on targeting higher-level environments like
-Java and Squeak.
+produce the more traditional interpreters that we want. In other words,
+we are generating concrete interpreters, all able to execute normal
+Python code, but themselves running on a variety of lower-level
+target platforms.
+
+So far (early 2007), we have already succeeded in turning this
+"language specification" into reasonably efficient C-level
+code that performs basically the same job as CPython (either
+by generating C source, or via LLVM_). We can also generate a
+Python interpreter for .NET, and a Java (JVM) version is on
+its way.
+
+In addition to the platform diversity, we can generate very
+diverse interpreters for each platform. Some of these
+differences come from the inclusion of optional language
+features or optimizations; but more fundamentally, and
+particularly when targetting C-level environments, many
+low-level details are inserted during this *translation*
+process - for example, memory management: the generated code
+can use the Boehm garbage collector, our custom collectors, or
+a simple reference counting scheme. These are all different
+concrete realisations of our "language specification".
In some senses, PyPy project's central component is not its
interpreter implementation, but its configurable translator.
@@ -180,11 +193,13 @@
target platform;
- the *code generator* which translates the resulting flow graph into
- another language, currently C, LLVM_, Javascript (experimental).
+ another language, currently C, LLVM_, .NET, Javascript (in-progress)
+ or Java (JVM - in-progress).
-A more complete description of the phases of this process is out of the
-scope of the present introduction. We will only give in the sequel a
-short overview.
+A more complete description of the phases of this process is
+out of the scope of the present introduction. For more
+details, see the `translation document`_. We will only give a
+short overview in the sequel.
.. _`initialization time`:
@@ -241,45 +256,25 @@
.. image:: image/translation-greyscale-small.png
-The complete translation process is described in more details in the
-`translation document`_. You might also be interested in reading the
-more theoretically-oriented paper `Compiling dynamic language
-implementations`_.
-
-Status of the implementation (June 2006)
-==========================================
-
-The work leading up to the pypy-0.9.0 release has concentrated on the
-features of the translation.
-
-We can now produce a pypy-c that `has the majority of the features`_
-of `Stackless Python`_. We have integrated the mark and sweep garbage
-collector written in RPython by Carl Friedrich as part of Google's
-Summer of Code 2005 with the translation machinery, and can produce a
-pypy-c that uses it for memory management.
-
-.. _`has the majority of the features`: stackless.html
-.. _`Stackless Python`: http://www.stackless.com/
-
-The self-contained PyPy version (single-threaded and using the
-`Boehm-Demers-Weiser garbage collector`_) now runs around 4-5 times
-slower than CPython, i.e. around 3 times faster than 0.8.0.
-
-We have improved our CPython compatibility still further, and now pass
-around 95% of CPython's core tests, the main improvement over 0.8.0
-being the implementation of the _weakref module.
-
-Our rather complete and Python 2.4-compliant interpreter consists
-of about 30,000-50,000 lines of code (depending on the way you
-count code borrowed and adapted from other sources), with
-another 14,000 lines of unit tests. If we include the tools,
-the parts related to code analysis and generation, and the
-standard library modules ported from C, PyPy is now 230,000
-lines of code including 62,000 lines of tests. Refer to
-the `statistics web page`_ for more detailed information.
+
+Further reading
+===============
+
+* `[VMC]`_ PyPy's approach to virtual machine construction
+ (Dynamic Languages Symposium 2006).
+
+* The `translation document`_ describes our translation process in detail.
+ You might also be interested in reading the more
+ theoretically-oriented paper `Compiling dynamic language
+ implementations`_.
+
+* All our `Technical reports`_.
+
+* `Getting started`_ with PyPy.
+
.. _`statistics web page`: http://codespeak.net/~hpk/pypy-stat/
-.. _`very compliant`: http://codespeak.net/~hpk/pypy-testresult/
+.. _`very compliant`: http://www2.openend.se/~pedronis/pypy-c-test/allworkingmodules/summary.html
.. _`Boehm-Demers-Weiser garbage collector`: http://www.hpl.hp.com/personal/Hans_Boehm/gc/
.. _`RPython`: coding-guide.html#rpython
.. _`abstract interpretation`: theory.html#abstract-interpretation
@@ -288,6 +283,8 @@
.. _LLVM: http://llvm.org/
.. _`PDF color version`: image/translation.pdf
.. _`getting started`: getting-started.html
+.. _`[VMC]`: http://codespeak.net/svn/pypy/extradoc/talk/dls2006/pypy-vm-construction.pdf
+.. _`Technical reports`: index-report.html
.. include:: _ref.txt
Modified: pypy/branch/ast-experiments/pypy/doc/cleanup-todo.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/cleanup-todo.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/cleanup-todo.txt Mon Feb 26 08:45:45 2007
@@ -19,3 +19,4 @@
- review the things implemented at applevel whether they are performance-
critical
+
Modified: pypy/branch/ast-experiments/pypy/doc/cli-backend.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/cli-backend.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/cli-backend.txt Mon Feb 26 08:45:45 2007
@@ -427,5 +427,5 @@
.. _`Standard Ecma 335`: http://www.ecma-international.org/publications/standards/Ecma-335.htm
-.. _`flow graph`: http://codespeak.net/pypy/dist/pypy/doc/translation.html#the-flow-model
-.. _`rtyper`: http://codespeak.net/pypy/dist/pypy/doc/rtyper.html
+.. _`flow graph`: translation.html#the-flow-model
+.. _`rtyper`: rtyper.html
Modified: pypy/branch/ast-experiments/pypy/doc/coding-guide.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/coding-guide.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/coding-guide.txt Mon Feb 26 08:45:45 2007
@@ -686,9 +686,12 @@
Only specified names will be exported to a Mixed Module's applevel
namespace.
-Sometimes it is neccessary to really write some functions in C (or whatever
-target language). See the `external functions documentation`_ for details.
+Sometimes it is necessary to really write some functions in C (or
+whatever target language). See `rctypes`_ and `external functions
+documentation`_ for details. The latter approach is cumbersome and
+being phased out and former has currently quite a few rough edges.
+.. _`rctypes`: rctypes.html
.. _`external functions documentation`: translation.html#extfunccalls
application level definitions
Modified: pypy/branch/ast-experiments/pypy/doc/config/confrest.py
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/confrest.py (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/confrest.py Mon Feb 26 08:45:45 2007
@@ -1,5 +1,5 @@
from pypy.doc.confrest import *
-import pypy.config.makerestdoc
+from pypy.config.makerestdoc import make_cmdline_overview
from pypy.config.config import Config
from pypy.config import pypyoption, translationoption
@@ -16,10 +16,10 @@
self.menubar[:] = html.div(
html.a("general documentation", href="../index.html",
class_="menu"), " ",
- html.a("translation options", href="translation.html",
- class_="menu"),
- html.a("standard interpreter options", href="objspace.html",
- class_="menu"),
+ html.a("config index", href="index.html",
+ class_="menu"), " ",
+ html.a("command-line overview", href="commandline.html",
+ class_="menu"), " ",
" ", id="menubar")
class Project(Project):
@@ -29,10 +29,20 @@
Page = PyPyPage
def get_content(self, txtpath, encoding):
+ if txtpath.basename == "commandline.txt":
+ result = [".. contents::"]
+ for descr in all_optiondescrs:
+ result.append(".. %s_:\n" % (descr._name, ))
+ result.append(make_cmdline_overview(descr).text())
+ result.append("")
+ result.append(txtpath.read())
+ return "\n".join(result)
fullpath = txtpath.purebasename
start = fullpath.split(".")[0]
path = fullpath.rsplit(".", 1)[0]
- basedescr = start_to_descr[start]
+ basedescr = start_to_descr.get(start)
+ if basedescr is None:
+ return txtpath.read()
if fullpath.count(".") == 0:
descr = basedescr
path = ""
@@ -43,6 +53,9 @@
descr = getattr(subconf._cfgimpl_descr, step)
text = unicode(descr.make_rest_doc(path).text())
if txtpath.check(file=True):
- return u"%s\n\n%s" % (text, unicode(txtpath.read(), encoding))
+ content = txtpath.read()
+ if content:
+ text += "\nDescription\n==========="
+ return u"%s\n\n%s" % (text, unicode(txtpath.read(), encoding))
return text
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.allworkingmodules.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.allworkingmodules.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.allworkingmodules.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,2 @@
This option enables the usage of all modules that are known to be working well
-and that translate without problem.
+and that translate without problems.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.compiler.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.compiler.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.compiler.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Internal option.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.logbytecodes.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.logbytecodes.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.logbytecodes.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Internal option.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.lowmem.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.lowmem.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.lowmem.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,4 @@
+Try to use as little memory as possible *during translation*. Currently only
+disables :config:`objspace.geninterp` which also makes the resulting binary
+slower.
+
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.name.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.name.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.name.txt Mon Feb 26 08:45:45 2007
@@ -1,12 +1,13 @@
-Which `Object Space`_ to use. The `Standard Object Space`_ gives the
+Determine which `Object Space`_ to use. The `Standard Object Space`_ gives the
normal Python semantics, the others are `Object Space Proxies`_ giving
additional features (except the Flow Object Space which is not intended
for normal usage):
- * thunk_: adds lazy evaluation to Python
- * logic_: logical programming features
- * taint_: soft security
- * dump_: dump all operations to a log
+ * thunk_: The thunk object space adds lazy evaluation to PyPy.
+ * logic_: The logic object space contains logical programming features.
+ * taint_: The taint object space adds soft security features.
+ * dump_: Using this object spaces results in the dumpimp of all operations
+ to a log.
.. _`Object Space`: ../objspace.html
.. _`Object Space Proxies`: ../objspace-proxies.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.nofaking.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.nofaking.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.nofaking.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,7 @@
+This options prevents the automagic borrowing of implementations of
+modules and types not present in PyPy from CPython.
+
+As such, it is required when translating, as then there is no CPython
+to borrow from. For running py.py it is useful for testing the
+implementation of modules like "posix", but it makes everything even
+slower than it is already.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.opcodes.CALL_LIKELY_BUILTIN.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.opcodes.CALL_LIKELY_BUILTIN.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.opcodes.CALL_LIKELY_BUILTIN.txt Mon Feb 26 08:45:45 2007
@@ -1,7 +1,7 @@
Introduce a new opcode called ``CALL_LIKELY_BUILTIN``. It is used when something
is called, that looks like a builtin function (but could in reality be shadowed
-by something in the module globals). For all module globals dictionaries it is
-then tracked, which builtin name is shadowed in this module. If the
+by a name in the module globals). For all module globals dictionaries it is
+then tracked which builtin name is shadowed in this module. If the
``CALL_LIKELY_BUILTIN`` opcode is executed, it is checked whether the builtin is
shadowed. If not, the corresponding builtin is called. Otherwise the object that
is shadowing it is called instead. If no shadowing is happening, this saves two
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.opcodes.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.opcodes.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.opcodes.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+.. intentionally empty
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.parser.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.parser.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.parser.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Internal option.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.methodcachesize.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.methodcachesize.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.methodcachesize.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+Set the cache size (number of entries) for :config:`objspace.std.withmethodcache`.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.optimized_int_add.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.optimized_int_add.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.optimized_int_add.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,2 @@
+Optimize the addition of two integers a bit. Enabling this option gives small
+speedups.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.prebuiltintfrom.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.prebuiltintfrom.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.prebuiltintfrom.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+see :config:`objspace.std.withprebuiltint`.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.prebuiltintto.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.prebuiltintto.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.prebuiltintto.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+See :config:`objspace.std.withprebuiltint`.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+.. intentionally empty
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withdictmeasurement.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withdictmeasurement.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withdictmeasurement.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Internal option.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withfastslice.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withfastslice.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withfastslice.txt Mon Feb 26 08:45:45 2007
@@ -1,5 +1,7 @@
-A variant of multilists_ that makes list slicing copy the list lazily (that is
-only when the original list or the slice are mutated.
+A variant of :config:`objspace.std.withmultilist` that makes list slicing copy
+the list lazily (that is only when the original list or the slice are mutated).
+This is not perfectly well tested.
+See the description of `object reimplementations`_ for more details.
-.. _multilists: objspace.std.withmultilist.html
+.. _`object reimplementations`: ../object-optimizations.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmethodcache.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmethodcache.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmethodcache.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Enable method caching. See the section "Method Caching" in `Alternative object
+implementations in the PyPy standard interpreter
+<../object-optimizations.html#method-caching>`__.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmethodcachecounter.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmethodcachecounter.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmethodcachecounter.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+Testing/debug option for :config:`objspace.std.withmethodcache`.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmultidict.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmultidict.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmultidict.txt Mon Feb 26 08:45:45 2007
@@ -1,13 +1,8 @@
This enables "multidicts". They are a different implementation of the Python
-``dict`` type, indistinguishable for the normal user (when using multidicts, the
-normal implementation is not used at all). When the multidict implementation is
-used, a dictionary can change its internal representation over its lifetime. It
-starts with an "empty" representation (that can represent only empty dicts). If
-a few keys are added, it changes its representation to a "small" one (that is
-optimized for small dicts). As long as only string keys are added, a
-representation optimized for string keys is used. Since this case is extremely
-common in Python, this makes multidicts a good deal faster than the regular
-dictionary implementation.
+``dict`` type, indistinguishable for the normal user (when using multidicts,
+the normal implementation is not used at all). The flexibility of multidicts
+is used by a couple of other, even more advanced object implementations.
-The flexibility of multidicts is used by a couple of other, even more advanced
-object implementations.
+See the description of `object reimplementations`_ for more details.
+
+.. _`object reimplementations`: ../object-optimizations.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmultilist.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmultilist.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withmultilist.txt Mon Feb 26 08:45:45 2007
@@ -1,11 +1,8 @@
This enables "multilists". They are a different implementation of the Python
``list`` type, indistinguishable for the normal user (when using multilists, the
-normal implementation is not used at all). When the multilist implementation is
-used, a list can change its internal representation over its lifetime. If a list
-contains only strings, for example, the strings are stored directly without
-their wrapper (which gives a memory benefit on large lists).
+normal implementation is not used at all).
-Another special representation of lists that multilists support is the "range
-list", which is basically equivalent to what `objspace.std.withrangelist`_ does.
+See the page about `object reimplementations`_ for more details.
+
+.. _`object reimplementations`: ../object-optimizations.html
-.. _`objspace.std.withrangelist`: objspace.std.withrangelist.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withprebuiltint.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withprebuiltint.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withprebuiltint.txt Mon Feb 26 08:45:45 2007
@@ -1,6 +1,5 @@
This option enables the caching of small integer objects (similar to what
-CPython does). The range of which integers are cached can be influenced with the
-`objspace.std.prebuiltintfrom`_ and `objspace.std.prebuiltintto`_ options.
+CPython does). The range of which integers are cached can be influenced with
+the :config:`objspace.std.prebuiltintfrom` and
+:config:`objspace.std.prebuiltintto` options.
-.. _`objspace.std.prebuiltintfrom`: objspace.std.prebuiltintfrom.html
-.. _`objspace.std.prebuiltintto`: objspace.std.prebuiltintto.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withrangelist.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withrangelist.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withrangelist.txt Mon Feb 26 08:45:45 2007
@@ -4,3 +4,8 @@
mutated (and for example only iterated over), it uses only enough memory to
store the start, stop and step of the range. This makes using ``range`` as
efficient as ``xrange``, as long as the result is only used in a ``for``-loop.
+
+See the page about `object reimplementations`_ for more details.
+
+.. _`object reimplementations`: ../object-optimizations.html
+
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withsharingdict.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withsharingdict.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withsharingdict.txt Mon Feb 26 08:45:45 2007
@@ -1,13 +1,6 @@
-Enable "sharing dictionaries". They are a special dict representation used
-together with `multidicts`_. This dict representation is used only for instance
-dictionaries and tries to make instance dictionaries use less memory (in fact,
-in the ideal case the memory behaviour should be mostly like that of using
-__slots__).
+Enable "sharing dictionaries".
-The idea is the following: Most instances of the same class have very similar
-attributes. Therefore all the instance dictionaries of these instances all store
-the same keys. To save memory, these common keys could be stored in a common
-place. This is exactly what "sharing dictionaries" are doing: only the values
-themselves are stored on the instance, the rest in a shared structure.
+See the page about `object optimizations`_ for more details.
+
+.. _`object optimizations`: ../object-optimizations.html
-.. _`multidicts`: objspace.std.withmultidict.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrdict.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrdict.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrdict.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+Obsolete. See :config:`objspace.std.withmultidict` instead.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrjoin.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrjoin.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrjoin.txt Mon Feb 26 08:45:45 2007
@@ -1,7 +1,7 @@
-Enable "string join" objects. They are a different implementation of the Python
-``str`` type, indistinguishable for the normal user. They represent the lazy
-addition of several strings without actually performing the addition (which
-involves copying etc.). When the actual value of the string join object is
-needed, the addition is performed. This makes it possible efficiently perform
-string additions in a loop without using the ``"".join(list_of_strings)``
-pattern.
+Enable "string join" objects.
+
+See the page about `object optimizations`_ for more details.
+
+.. _`object optimizations`: ../object-optimizations.html
+
+
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrslice.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrslice.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withstrslice.txt Mon Feb 26 08:45:45 2007
@@ -1,8 +1,7 @@
-Enable "string slice" objects. They are a different implementation of the Python
-``str`` type, indistinguishable for the normal user. They represent the lazy
-slicing of a string without actually performing the slicing (which involves
-copying). This is only done for slices of step one. When the actual value of
-the string slice object is needed, the slicing is done (although a lot of string
-methods don't make this necessary). This makes string slicing a very efficient
-operation. It also saves memory in some cases but can also lead to memory leaks,
-since the string slice retains a reference to the original string.
+Enable "string slice" objects.
+
+See the page about `object optimizations`_ for more details.
+
+.. _`object optimizations`: ../object-optimizations.html
+
+
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withtypeversion.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withtypeversion.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.std.withtypeversion.txt Mon Feb 26 08:45:45 2007
@@ -2,3 +2,5 @@
(only internally visible) version that is updated when the type's dict is
changed. This is e.g. used for invalidating caches. It does not make sense to
enable this option alone.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+.. intentionally empty
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._codecs.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._codecs.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._codecs.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,2 @@
Use the '_codecs' module.
-This module is expected to be working and is included by default.
+Used by the 'codecs' standard lib module. This module is expected to be working and is included by default.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._demo.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._demo.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._demo.txt Mon Feb 26 08:45:45 2007
@@ -1 +1,5 @@
Use the '_demo' module.
+
+This is the demo module for the `extension compiler`_. Not enabled by default.
+
+.. _`extension compiler`: ../extcompiler.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._file.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._file.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._file.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,4 @@
-Use the '_file' module.
-This module is essential, included by default and should not be removed.
+Use the '_file' module. It is an internal module that contains helper
+functionality for the builtin ``file`` type.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._pickle_support.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._pickle_support.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._pickle_support.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,6 @@
Use the '_pickle_support' module.
-This module is expected to be working and is included by default.
+Internal helpers for pickling runtime builtin types (frames, cells, etc)
+for `stackless`_ tasklet pickling support.
+.. _`stackless`: ../stackless.html
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._random.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._random.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._random.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,2 @@
-Use the '_random' module.
+Use the '_random' module. It is necessary to use the module "random" from the standard library.
This module is expected to be working and is included by default.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._stackless.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._stackless.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._stackless.txt Mon Feb 26 08:45:45 2007
@@ -1 +1,6 @@
Use the '_stackless' module.
+
+Exposes the `stackless` primitives, and also implies a stackless build.
+See also :config:`translation.stackless`.
+
+.. _`stackless`: ../stackless.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._weakref.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._weakref.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules._weakref.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,6 @@
-Use the '_weakref' module.
-This module is expected to be working and is included by default.
+Use the '_weakref' module, necessary for the standard lib 'weakref' module.
+PyPy's weakref implementation is not completely stable yet. The first
+difference to CPython is that weak references only go away after the next
+garbage collection, not immediately. The other problem seems to be that under
+certain circumstances (that we have not determined) weak references keep the
+object alive.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.bz2.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.bz2.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.bz2.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,3 @@
Use the 'bz2' module.
-This module is expected to be fully working.
+This module is working "sometimes". It fails to build on 64 bit machines and
+can have issues on 32 bit machines.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.posix.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.posix.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.posix.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,3 @@
-Use the 'posix' module.
-This module is essential, included by default and should not be removed.
+Use the essential 'posix' module.
+This module is essential, included by default and cannot be removed (even when
+specified explicitly, the option gets overriden later).
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.pypymagic.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.pypymagic.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.pypymagic.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,7 @@
Use the 'pypymagic' module.
This module is expected to be working and is included by default.
+It contains special (sometimes slightly magic) PyPy-specific functionality.
+For example most of the special functions described in the `object space proxies`
+document are in the module.
+
+.. _`object space proxy`: ../objspace-proxies.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.rctime.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.rctime.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.rctime.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,7 @@
Use the 'rctime' module.
-This module is expected to be fully working.
+
+'rctime' is our `rctypes`_ based implementation of the builtin 'time' module.
+It supersedes the less complete :config:`objspace.usemodules.time`,
+at least for C-like targets (the C and LLVM backends).
+
+.. _`rctypes`: ../rctypes.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.recparser.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.recparser.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.recparser.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,4 @@
Use the 'recparser' module.
-This module is expected to be working and is included by default.
+This is PyPy implementation of the standard library 'parser' module (e.g. if
+this option is enabled and you say ``import parser`` you get this module).
+It is enabled by default.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.rsocket.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.rsocket.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.rsocket.txt Mon Feb 26 08:45:45 2007
@@ -1,2 +1,7 @@
Use the 'rsocket' module.
-This module is expected to be fully working.
+
+This is our implementation of '_socket', the Python builtin module
+exposing socket primitives, which is wrapped and used by the standard
+library 'socket.py' module. 'rsocket' is based on `rctypes`_.
+
+.. _`rctypes`: ../rctypes.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.time.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.time.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.time.txt Mon Feb 26 08:45:45 2007
@@ -1 +1,4 @@
Use the 'time' module.
+
+Obsolete; use :config:`objspace.usemodules.rctime` for our up-to-date version
+of the application-level 'time' module.
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usemodules.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+.. intentionally empty
Modified: pypy/branch/ast-experiments/pypy/doc/config/objspace.usepycfiles.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/objspace.usepycfiles.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/objspace.usepycfiles.txt Mon Feb 26 08:45:45 2007
@@ -1,3 +1,4 @@
-Whether PyPy should import and generate "pyc" files. This is mostly always on,
+If this option is used, then PyPy imports and generates "pyc" files in the
+usual way. This is mostly always on,
except when using other options that lead to PyPy-specific bytecodes that should
not be cached on disk because they might confuse CPython.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backend.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backend.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backend.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Which backend to use when translating, see `translation documentation`.
+
+.. _`translation documentation`: ../translation.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,10 @@
+Try to inline flowgraphs based on whether doing so would enable malloc
+removal (:config:`translation.backendopt.mallocs`.) by eliminating
+calls that result in escaping. This is an experimental optimisation,
+also right now some eager inlining is necessary for helpers doing
+malloc itself to be inlined first for this to be effective.
+This option enable also an extra subsequent malloc removal phase.
+
+Callee flowgraphs are considered candidates based on a weight heuristic like
+for basic inlining. (see :config:`translation.backendopt.inline`,
+:config:`translation.backendopt.clever_malloc_removal_threshold` ).
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal_heuristic.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal_heuristic.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal_heuristic.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,4 @@
+Internal option. Switch to a different weight heuristic for inlining.
+This is for clever malloc removal (:config:`translation.backendopt.clever_malloc_removal`).
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal_threshold.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal_threshold.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.clever_malloc_removal_threshold.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,2 @@
+Weight threshold used to decide whether to inline flowgraphs.
+This is for clever malloc removal (:config:`translation.backendopt.clever_malloc_removal`).
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.constfold.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.constfold.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.constfold.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+Do constant folding of operations and constant propagation on flowgraphs.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.heap2stack.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.heap2stack.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.heap2stack.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,2 @@
+Experimental optimisation, not very tested nor used at the moment.
+
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,10 @@
+Inline flowgraphs based on an heuristic, the default one considers
+essentially the a weight for the flowgraph based on the number of
+low-level operations in them (see
+:config:`translation.backendopt.inline_threshold` ).
+
+Some amount of inlining in order to have RPython builtin type helpers
+inlined is needed for malloc removal
+(:config:`translation.backendopt.mallocs`) to be effective.
+
+This optimisation is used by default.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline_heuristic.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline_heuristic.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline_heuristic.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,4 @@
+Internal option. Switch to a different weight heuristic for inlining.
+This is for basic inlining (:config:`translation.backendopt.inline`).
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline_threshold.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline_threshold.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.inline_threshold.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,2 @@
+Weight threshold used to decide whether to inline flowgraphs.
+This is for basic inlining (:config:`translation.backendopt.inline`).
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.mallocs.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.mallocs.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.mallocs.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,29 @@
+This optimization enables "malloc removal", which "explodes"
+allocations of structures which do not escape from the function they
+are allocated in into one or more additional local variables.
+
+An example. Consider this rather unlikely seeming code::
+
+ class C:
+ pass
+ def f(y):
+ c = C()
+ c.x = y
+ return c.x
+
+Malloc removal will spot that the ``C`` object can never leave ``f``
+and replace the above with code like this::
+
+ def f(y):
+ _c__x = y
+ return _c__x
+
+It is rare for code to be directly written in a way that allows this
+optimization to be useful, but inlining often results in opportunities
+for its use (and indeed, this is one of the main reasons PyPy does its
+own inlining rather than relying on the C compilers).
+
+For much more information about this and other optimizations you can
+read section 4.1 of the `technical report on "Massive Parallelism and
+Translation Aspects"
+<http://codespeak.net/pypy/extradoc/eu-report/D07.1_Massive_Parallelism_and_Translation_Aspects-2006-12-15.pdf>`__.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.merge_if_blocks.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.merge_if_blocks.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.merge_if_blocks.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,26 @@
+This optimization converts parts of flow graphs that result from
+chains of ifs and elifs like this into merged blocks.
+
+By default flow graphing this kind of code::
+
+ if x == 0:
+ f()
+ elif x == 1:
+ g()
+ elif x == 4:
+ h()
+ else:
+ j()
+
+will result in a chain of blocks with two exits, somewhat like this:
+
+.. image:: unmergedblocks.png
+
+(reflecting how Python would interpret this code). Running this
+optimization will transform the block structure to contain a single
+"choice block" with four exits:
+
+.. image:: mergedblocks.png
+
+This can then be turned into a switch by the C backend, allowing the C
+compiler to produce more efficient code.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.print_statistics.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.print_statistics.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.print_statistics.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,2 @@
+Debugging option. Print statics about the forest of flowgraphs as they
+go through the various backend optimisations.
\ No newline at end of file
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,10 @@
+Inline flowgraphs only for call-sites for which there was a minimal
+number of calls during an instrumented run of the program. Callee
+flowgraphs are considered candidates based on a weight heuristic like
+for basic inlining. (see :config:`translation.backendopt.inline`,
+:config:`translation.backendopt.profile_based_inline_threshold` ).
+
+The option takes as value a string which is the arguments to pass to
+the program for the instrumented run.
+
+This optimisation is not used by default.
\ No newline at end of file
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline_heuristic.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline_heuristic.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline_heuristic.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,4 @@
+Internal option. Switch to a different weight heuristic for inlining.
+This is for profile-based inlining (:config:`translation.backendopt.profile_based_inline`).
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline_threshold.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline_threshold.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.profile_based_inline_threshold.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,2 @@
+Weight threshold used to decide whether to inline flowgraphs.
+This is for profile-based inlining (:config:`translation.backendopt.profile_based_inline`).
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.raisingop2direct_call.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.raisingop2direct_call.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.raisingop2direct_call.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Internal option. Transformation required by the LLVM backend.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.remove_asserts.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.remove_asserts.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.remove_asserts.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+Remove raising of assertions from the flowgraphs, which might give small speedups.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.backendopt.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,5 @@
+This group contains options about various backend optimization passes. Most of
+them are described in the `EU report about optimization`_
+
+.. _`EU report about optimization`: http://codespeak.net/pypy/extradoc/eu-report/D07.1_Massive_Parallelism_and_Translation_Aspects-2006-12-15.pdf
+
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.builtins_can_raise_exceptions.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.builtins_can_raise_exceptions.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.builtins_can_raise_exceptions.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Internal option.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.cc.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.cc.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.cc.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+Specify which C compiler to use.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.cli.trace_calls.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.cli.trace_calls.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.cli.trace_calls.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Internal. Debugging aid for the CLI backend.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.cli.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.cli.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.cli.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+.. intentionally empty
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.compilerflags.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.compilerflags.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.compilerflags.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+Experimental. Specify extra flags to pass to the C compiler.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.countmallocs.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.countmallocs.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.countmallocs.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,4 @@
+Internal; used by some of the C backend tests to check that the number of
+allocations matches the number of frees.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.debug.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.debug.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.debug.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,2 @@
+Record extra debugging information during annotation. This leads to slightly
+less obscure error messages.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.fork_before.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.fork_before.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.fork_before.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,4 @@
+This is an option mostly useful when working on the PyPy toolchain. If you use
+it, translate.py will fork before the specified phase. If the translation
+crashes after that fork, you can fix the bug in the toolchain, and continue
+translation at the fork-point.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.gc.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.gc.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.gc.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,15 @@
+Choose the Garbage Collector used by the translated program:
+
+ - "ref": reference counting. Takes very long to translate and the result is
+ slow.
+
+ - "framework": our custom mark-and-sweep collector. Takes moderately long and
+ is the fastest option without external dependencies.
+
+ - "stacklessgc": same as "framework" but uses a different method to find the
+ garbage collection roots on the stack, by unwinding it, using stackless:
+ :config:`translation.stackless`.
+
+ - "boehm": use the Boehm conservative GC
+
+
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.insist.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.insist.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.insist.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,4 @@
+Don't stop on the first `rtyping`_ error. Instead, try to rtype as much as
+possible and show the collected error messages in the end.
+
+.. _`rtyping`: ../rtyper.html
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.instrument.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.instrument.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.instrument.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Internal option.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.instrumentctl.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.instrumentctl.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.instrumentctl.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,3 @@
+Internal option.
+
+.. internal
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.linkerflags.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.linkerflags.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.linkerflags.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+Experimental. Specify extra flags to pass to the linker.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.list_comprehension_operations.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.list_comprehension_operations.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.list_comprehension_operations.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,2 @@
+Experimental optimisation for list comprehensions in RPython.
+
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.llvm_via_c.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.llvm_via_c.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.llvm_via_c.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,6 @@
+This options compiles LLVM code by using llc to convert it to C, then
+using gcc to compile this C instead of using LLVM's own code
+generators. This generally results in better performance
+(particularly when using :config:`translation.profopt` to use gcc's
+profile-directed optimizations) but takes rather longer and uses more
+RAM.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.no__thread.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.no__thread.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.no__thread.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,4 @@
+Don't use gcc __thread attribute for fast thread local storage
+implementation . Increases the chance that moving the resulting
+executable to another same processor Linux machine will work. (see
+:config:`translation.vanilla`).
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.output.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.output.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.output.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1 @@
+Specify file name that the produced executable gets.
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.profopt.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.profopt.txt (original)
+++ pypy/branch/ast-experiments/pypy/doc/config/translation.profopt.txt Mon Feb 26 08:45:45 2007
@@ -0,0 +1,5 @@
+Use GCCs profile-guided optimizations. This option specifies the the
+arguments with which to call pypy-c (and in general the translated
+RPython program) to gather profile data. Example for pypy-c: "-c 'from
+richards import main;main(); from test import pystone;
+pystone.main()'"
Modified: pypy/branch/ast-experiments/pypy/doc/config/translation.simplifying.txt
==============================================================================
--- pypy/branch/ast-experiments/pypy/doc/config/translation.si