# HG changeset patch # User Antonio Cuni <anto.cuni@gmail.com> # Date 1304099286 -7200 # Fri Apr 29 19:48:06 2011 +0200 # Branch extradoc # Node ID 9de66476ca02e7fd79ba8bef7d2b36ba7db7ef74 # Parent d34616010b3f34a11129819485da350456044f40 (antocuni, arigo around) IN-PROGRESS update pypy.org for pypy 1.5 diff --git a/download.html b/download.html --- a/download.html +++ b/download.html @@ -48,11 +48,10 @@ <div id="main"> <h1 class="title">Download and install</h1> <p class="download-menu">There are <a class="reference external" href="http://buildbot.pypy.org/nightly/trunk/">nightly binary builds</a> available. Those builds are not always -as stable as the release, but they contain Python 2.7 compatibility, -numerous bugfixes and performance improvements.</p> -<p>Here are the various binaries of <strong>PyPy 1.4.1</strong> that we provide for x86 Linux, -Mac OS/X or Windows. This is mostly a bugfix release, although the performance -over the previous release 1.4 has improved in some cases.</p> +as stable as the release, but they contain numerous bugfixes and +performance improvements.</p> +<p>Here are the various binaries of <strong>PyPy 1.5</strong> that we provide for x86 Linux, +Mac OS/X or Windows.</p> <ul class="download-menu simple"> <li>Download<ul> <li><a class="reference internal" href="#default-with-a-jit-compiler">Default (with a JIT Compiler)</a></li> @@ -68,14 +67,14 @@ <p>These binaries include a Just-in-Time compiler. They only work on x86 CPUs that have the <a class="reference external" href="http://en.wikipedia.org/wiki/SSE2">SSE2</a> instruction set (most of them do, nowadays), or on x86-64 CPUs. -(This is the official release 1.4.1; +(This is the official release 1.5; for the most up-to-date version see below.)</p> <ul class="simple"> -<li><a class="reference external" href="http://pypy.org/download/pypy-1.4.1-linux.tar.bz2">Linux binary (32bit)</a></li> -<li><a class="reference external" href="http://pypy.org/download/pypy-1.4.1-linux64.tar.bz2">Linux binary (64bit)</a></li> -<li><a class="reference external" href="http://pypy.org/download/pypy-1.4.1-osx.tar.bz2">Mac OS/X binary (32bit)</a></li> -<li><a class="reference external" href="http://pypy.org/download/pypy-1.4.1-osx64.tar.bz2">Mac OS/X binary (64bit)</a></li> -<li><a class="reference external" href="http://pypy.org/download/pypy-1.4.1-win32.zip">Windows binary (32bit)</a> (you may need to install the <a class="reference external" href="http://www.microsoft.com/downloads/en/details.aspx?familyid=A7B7A05E-6DE6-4D3A-A423-37BF0912DB84">VS 2010 runtime libraries</a>)</li> +<li><a class="reference external" href="http://pypy.org/download/pypy-1.5-linux.tar.bz2">Linux binary (32bit)</a></li> +<li><a class="reference external" href="http://pypy.org/download/pypy-1.5-linux64.tar.bz2">Linux binary (64bit)</a></li> +<li><a class="reference external" href="http://pypy.org/download/pypy-1.5-osx.tar.bz2">Mac OS/X binary (32bit)</a></li> +<li><a class="reference external" href="http://pypy.org/download/pypy-1.5-osx64.tar.bz2">Mac OS/X binary (64bit)</a></li> +<li><a class="reference external" href="http://pypy.org/download/pypy-1.5-win32.zip">Windows binary (32bit)</a> (you may need to install the <a class="reference external" href="http://www.microsoft.com/downloads/en/details.aspx?familyid=A7B7A05E-6DE6-4D3A-A423-37BF0912DB84">VS 2010 runtime libraries</a>)</li> </ul> <p>If your CPU is really old, it may not have SSE2. In this case, you need to <a class="reference internal" href="#translate">translate</a> yourself with the option <tt class="docutils literal"><span class="pre">--jit-backend=x86-without-sse2</span></tt>.</p> @@ -96,7 +95,7 @@ complicated, this reduces a bit the level of confidence we can put in the result.)</li> </ul> -<p>These versions are not officially part of the release 1.4.1, which focuses +<p>These versions are not officially part of the release 1.5, which focuses on the JIT. You can find prebuilt binaries for them on our <a class="reference external" href="http://buildbot.pypy.org/nightly/trunk/">nightly build</a> or in the <a class="reference external" href="http://pypy.org/download/">release</a> binaries, or <a class="reference internal" href="#translate">translate</a> them yourself.</p> @@ -107,7 +106,7 @@ uncompressed, they run in-place. For now you can uncompress them either somewhere in your home directory or, say, in <tt class="docutils literal">/opt</tt>, and if you want, put a symlink from somewhere like -<tt class="docutils literal">/usr/local/bin/pypy</tt> to <tt class="docutils literal"><span class="pre">/path/to/pypy-1.4.1/bin/pypy</span></tt>. Do +<tt class="docutils literal">/usr/local/bin/pypy</tt> to <tt class="docutils literal"><span class="pre">/path/to/pypy-1.5/bin/pypy</span></tt>. Do not move or copy the executable <tt class="docutils literal">pypy</tt> outside the tree – put a symlink to it, otherwise it will not find its libraries.</p> </div> @@ -117,8 +116,8 @@ <li><p class="first">Get the source code. The following packages contain the source at the same revision as the above binaries (these are svn exports):</p> <ul class="simple"> -<li><a class="reference external" href="http://pypy.org/download/pypy-1.4.1-src.tar.bz2">pypy-1.4.1-src.tar.bz2</a> (sources, Unix line endings)</li> -<li>pypy-1.4.1-src.zip (sources, Windows line endings) not available</li> +<li><a class="reference external" href="http://pypy.org/download/pypy-1.5-src.tar.bz2">pypy-1.5-src.tar.bz2</a> (sources, Unix line endings)</li> +<li>pypy-1.5-src.zip (sources, Windows line endings) not available</li> </ul> <p>Or you can checkout the current trunk using <a class="reference external" href="http://mercurial.selenic.com/">Mercurial</a> (the trunk usually works and is of course more up-to-date):</p> @@ -130,7 +129,7 @@ </li> <li><p class="first">Enter the <tt class="docutils literal">goal</tt> directory:</p> <pre class="literal-block"> -cd pypy-trunk/pypy/translator/goal +cd pypy/pypy/translator/goal </pre> </li> <li><p class="first">Run the <tt class="docutils literal">translate.py</tt> script. Here are the common combinations @@ -156,17 +155,11 @@ requirement down to 1.2 GB on 32-bit, 2.4 GB on 64-bit.) You should just start by downloading an official release of PyPy (with the JIT).</li> -<li>Because of <tt class="docutils literal">asmgcroot</tt>, compiling the generated C files containing the -JIT is delicate. It requires using either MSVC or gcc with no particularly +<li>Because of <tt class="docutils literal">asmgcroot</tt>, compiling the generated C files containing the JIT +is delicate. It requires using either MSVC or gcc with no particularly fancy options. It does not work e.g. with clang, or if you pass uncommon -options with the <tt class="docutils literal">CFLAGS</tt> environment variable. The generated C files -are left around in <tt class="docutils literal"><span class="pre">/tmp/usession-$USER/testing_1/</span></tt> or -<tt class="docutils literal"><span class="pre">$TMPDIR/usession-$USER/testing_1</span></tt>, so if compilation -fails (i.e. you get a <tt class="docutils literal">CompilationError</tt>) or if you want to build a -debug build, you can go there and retry running <tt class="docutils literal">make</tt>. For example: -<tt class="docutils literal">CFLAGS= make</tt>, or <tt class="docutils literal">make lldebug</tt>. It is recommended to move this -directory away if you want to keep it; otherwise, future runs of -<tt class="docutils literal">translate.py</tt> will remove it.</li> +options with the <tt class="docutils literal">CFLAGS</tt> environment variable. You can also try to +compile PyPy with the <a class="reference external" href="http://codespeak.net/pypy/dist/pypy/doc/config/translation.gcrootfinder.html">shadow stack</a> option.</li> </ul> </div> <div class="section" id="checksums"> diff --git a/features.html b/features.html --- a/features.html +++ b/features.html @@ -47,7 +47,7 @@ <div> <div id="main"> <h1 class="title">Features</h1> -<p><strong>PyPy 1.4.1</strong> implements <strong>Python 2.5.</strong> and runs on Intel +<p><strong>PyPy 1.5</strong> implements <strong>Python 2.7.1</strong> and runs on Intel <a class="reference external" href="http://en.wikipedia.org/wiki/IA-32">x86 (IA-32)</a> and <a class="reference external" href="http://en.wikipedia.org/wiki/X86_64">x86_64</a> platforms, with ARM being underway. It supports all of the core language, passing the Python test suite (with minor modifications that were already accepted in the main python @@ -70,7 +70,7 @@ <p>To run the sandboxed process, you need <a class="reference external" href="download.html#sandboxed-version">pypy-sandbox</a>. You also need to get the <a class="reference external" href="download.html#translate">full sources</a> (step 1 only). Run:</p> <pre class="literal-block"> -cd pypy-trunk/pypy/translator/sandbox +cd pypy/pypy/translator/sandbox pypy_interact.py path/to/pypy-sandbox </pre> <p>You get a fully sandboxed interpreter, in its own filesystem hierarchy @@ -100,18 +100,17 @@ projects. We will mention here:</p> <ul class="simple"> <li><strong>the .NET backend:</strong> you get a version of <tt class="docutils literal"><span class="pre">pypy-net</span></tt> that runs -natively in the .NET/CLI VM. Of particular interest is <a class="reference external" href="http://codespeak.net/svn/pypy/branch/cli-jit/">the cli-jit +natively in the .NET/CLI VM. Of particular interest is <a class="reference external" href="http://bitbucket.org/pypy/pypy/src/cli-jit">the cli-jit branch</a>, in which you can make a version of <tt class="docutils literal"><span class="pre">pypy-net</span></tt> which also contains a high-level JIT compiler (it compiles your Python programs Just in Time into CLR bytecodes, which are in turn compiled natively by the VM).</li> <li><strong>the Java backend:</strong> PyPy can run on the Java VM, but more care is -needed to finish this project. (Requires <a class="reference external" href="http://codespeak.net/svn/pypy/branch/cli-jit/">the cli-jit branch</a> for -now.) Writing a backend for our high-level JIT compiler would be -excellent. <a class="reference external" href="contact.html">Contact us</a>!</li> -<li><strong>Other languages:</strong> available in a <a class="reference external" href="http://codespeak.net/svn/pypy/lang/">separate part of the repository</a>, -we implemented other languages too: <a class="reference external" href="http://codespeak.net/svn/pypy/lang/prolog">Prolog</a> (almost complete), as -well as Smalltalk, JavaScript, Io, Scheme and Gameboy.</li> +needed to finish this project. Writing a backend for our high-level +JIT compiler would be excellent. <a class="reference external" href="contact.html">Contact us</a>!</li> +<li><strong>Other languages:</strong> we also implemented other languages that makes +use of our RPython toolchain: <a class="reference external" href="http://bitbucket.org/cfbolz/pyrolog/">Prolog</a> (almost complete), as +well as <a class="reference external" href="http://bitbucket.org/pypy/lang-smalltalk/">Smalltalk</a>, <a class="reference external" href="http://bitbucket.org/pypy/lang-js/">JavaScript</a>, <a class="reference external" href="http://bitbucket.org/pypy/lang-io/">Io</a>, <a class="reference external" href="http://bitbucket.org/pypy/lang-scheme/">Scheme</a> and <a class="reference external" href="http://bitbucket.org/pypy/lang-gameboy/">Gameboy</a>.</li> </ul> </div> </div> diff --git a/index.html b/index.html --- a/index.html +++ b/index.html @@ -47,12 +47,12 @@ <div> <div id="main"> <h1 class="title">PyPy</h1> -<p>PyPy is a <a class="reference external" href="compat.html">very compliant</a> implementation of the <a class="reference external" href="http://python.org/">Python</a> language. +<p>PyPy is a <a class="reference external" href="compat.html">very compliant</a> implementation of the <a class="reference external" href="http://python.org/">Python</a> language (2.7.1). PyPy has several advantages and distinctive features:</p> <blockquote> <ul class="simple"> <li><strong>Speed:</strong> thanks to its Just-in-Time compiler, Python programs -often run <a class="reference external" href="http://speed.pypy.org/comparison/?exe=2%2B35,1%2B172&ben=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20&env=1&hor=false&bas=2%2B35&chart=normal+bars">faster</a> on PyPy. <a class="reference external" href="http://en.wikipedia.org/wiki/Just-in-time_compilation">(What is a JIT compiler?)</a></li> +often run <a class="reference external" href="http://speed.pypy.org/">faster</a> on PyPy. <a class="reference external" href="http://en.wikipedia.org/wiki/Just-in-time_compilation">(What is a JIT compiler?)</a></li> <li><strong>Memory usage:</strong> large, memory-hungry Python programs might end up taking <a class="reference external" href="http://morepypy.blogspot.com/2009/10/gc-improvements.html">less space</a> than they do in CPython.</li> <li><strong>Sandboxing:</strong> PyPy provides the ability to <a class="reference external" href="features.html#sandboxing">run untrusted code</a> in a @@ -62,10 +62,10 @@ <li>As well as other <a class="reference external" href="features.html">features</a>.</li> </ul> </blockquote> -<p class="download"><a class="reference external" href="download.html">Download and try out the PyPy release 1.4.1!</a></p> -<p>To read more about Python, look into <a class="reference external" href="http://www.python.org/doc/2.5.4/">Python docs</a> and check our +<p class="download"><a class="reference external" href="download.html">Download and try out the PyPy release 1.5!</a></p> +<p>To read more about Python, look into <a class="reference external" href="http://docs.python.org/release/2.7.1/">Python docs</a> and check our <a class="reference external" href="compat.html">Compatibility</a> page. PyPy can run such python libraries as <a class="reference external" href="http://twistedmatrix.com/">twisted</a> -and <a class="reference external" href="http://www.djangoproject.com/">django</a> and supports <a class="reference external" href="http://www.python.org/doc/2.5.4/lib/module-ctypes.html">ctypes</a>.</p> +and <a class="reference external" href="http://www.djangoproject.com/">django</a> and supports <a class="reference external" href="http://docs.python.org/release/2.7.1/library/ctypes.html">ctypes</a>.</p> </div> <div id="sidebar"> <ul> diff --git a/source/download.txt b/source/download.txt --- a/source/download.txt +++ b/source/download.txt @@ -9,12 +9,11 @@ .. class:: download_menu There are `nightly binary builds`_ available. Those builds are not always - as stable as the release, but they contain Python 2.7 compatibility, - numerous bugfixes and performance improvements. + as stable as the release, but they contain numerous bugfixes and + performance improvements. -Here are the various binaries of **PyPy 1.4.1** that we provide for x86 Linux, -Mac OS/X or Windows. This is mostly a bugfix release, although the performance -over the previous release 1.4 has improved in some cases. +Here are the various binaries of **PyPy 1.5** that we provide for x86 Linux, +Mac OS/X or Windows. .. class:: download_menu @@ -35,7 +34,7 @@ These binaries include a Just-in-Time compiler. They only work on x86 CPUs that have the SSE2_ instruction set (most of them do, nowadays), or on x86-64 CPUs. -(This is the official release 1.4.1; +(This is the official release 1.5; for the most up-to-date version see below.) * `Linux binary (32bit)`__ @@ -44,11 +43,11 @@ * `Mac OS/X binary (64bit)`__ * `Windows binary (32bit)`__ (you may need to install the `VS 2010 runtime libraries`_) -.. __: http://pypy.org/download/pypy-1.4.1-linux.tar.bz2 -.. __: http://pypy.org/download/pypy-1.4.1-linux64.tar.bz2 -.. __: http://pypy.org/download/pypy-1.4.1-osx.tar.bz2 -.. __: http://pypy.org/download/pypy-1.4.1-osx64.tar.bz2 -.. __: http://pypy.org/download/pypy-1.4.1-win32.zip +.. __: http://pypy.org/download/pypy-1.5-linux.tar.bz2 +.. __: http://pypy.org/download/pypy-1.5-linux64.tar.bz2 +.. __: http://pypy.org/download/pypy-1.5-osx.tar.bz2 +.. __: http://pypy.org/download/pypy-1.5-osx64.tar.bz2 +.. __: http://pypy.org/download/pypy-1.5-win32.zip .. _`VS 2010 runtime libraries`: http://www.microsoft.com/downloads/en/details.aspx?familyid=A7B7A05E-6DE6-4D3A-A423-37BF0912DB84 If your CPU is really old, it may not have SSE2. In this case, you need @@ -76,7 +75,7 @@ complicated, this reduces a bit the level of confidence we can put in the result.) -These versions are not officially part of the release 1.4.1, which focuses +These versions are not officially part of the release 1.5, which focuses on the JIT. You can find prebuilt binaries for them on our `nightly build`_ or in the `release`_ binaries, or translate_ them yourself. @@ -92,7 +91,7 @@ uncompressed, they run in-place. For now you can uncompress them either somewhere in your home directory or, say, in ``/opt``, and if you want, put a symlink from somewhere like -``/usr/local/bin/pypy`` to ``/path/to/pypy-1.4.1/bin/pypy``. Do +``/usr/local/bin/pypy`` to ``/path/to/pypy-1.5/bin/pypy``. Do not move or copy the executable ``pypy`` outside the tree --- put a symlink to it, otherwise it will not find its libraries. @@ -105,10 +104,10 @@ 1. Get the source code. The following packages contain the source at the same revision as the above binaries (these are svn exports): - * `pypy-1.4.1-src.tar.bz2`__ (sources, Unix line endings) - * pypy-1.4.1-src.zip (sources, Windows line endings) not available + * `pypy-1.5-src.tar.bz2`__ (sources, Unix line endings) + * pypy-1.5-src.zip (sources, Windows line endings) not available - .. __: http://pypy.org/download/pypy-1.4.1-src.tar.bz2 + .. __: http://pypy.org/download/pypy-1.5-src.tar.bz2 Or you can checkout the current trunk using Mercurial_ (the trunk usually works and is of course more up-to-date):: @@ -121,7 +120,7 @@ 3. Enter the ``goal`` directory:: - cd pypy-trunk/pypy/translator/goal + cd pypy/pypy/translator/goal 4. Run the ``translate.py`` script. Here are the common combinations of options (works also with ``python`` instead of ``pypy``):: @@ -145,28 +144,22 @@ You should just start by downloading an official release of PyPy (with the JIT). -* Because of ``asmgcroot``, compiling the generated C files containing the - JIT is delicate. It requires using either MSVC or gcc with no particularly +* Because of ``asmgcroot``, compiling the generated C files containing the JIT + is delicate. It requires using either MSVC or gcc with no particularly fancy options. It does not work e.g. with clang, or if you pass uncommon - options with the ``CFLAGS`` environment variable. The generated C files - are left around in ``/tmp/usession-$USER/testing_1/`` or - ``$TMPDIR/usession-$USER/testing_1``, so if compilation - fails (i.e. you get a ``CompilationError``) or if you want to build a - debug build, you can go there and retry running ``make``. For example: - ``CFLAGS= make``, or ``make lldebug``. It is recommended to move this - directory away if you want to keep it; otherwise, future runs of - ``translate.py`` will remove it. + options with the ``CFLAGS`` environment variable. You can also try to + compile PyPy with the `shadow stack`_ option. .. _`x86 (IA-32)`: http://en.wikipedia.org/wiki/IA-32 .. _`x86-64`: http://en.wikipedia.org/wiki/X86-64 .. _SSE2: http://en.wikipedia.org/wiki/SSE2 -.. _`ctypes`: http://www.python.org/doc/2.5.4/lib/module-ctypes.html .. _`contact us`: contact.html .. _`sandboxing`: features.html#sandboxing .. _`stackless`: http://www.stackless.com/ .. _`greenlets`: http://codespeak.net/svn/greenlet/trunk/doc/greenlet.txt .. _Mercurial: http://mercurial.selenic.com/ .. _`nightly binary builds`: http://buildbot.pypy.org/nightly/trunk/ +.. _`shadow stack`: http://codespeak.net/pypy/dist/pypy/doc/config/translation.gcrootfinder.html Checksums --------- diff --git a/source/features.txt b/source/features.txt --- a/source/features.txt +++ b/source/features.txt @@ -6,7 +6,7 @@ PyPy features =========================================================== -**PyPy 1.4.1** implements **Python 2.5.** and runs on Intel +**PyPy 1.5** implements **Python 2.7.1** and runs on Intel `x86 (IA-32)`_ and `x86_64`_ platforms, with ARM being underway. It supports all of the core language, passing the Python test suite (with minor modifications that were already accepted in the main python @@ -44,7 +44,7 @@ To run the sandboxed process, you need `pypy-sandbox`_. You also need to get the `full sources`_ (step 1 only). Run:: - cd pypy-trunk/pypy/translator/sandbox + cd pypy/pypy/translator/sandbox pypy_interact.py path/to/pypy-sandbox You get a fully sandboxed interpreter, in its own filesystem hierarchy @@ -94,16 +94,19 @@ by the VM). * **the Java backend:** PyPy can run on the Java VM, but more care is - needed to finish this project. (Requires `the cli-jit branch`_ for - now.) Writing a backend for our high-level JIT compiler would be - excellent. `Contact us`_! + needed to finish this project. Writing a backend for our high-level + JIT compiler would be excellent. `Contact us`_! -* **Other languages:** available in a `separate part of the repository`_, - we implemented other languages too: Prolog_ (almost complete), as - well as Smalltalk, JavaScript, Io, Scheme and Gameboy. +* **Other languages:** we also implemented other languages that makes + use of our RPython toolchain: Prolog_ (almost complete), as + well as Smalltalk_, JavaScript_, Io_, Scheme_ and Gameboy_. -.. _`the cli-jit branch`: http://codespeak.net/svn/pypy/branch/cli-jit/ +.. _`the cli-jit branch`: http://bitbucket.org/pypy/pypy/src/cli-jit .. _`contact us`: contact.html -.. _`separate part of the repository`: http://codespeak.net/svn/pypy/lang/ -.. _Prolog: http://codespeak.net/svn/pypy/lang/prolog +.. _Prolog: http://bitbucket.org/cfbolz/pyrolog/ +.. _Smalltalk: http://bitbucket.org/pypy/lang-smalltalk/ +.. _JavaScript: http://bitbucket.org/pypy/lang-js/ +.. _Io: http://bitbucket.org/pypy/lang-io/ +.. _Scheme: http://bitbucket.org/pypy/lang-scheme/ +.. _Gameboy: http://bitbucket.org/pypy/lang-gameboy/ diff --git a/source/index.txt b/source/index.txt --- a/source/index.txt +++ b/source/index.txt @@ -3,7 +3,7 @@ title: PyPy --- -PyPy is a `very compliant`_ implementation of the `Python`_ language. +PyPy is a `very compliant`_ implementation of the `Python`_ language (2.7.1). PyPy has several advantages and distinctive features: * **Speed:** thanks to its Just-in-Time compiler, Python programs @@ -22,7 +22,7 @@ .. class:: download -`Download and try out the PyPy release 1.4.1!`__ +`Download and try out the PyPy release 1.5!`__ .. __: download.html @@ -32,14 +32,14 @@ .. _`stackless`: http://www.stackless.com/ .. _`Python`: http://python.org/ -.. _`faster`: http://speed.pypy.org/comparison/?exe=2%2B35,1%2B172&ben=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20&env=1&hor=false&bas=2%2B35&chart=normal+bars +.. _`faster`: http://speed.pypy.org/ .. _`(What is a JIT compiler?)`: http://en.wikipedia.org/wiki/Just-in-time_compilation .. _`run untrusted code`: features.html#sandboxing .. _`very compliant`: compat.html -.. _`Python docs`: http://www.python.org/doc/2.5.4/ +.. _`Python docs`: http://docs.python.org/release/2.7.1/ .. _`twisted`: http://twistedmatrix.com/ .. _`django`: http://www.djangoproject.com/ -.. _`ctypes`: http://www.python.org/doc/2.5.4/lib/module-ctypes.html +.. _`ctypes`: http://docs.python.org/release/2.7.1/library/ctypes.html .. _`features`: features.html .. _`less space`: http://morepypy.blogspot.com/2009/10/gc-improvements.html .. _Compatibility: compat.html