- Fix LICENSE for databases/pypy-gdbm (GPLv2+).
- Add support for a slave port (i.e. the upcoming pypy3):
- Allow select variables to be overridden by slave port.
- Allow slave port to have its own distinfo and pkg-plist files.
- Depend on lang/pypy if translating with PYPY or PYPY_MINMEM options.
- Strip bundled cffi .so files.
ChangeLog:
- Highlighted changes
- Major improvements in the C-API compatibility layer
- Complete support for lxml
- Passing 95%+ of numpy's test suite
- Scipy and matplotlib builds and runs
- cffi updated to 1.7
- New features:
- Merge a major expansion of the C-API support in cpyext, also expand cpyext
tests to allow running them after translation as well as untranslated
- Instead of ?GIL not held when a CPython C extension module calls PyXxx?, we
now silently acquire/release the GIL. Helps with C extension modules that
call some PyXxx() functions without holding the GIL (arguably, they are
theoretically buggy).
- Support command line -v to trace import statements
- Revive traceviewer, a tool to use pygame to view traces
- Numpy via our internal _numpypy module:
- Implement ufunc.outer
- Move PyPy-specific numpypy headers to a subdirectory (also changed the repo
accordingly)
- Performance improvements:
- Use bitstrings to compress lists of descriptors that are attached to an
EffectInfo
- Remove most of the _ovf, _zer and _val operations from RPython. Kills quite
some code internally, and allows the JIT to do better optimizations: for
example, app-level code like x / 2 or x % 2 can now be turned into x >> 1
or x & 1, even if x is possibly negative.
- Rework the way registers are moved/spilled in before_call()
- Internal refactorings:
- Refactor code to better support Python3-compatible syntax
- Reduce the size of generated C sources during translation by eliminating
many many unused struct declarations (Issue #2281)
- Reduce the size of generated code by using the same function objects in all
generated subclasses
- Share cpyext Py* function wrappers according to the signature, shrinking
the translated libpypy.so by about 10% (without the JIT)