Author: Christian Tismer <tis...@stackless.com> Branch: win64-stage1 Changeset: r53987:5e2fda838296 Date: 2012-03-26 16:12 +0200 http://bitbucket.org/pypy/pypy/changeset/5e2fda838296/
Log: Merge with default diff --git a/pypy/doc/you-want-to-help.rst b/pypy/doc/you-want-to-help.rst --- a/pypy/doc/you-want-to-help.rst +++ b/pypy/doc/you-want-to-help.rst @@ -56,12 +56,23 @@ xxx -* JIT +* Just-in-Time Compiler (JIT): `we have a tracing JIT`_ that traces the + interpreter written in RPython, rather than the user program that it + interprets. As a result it applies to any interpreter, i.e. any + language. But getting it to work correctly is not trivial: it + requires a small number of precise "hints" and possibly some small + refactorings of the interpreter. The JIT itself also has several + almost-independent parts: the tracer itself in ``jit/metainterp``, the + optimizer in ``jit/metainterp/optimizer`` that optimizes a list of + residual operations, and the backend in ``jit/backend/<machine-name>`` + that turns it into machine code. Writing a new backend is a + traditional way to get into the project. - xxx +.. _`we have a tracing JIT`: jit/index.html -* Garbage Collectors: as you can notice, there are no ``Py_INCREF/Py_DECREF`` - equivalents in RPython code. `Garbage collection in PyPy`_ is inserted +* Garbage Collectors (GC): as you can notice if you are used to CPython's + C code, there are no ``Py_INCREF/Py_DECREF`` equivalents in RPython code. + `Garbage collection in PyPy`_ is inserted during translation. Moreover, this is not reference counting; it is a real GC written as more RPython code. The best one we have so far is in ``rpython/memory/gc/minimark.py``. diff --git a/pypy/module/__pypy__/__init__.py b/pypy/module/__pypy__/__init__.py --- a/pypy/module/__pypy__/__init__.py +++ b/pypy/module/__pypy__/__init__.py @@ -16,13 +16,15 @@ appleveldefs = {} interpleveldefs = {} if sys.platform.startswith("linux"): + from pypy.module.__pypy__ import interp_time interpleveldefs["clock_gettime"] = "interp_time.clock_gettime" interpleveldefs["clock_getres"] = "interp_time.clock_getres" for name in [ "CLOCK_REALTIME", "CLOCK_MONOTONIC", "CLOCK_MONOTONIC_RAW", "CLOCK_PROCESS_CPUTIME_ID", "CLOCK_THREAD_CPUTIME_ID" ]: - interpleveldefs[name] = "space.wrap(interp_time.%s)" % name + if getattr(interp_time, name) is not None: + interpleveldefs[name] = "space.wrap(interp_time.%s)" % name class Module(MixedModule): diff --git a/pypy/module/__pypy__/interp_time.py b/pypy/module/__pypy__/interp_time.py --- a/pypy/module/__pypy__/interp_time.py +++ b/pypy/module/__pypy__/interp_time.py @@ -1,3 +1,4 @@ +from __future__ import with_statement import sys from pypy.interpreter.error import exception_from_errno diff --git a/pypy/rlib/longlong2float.py b/pypy/rlib/longlong2float.py --- a/pypy/rlib/longlong2float.py +++ b/pypy/rlib/longlong2float.py @@ -6,6 +6,7 @@ in which it does not work. """ +from __future__ import with_statement from pypy.annotation import model as annmodel from pypy.rlib.rarithmetic import r_int64 from pypy.rpython.lltypesystem import lltype, rffi diff --git a/pypy/tool/release/package.py b/pypy/tool/release/package.py --- a/pypy/tool/release/package.py +++ b/pypy/tool/release/package.py @@ -58,9 +58,13 @@ binaries = [(pypy_c, rename_pypy_c)] # if sys.platform == 'win32': + #Don't include a mscvrXX.dll, users should get their own. + #Instructions are provided on the website. + # Can't rename a DLL: it is always called 'libpypy-c.dll' + for extra in ['libpypy-c.dll', - 'libexpat.dll', 'sqlite3.dll', 'msvcr100.dll', + 'libexpat.dll', 'sqlite3.dll', 'libeay32.dll', 'ssleay32.dll']: p = pypy_c.dirpath().join(extra) if not p.check(): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit