freebsd-ports/lang/pypy/bsd.pypy.mk
David Naylor 250caa34df lang/pypy: update to 4.0.1
Changes:
 - Remove plist-sub PYPY_BITS
 - Switch PYPY_VER to PYPY_CFFI_VER

Change Log:
 - Highlighted features:
   - Update cffi to 1.3.1.
   - Update Python implementation to 2.7.10.
   - New vectorisation optimisations added to the JIT.  To enable add
     --jit vec=1 (or --jit vec_all=1 for all vectorisation optimisations).
   - Improved JIT warmup time of ~20%.
   - Reduced memory consumption by ~20%.
   - Numpy's ndarray and numeric dtypes are almost feature complete.
   - Numpy's linalg, random and fft have been implemented as cffi modules using
     the same underlying libraries as upstream.
 - Bug Fixes
   - Fix a bug when unrolling double loops in JITted code
   - Fix multiple memory leaks in the ssl module, one of which affected CPython
     as well (thanks to Alex Gaynor for pointing those out)
   - Use pkg-config to find ssl headers on OS-X
   - Fix a crash on non-linux when running more than 20 threads
   - In cffi, ffi.new_handle() is more cpython compliant
   - Accept unicode in functions inside the _curses cffi backend exactly like
     cpython
   - Fix a segfault in itertools.islice()
   - Fix ndarray.copy() for upstream compatability when copying non-contiguous
     arrays
   - Fix assumption that lltype.UniChar is unsigned
   - Fix a subtle bug with stacklets on shadowstack
   - Improve support for the cpython capi in cpyext (our capi compatibility
     layer). Fixing these issues inspired some thought about cpyext in general,
     stay tuned for more improvements
   - When loading dynamic libraries, in case of a certain loading error, retry
     loading the library assuming it is actually a linker script, like on Arch
     and Gentoo
 - New features
   - Internal cleanup of RPython class handling
   - Support stackless and greenlets on PPC machines
   - Improve debug logging in subprocesses: use PYPYLOG=jit:log.%d for example
     to have all subprocesses write the JIT log to a file called ?log.%d?, with
     ?%d? replaced with the subprocess? PID.
   - Support PyOS_double_to_string in our cpyext capi compatibility layer
   - Add an optimization pass to vectorize loops using x86 SIMD intrinsics.
   - Support __stdcall on Windows in CFFI
   - Improve debug logging when using PYPYLOG=???
   - Deal with platforms with no RAND_egd() in OpenSSL
 - Numpy
   - Improve support for __array_interface__
   - Propagate most NAN mantissas through float16-float32-float64 conversions
   - Add support for ndarray.ctypes
   - Fast path for mixing numpy scalars and floats
   - Add support for creating Fortran-ordered ndarrays
   - Fix casting failures in linalg (by extending ufunc casting)
   - Recognize and disallow (for now) pickling of ndarrays with objects embedded
     in them
 - Performance improvements and refactorings
   - Improvements in slicing byte arrays
   - Improvements in enumerate()
   - Silence some warnings while translating
   - Reuse hashed keys across dictionaries and sets
   - Refactor JIT interals to improve warmup time by 20% or so at the cost of a
     minor regression in JIT speed
   - Recognize patterns of common sequences in the JIT backends and optimize them
   - Make the garbage collecter more incremental over external_malloc() calls
   - Share guard resume data where possible which reduces memory usage
   - Fast path for zip(list, list)
   - Reduce the number of checks in the JIT for lst[a:]
   - Move the non-optimizable part of callbacks outside the JIT
   - Factor in field immutability when invalidating heap information
   - Unroll itertools.izip_longest() with two sequences
   - Minor optimizations after analyzing output from vmprof and trace logs
   - Remove many class attributes in rpython classes
   - Handle getfield_gc_pure* and getfield_gc_* uniformly in heap.py
   - Improve simple trace function performance by lazily calling fast2locals and
     locals2fast only if truly necessary

Submitted by:	robak@
PR:		204743 (with modification)
2015-12-09 06:57:30 +00:00

10 lines
214 B
Makefile

# $FreeBSD$
LICENSE= MIT PSFL
LICENSE_COMB= multi
USES+= compiler:c11
PYPY_DIR= pypy-${PORTVERSION:C|([0-9])\.([0-9]).*|\1.\2|}
PYPY_CFFI_VER= 26
PLIST_SUB+= PYPY_DIR=${PYPY_DIR} PYPY_CFFI_VER=${PYPY_CFFI_VER}