[pypy-commit] pypy release-5.x: merge default into release
mattip
pypy.commits at gmail.com
Mon Jun 6 03:38:05 EDT 2016
Author: Matti Picus <matti.picus at gmail.com>
Branch: release-5.x
Changeset: r84962:581a2c8a00c5
Date: 2016-06-06 10:35 +0300
http://bitbucket.org/pypy/pypy/changeset/581a2c8a00c5/
Log: merge default into release
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -43,17 +43,17 @@
Samuele Pedroni
Matti Picus
Alex Gaynor
+ Philip Jenvey
Brian Kearns
- Philip Jenvey
+ Ronan Lamy
Michael Hudson
- Ronan Lamy
+ Manuel Jacob
David Schneider
- Manuel Jacob
Holger Krekel
Christian Tismer
Hakan Ardo
+ Richard Plangger
Benjamin Peterson
- Richard Plangger
Anders Chrigstrom
Eric van Riet Paap
Wim Lavrijsen
@@ -93,9 +93,9 @@
stian
Jan de Mooij
Tyler Wade
+ Vincent Legoll
Michael Foord
Stephan Diehl
- Vincent Legoll
Stefan Schwarzer
Valentino Volonghi
Tomek Meka
@@ -104,17 +104,20 @@
Bruno Gola
David Malcolm
Jean-Paul Calderone
+ Mark Young
Timo Paulssen
Squeaky
+ Devin Jeanpierre
Marius Gedminas
Alexandre Fayolle
Simon Burton
+ Stefano Rivera
Martin Matusiak
Konstantin Lopuhin
- Stefano Rivera
Wenzhu Man
John Witulski
Laurence Tratt
+ Raffael Tfirst
Ivan Sichmann Freitas
Greg Price
Dario Bertini
@@ -122,13 +125,13 @@
Simon Cross
Edd Barrett
Andreas Stührk
+ Tobias Pape
Jean-Philippe St. Pierre
Guido van Rossum
Pavel Vinogradov
Spenser Bauman
Jeremy Thurgood
Paweł Piotr Przeradowski
- Tobias Pape
Paul deGrandis
Ilya Osadchiy
marky1991
@@ -140,7 +143,6 @@
Georg Brandl
Bert Freudenberg
Stian Andreassen
- Mark Young
Wanja Saatkamp
Gerald Klix
Mike Blume
@@ -156,11 +158,13 @@
Dusty Phillips
Lukas Renggli
Guenter Jantzen
+ William Leslie
Ned Batchelder
Tim Felgentreff
Anton Gulenko
Amit Regmi
Ben Young
+ Sergey Matyunin
Nicolas Chauvat
Andrew Durdin
Andrew Chambers
@@ -171,9 +175,9 @@
Yichao Yu
Rocco Moretti
Gintautas Miliauskas
- Devin Jeanpierre
Michael Twomey
Lucian Branescu Mihaila
+ anatoly techtonik
Gabriel Lavoie
Olivier Dormond
Jared Grubb
@@ -183,8 +187,6 @@
Brian Dorsey
Victor Stinner
Andrews Medina
- anatoly techtonik
- Sergey Matyunin
Stuart Williams
Jasper Schulz
Christian Hudon
@@ -208,11 +210,11 @@
Alex Perry
Vaibhav Sood
Alan McIntyre
- William Leslie
Alexander Sedov
Attila Gobi
Jasper.Schulz
Christopher Pope
+ Florin Papa
Christian Tismer
Marc Abramowitz
Dan Stromberg
@@ -228,7 +230,6 @@
Lukas Vacek
Kunal Grover
Andrew Dalke
- Florin Papa
Sylvain Thenault
Jakub Stasiak
Nathan Taylor
@@ -270,8 +271,9 @@
Yury V. Zaytsev
Anna Katrina Dominguez
Bobby Impollonia
- timo at eistee.fritz.box
+ Vasantha Ganesh K
Andrew Thompson
+ florinpapa
Yusei Tahara
Aaron Tubbs
Ben Darnell
@@ -295,9 +297,9 @@
Akira Li
Gustavo Niemeyer
Stephan Busemann
- florinpapa
Rafał Gałczyński
Matt Bogosian
+ timo
Christian Muirhead
Berker Peksag
James Lan
diff --git a/lib_pypy/cffi.egg-info/PKG-INFO b/lib_pypy/cffi.egg-info/PKG-INFO
--- a/lib_pypy/cffi.egg-info/PKG-INFO
+++ b/lib_pypy/cffi.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: cffi
-Version: 1.6.0
+Version: 1.7.0
Summary: Foreign Function Interface for Python calling C code.
Home-page: http://cffi.readthedocs.org
Author: Armin Rigo, Maciej Fijalkowski
diff --git a/lib_pypy/cffi/__init__.py b/lib_pypy/cffi/__init__.py
--- a/lib_pypy/cffi/__init__.py
+++ b/lib_pypy/cffi/__init__.py
@@ -4,8 +4,8 @@
from .api import FFI, CDefError, FFIError
from .ffiplatform import VerificationError, VerificationMissing
-__version__ = "1.6.0"
-__version_info__ = (1, 6, 0)
+__version__ = "1.7.0"
+__version_info__ = (1, 7, 0)
# The verifier module file names are based on the CRC32 of a string that
# contains the following version number. It may be older than __version__
diff --git a/lib_pypy/cffi/_cffi_include.h b/lib_pypy/cffi/_cffi_include.h
--- a/lib_pypy/cffi/_cffi_include.h
+++ b/lib_pypy/cffi/_cffi_include.h
@@ -57,6 +57,12 @@
# define _CFFI_UNUSED_FN /* nothing */
#endif
+#ifdef __cplusplus
+# ifndef _Bool
+# define _Bool bool /* semi-hackish: C++ has no _Bool; bool is builtin */
+# endif
+#endif
+
/********** CPython-specific section **********/
#ifndef PYPY_VERSION
diff --git a/lib_pypy/cffi/_embedding.h b/lib_pypy/cffi/_embedding.h
--- a/lib_pypy/cffi/_embedding.h
+++ b/lib_pypy/cffi/_embedding.h
@@ -233,7 +233,7 @@
f = PySys_GetObject((char *)"stderr");
if (f != NULL && f != Py_None) {
PyFile_WriteString("\nFrom: " _CFFI_MODULE_NAME
- "\ncompiled with cffi version: 1.6.0"
+ "\ncompiled with cffi version: 1.7.0"
"\n_cffi_backend module: ", f);
modules = PyImport_GetModuleDict();
mod = PyDict_GetItemString(modules, "_cffi_backend");
diff --git a/lib_pypy/cffi/backend_ctypes.py b/lib_pypy/cffi/backend_ctypes.py
--- a/lib_pypy/cffi/backend_ctypes.py
+++ b/lib_pypy/cffi/backend_ctypes.py
@@ -205,9 +205,7 @@
def __nonzero__(self):
return bool(self._address)
-
- def __bool__(self):
- return bool(self._address)
+ __bool__ = __nonzero__
@classmethod
def _to_ctypes(cls, value):
@@ -465,6 +463,7 @@
else:
def __nonzero__(self):
return self._value != 0
+ __bool__ = __nonzero__
if kind == 'float':
@staticmethod
diff --git a/pypy/doc/contributor.rst b/pypy/doc/contributor.rst
--- a/pypy/doc/contributor.rst
+++ b/pypy/doc/contributor.rst
@@ -13,17 +13,17 @@
Samuele Pedroni
Matti Picus
Alex Gaynor
+ Philip Jenvey
Brian Kearns
- Philip Jenvey
+ Ronan Lamy
Michael Hudson
- Ronan Lamy
+ Manuel Jacob
David Schneider
- Manuel Jacob
Holger Krekel
Christian Tismer
Hakan Ardo
+ Richard Plangger
Benjamin Peterson
- Richard Plangger
Anders Chrigstrom
Eric van Riet Paap
Wim Lavrijsen
@@ -63,9 +63,9 @@
stian
Jan de Mooij
Tyler Wade
+ Vincent Legoll
Michael Foord
Stephan Diehl
- Vincent Legoll
Stefan Schwarzer
Valentino Volonghi
Tomek Meka
@@ -74,31 +74,34 @@
Bruno Gola
David Malcolm
Jean-Paul Calderone
+ Mark Young
Timo Paulssen
Squeaky
+ Devin Jeanpierre
Marius Gedminas
Alexandre Fayolle
Simon Burton
+ Stefano Rivera
Martin Matusiak
Konstantin Lopuhin
- Stefano Rivera
Wenzhu Man
John Witulski
Laurence Tratt
+ Raffael Tfirst
Ivan Sichmann Freitas
Greg Price
Dario Bertini
Mark Pearse
Simon Cross
+ Edd Barrett
Andreas Stührk
- Edd Barrett
+ Tobias Pape
Jean-Philippe St. Pierre
Guido van Rossum
Pavel Vinogradov
Spenser Bauman
Jeremy Thurgood
Paweł Piotr Przeradowski
- Tobias Pape
Paul deGrandis
Ilya Osadchiy
marky1991
@@ -110,7 +113,6 @@
Georg Brandl
Bert Freudenberg
Stian Andreassen
- Mark Young
Wanja Saatkamp
Gerald Klix
Mike Blume
@@ -126,11 +128,13 @@
Dusty Phillips
Lukas Renggli
Guenter Jantzen
+ William Leslie
Ned Batchelder
Tim Felgentreff
Anton Gulenko
Amit Regmi
Ben Young
+ Sergey Matyunin
Nicolas Chauvat
Andrew Durdin
Andrew Chambers
@@ -141,9 +145,9 @@
Yichao Yu
Rocco Moretti
Gintautas Miliauskas
- Devin Jeanpierre
Michael Twomey
Lucian Branescu Mihaila
+ anatoly techtonik
Gabriel Lavoie
Olivier Dormond
Jared Grubb
@@ -153,8 +157,6 @@
Brian Dorsey
Victor Stinner
Andrews Medina
- anatoly techtonik
- Sergey Matyunin
Stuart Williams
Jasper Schulz
Christian Hudon
@@ -178,11 +180,11 @@
Alex Perry
Vaibhav Sood
Alan McIntyre
- William Leslie
Alexander Sedov
Attila Gobi
Jasper.Schulz
Christopher Pope
+ Florin Papa
Christian Tismer
Marc Abramowitz
Dan Stromberg
@@ -198,7 +200,6 @@
Lukas Vacek
Kunal Grover
Andrew Dalke
- Florin Papa
Sylvain Thenault
Jakub Stasiak
Nathan Taylor
@@ -240,8 +241,9 @@
Yury V. Zaytsev
Anna Katrina Dominguez
Bobby Impollonia
- timo at eistee.fritz.box
+ Vasantha Ganesh K
Andrew Thompson
+ florinpapa
Yusei Tahara
Aaron Tubbs
Ben Darnell
@@ -265,9 +267,9 @@
Akira Li
Gustavo Niemeyer
Stephan Busemann
- florinpapa
Rafał Gałczyński
Matt Bogosian
+ timo
Christian Muirhead
Berker Peksag
James Lan
diff --git a/pypy/doc/index-of-release-notes.rst b/pypy/doc/index-of-release-notes.rst
--- a/pypy/doc/index-of-release-notes.rst
+++ b/pypy/doc/index-of-release-notes.rst
@@ -6,6 +6,7 @@
.. toctree::
+ release-pypy2.7-v5.3.0.rst
release-5.1.1.rst
release-5.1.0.rst
release-5.0.1.rst
diff --git a/pypy/doc/index-of-whatsnew.rst b/pypy/doc/index-of-whatsnew.rst
--- a/pypy/doc/index-of-whatsnew.rst
+++ b/pypy/doc/index-of-whatsnew.rst
@@ -7,6 +7,7 @@
.. toctree::
whatsnew-head.rst
+ whatsnew-pypy2-5.3.0.rst
whatsnew-5.1.0.rst
whatsnew-5.0.0.rst
whatsnew-4.0.1.rst
diff --git a/pypy/doc/project-ideas.rst b/pypy/doc/project-ideas.rst
--- a/pypy/doc/project-ideas.rst
+++ b/pypy/doc/project-ideas.rst
@@ -53,15 +53,17 @@
immediately, but only when (and if) ``myslice`` or ``mylist`` are mutated.
-Numpy improvements
-------------------
+NumPy rebooted
+--------------
-The numpy is rapidly progressing in pypy, so feel free to come to IRC and
-ask for proposed topic. A not necesarilly up-to-date `list of topics`_
-is also available.
+Our cpyext C-API compatiblity layer can now run upstream NumPy unmodified.
+Release PyPy2.7-v5.3 still fails about 200 of the ~6000 test in the NumPy
+test suite. We could use help analyzing the failures and fixing them either
+as patches to upstream NumPy, or as fixes to PyPy.
-.. _list of topics: https://bitbucket.org/pypy/extradoc/src/extradoc/planning/micronumpy.txt
-
+We also are looking for help in how to hijack NumPy dtype conversion and
+ufunc calls to allow the JIT to make them fast, using our internal _numpypy
+module.
Improving the jitviewer
------------------------
diff --git a/pypy/doc/release-pypy2.7-v5.3.0.rst b/pypy/doc/release-pypy2.7-v5.3.0.rst
--- a/pypy/doc/release-pypy2.7-v5.3.0.rst
+++ b/pypy/doc/release-pypy2.7-v5.3.0.rst
@@ -2,11 +2,12 @@
PyPy2.7 v5.3
============
-We have released PyPy2.7 v5.3, about six weeks after PyPy 5.1.
-This release includes further improvements for the CAPI compatibility layer
-which we call cpyext. In addtion to complete support for lxml, we now pass
-most (more than 90%) of the upstream numpy test suite, and much of SciPy is
-supported as well.
+We have released PyPy2.7 v5.3, about six weeks after PyPy 5.1 and a week after
+`PyPy3.3 v5.2 alpha 1`_, the first PyPy release targetting 3.3
+compatibility. This new PyPy2.7 release includes further improvements for the
+CAPI compatibility layer which we call cpyext. In addtion to complete support
+for lxml, we now pass most (more than 90%) of the upstream numpy test suite,
+and much of SciPy is supported as well.
We also improved the speed of ... and ...
@@ -65,6 +66,7 @@
* Merge a major expansion of the C-API support in cpyext, here are some of
the highlights:
+
- allow c-snippet tests to be run with -A so we can verify we are compatible
- fix many edge cases exposed by fixing tests to run with -A
- issequence() logic matches cpython
@@ -183,6 +185,7 @@
* Compile c snippets with -Werror, and fix warnings it exposed
+.. _`PyPy3.3 v5.2 alpha 1`: http://morepypy.blogspot.com/2016/05/pypy33-v52-alpha-1-released.html
.. _resolved: http://doc.pypy.org/en/latest/whatsnew-5.3.0.html
.. _Numpy: https://bitbucket.org/pypy/numpy
diff --git a/pypy/doc/tool/makecontributor.py b/pypy/doc/tool/makecontributor.py
--- a/pypy/doc/tool/makecontributor.py
+++ b/pypy/doc/tool/makecontributor.py
@@ -73,6 +73,8 @@
'Richard Lancaster':['richardlancaster'],
'William Leslie':['William ML Leslie'],
'Spenser Bauman':['Spenser Andrew Bauman'],
+ 'Raffael Tfirst':['raffael.tfirst at gmail.com'],
+ 'timo':['timo at eistee.fritz.box'],
}
alias_map = {}
diff --git a/pypy/doc/whatsnew-head.rst b/pypy/doc/whatsnew-head.rst
--- a/pypy/doc/whatsnew-head.rst
+++ b/pypy/doc/whatsnew-head.rst
@@ -1,145 +1,7 @@
=========================
-What's new in PyPy 5.1+
+What's new in PyPy2.7 5.3+
=========================
-.. this is a revision shortly after release-5.1
-.. startrev: aa60332382a1
+.. this is a revision shortly after release-pypy2.7-v5.3
+.. startrev: 873218a739f1
-.. branch: techtonik/introductionrst-simplify-explanation-abo-1460879168046
-
-.. branch: gcheader-decl
-
-Reduce the size of generated C sources.
-
-
-.. branch: remove-objspace-options
-
-Remove a number of options from the build process that were never tested and
-never set. Fix a performance bug in the method cache.
-
-.. branch: bitstring
-
-JIT: use bitstrings to compress the lists of read or written descrs
-that we attach to EffectInfo. Fixes a problem we had in
-remove-objspace-options.
-
-.. branch: cpyext-for-merge
-
-Update cpyext C-API support After this branch, we are almost able to support
-upstream numpy via cpyext, so we created (yet another) fork of numpy at
-github.com/pypy/numpy with the needed changes. Among the significant changes
-to cpyext:
- - allow c-snippet tests to be run with -A so we can verify we are compatible
- - fix many edge cases exposed by fixing tests to run with -A
- - issequence() logic matches cpython
- - make PyStringObject and PyUnicodeObject field names compatible with cpython
- - add prelminary support for PyDateTime_*
- - support PyComplexObject, PyFloatObject, PyDict_Merge, PyDictProxy,
- PyMemoryView_*, _Py_HashDouble, PyFile_AsFile, PyFile_FromFile,
- - PyAnySet_CheckExact, PyUnicode_Concat
- - improve support for PyGILState_Ensure, PyGILState_Release, and thread
- primitives, also find a case where CPython will allow thread creation
- before PyEval_InitThreads is run, dissallow on PyPy
- - create a PyObject-specific list strategy
- - rewrite slot assignment for typeobjects
- - improve tracking of PyObject to rpython object mapping
- - support tp_as_{number, sequence, mapping, buffer} slots
-
-(makes the pypy-c bigger; this was fixed subsequently by the
-share-cpyext-cpython-api branch)
-
-.. branch: share-mapdict-methods-2
-
-Reduce generated code for subclasses by using the same function objects in all
-generated subclasses.
-
-.. branch: share-cpyext-cpython-api
-
-.. branch: cpyext-auto-gil
-
-CPyExt tweak: instead of "GIL not held when a CPython C extension module
-calls PyXxx", we now silently acquire/release the GIL. Helps with
-CPython C extension modules that call some PyXxx() functions without
-holding the GIL (arguably, they are theorically buggy).
-
-.. branch: cpyext-test-A
-
-Get the cpyext tests to pass with "-A" (i.e. when tested directly with
-CPython).
-
-.. branch: oefmt
-
-.. branch: cpyext-werror
-
-Compile c snippets with -Werror in cpyext
-
-.. branch: gc-del-3
-
-Add rgc.FinalizerQueue, documented in pypy/doc/discussion/finalizer-order.rst.
-It is a more flexible way to make RPython finalizers.
-
-.. branch: unpacking-cpython-shortcut
-
-.. branch: cleanups
-
-.. branch: cpyext-more-slots
-
-.. branch: use-gc-del-3
-
-Use the new rgc.FinalizerQueue mechanism to clean up the handling of
-``__del__`` methods. Fixes notably issue #2287. (All RPython
-subclasses of W_Root need to use FinalizerQueue now.)
-
-.. branch: ufunc-outer
-
-Implement ufunc.outer on numpypy
-
-.. branch: verbose-imports
-
-Support ``pypy -v``: verbose imports. It does not log as much as
-cpython, but it should be enough to help when debugging package layout
-problems.
-
-.. branch: cpyext-macros-cast
-
-Fix some warnings when compiling CPython C extension modules
-
-.. branch: syntax_fix
-
-.. branch: remove-raisingops
-
-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.
-
-.. branch: cpyext-old-buffers
-
-Generalize cpyext old-style buffers to more than just str/buffer, add support for mmap
-
-.. branch: numpy-includes
-
-Move _numpypy headers into a directory so they are not picked up by upstream numpy, scipy
-This allows building upstream numpy and scipy in pypy via cpyext
-
-.. branch: traceviewer-common-merge-point-formats
-
-Teach RPython JIT's off-line traceviewer the most common ``debug_merge_point`` formats.
-
-.. branch: cpyext-pickle
-
-Enable pickling of W_PyCFunctionObject by monkeypatching pickle.Pickler.dispatch
-at cpyext import time
-
-.. branch: nonmovable-list
-
-Add a way to ask "give me a raw pointer to this list's
-items". Only for resizable lists of primitives. Turns the GcArray
-nonmovable, possibly making a copy of it first.
-
-.. branch: cpyext-ext
-
-Finish the work already partially merged in cpyext-for-merge. Adds support
-for ByteArrayObject using the nonmovable-list, which also enables
-buffer(bytearray(<some-list>))
diff --git a/pypy/doc/whatsnew-head.rst b/pypy/doc/whatsnew-pypy2-5.3.0.rst
copy from pypy/doc/whatsnew-head.rst
copy to pypy/doc/whatsnew-pypy2-5.3.0.rst
--- a/pypy/doc/whatsnew-head.rst
+++ b/pypy/doc/whatsnew-pypy2-5.3.0.rst
@@ -1,5 +1,5 @@
=========================
-What's new in PyPy 5.1+
+What's new in PyPy2.7 5.3
=========================
.. this is a revision shortly after release-5.1
diff --git a/pypy/module/_cffi_backend/__init__.py b/pypy/module/_cffi_backend/__init__.py
--- a/pypy/module/_cffi_backend/__init__.py
+++ b/pypy/module/_cffi_backend/__init__.py
@@ -3,7 +3,7 @@
from rpython.rlib import rdynload, clibffi, entrypoint
from rpython.rtyper.lltypesystem import rffi
-VERSION = "1.6.0"
+VERSION = "1.7.0"
FFI_DEFAULT_ABI = clibffi.FFI_DEFAULT_ABI
try:
diff --git a/pypy/module/_cffi_backend/test/_backend_test_c.py b/pypy/module/_cffi_backend/test/_backend_test_c.py
--- a/pypy/module/_cffi_backend/test/_backend_test_c.py
+++ b/pypy/module/_cffi_backend/test/_backend_test_c.py
@@ -1,7 +1,7 @@
# ____________________________________________________________
import sys
-assert __version__ == "1.6.0", ("This test_c.py file is for testing a version"
+assert __version__ == "1.7.0", ("This test_c.py file is for testing a version"
" of cffi that differs from the one that we"
" get from 'import _cffi_backend'")
if sys.version_info < (3,):
diff --git a/pypy/module/test_lib_pypy/cffi_tests/cffi0/backend_tests.py b/pypy/module/test_lib_pypy/cffi_tests/cffi0/backend_tests.py
--- a/pypy/module/test_lib_pypy/cffi_tests/cffi0/backend_tests.py
+++ b/pypy/module/test_lib_pypy/cffi_tests/cffi0/backend_tests.py
@@ -1359,8 +1359,8 @@
ffi = FFI(backend=self.Backend())
ffi.cdef("enum foo;")
from cffi import __version_info__
- if __version_info__ < (1, 7):
- py.test.skip("re-enable me in version 1.7")
+ if __version_info__ < (1, 8):
+ py.test.skip("re-enable me in version 1.8")
e = py.test.raises(CDefError, ffi.cast, "enum foo", -1)
assert str(e.value) == (
"'enum foo' has no values explicitly defined: refusing to guess "
diff --git a/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py b/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py
--- a/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py
+++ b/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py
@@ -1909,3 +1909,10 @@
assert ffi.list_types() == (['CFFIb', 'CFFIbb', 'CFFIbbb'],
['CFFIa', 'CFFIcc', 'CFFIccc'],
['CFFIaa', 'CFFIaaa', 'CFFIg'])
+
+def test_bool_in_cpp():
+ # this works when compiled as C, but in cffi < 1.7 it fails as C++
+ ffi = FFI()
+ ffi.cdef("bool f(void);")
+ lib = verify(ffi, "test_bool_in_cpp", "char f(void) { return 2; }")
+ assert lib.f() == 1
diff --git a/pypy/tool/release/repackage.sh b/pypy/tool/release/repackage.sh
--- a/pypy/tool/release/repackage.sh
+++ b/pypy/tool/release/repackage.sh
@@ -1,7 +1,7 @@
# Edit these appropriately before running this script
maj=5
-min=1
-rev=2
+min=3
+rev=0
branchname=release-$maj.x # ==OR== release-$maj.$min.x
tagname=release-$maj.$min.$rev # ==OR== release-$maj.$min
@@ -10,6 +10,7 @@
echo checking hg log -r $tagname
hg log -r $tagname || exit 1
+rel=pypy2-v$maj.$min.$rev
# This script will download latest builds from the buildmaster, rename the top
# level directory, and repackage ready to be uploaded to bitbucket. It will also
# download source, assuming a tag for the release already exists, and repackage them.
@@ -24,27 +25,27 @@
if [ $plat = linux ]; then
plat_final=linux32
fi
- mv pypy-c-jit-*-$plat pypy-$maj.$min.$rev-$plat_final
+ mv pypy-c-jit-*-$plat $rel-$plat_final
echo packaging $plat_final
- tar --owner=root --group=root --numeric-owner -cvjf pypy-$maj.$min.$rev-$plat_final.tar.bz2 pypy-$maj.$min.$rev-$plat_final
- rm -rf pypy-$maj.$min.$rev-$plat_final
+ tar --owner=root --group=root --numeric-owner -cjf $rel-$plat_final.tar.bz2 $rel-$plat_final
+ rm -rf $rel-$plat_final
done
plat=win32
wget http://buildbot.pypy.org/nightly/$branchname/pypy-c-jit-latest-$plat.zip
unzip pypy-c-jit-latest-$plat.zip
-mv pypy-c-jit-*-$plat pypy-$maj.$min.$rev-$plat
-zip -r pypy-$maj.$min.$rev-$plat.zip pypy-$maj.$min.$rev-$plat
-rm -rf pypy-$maj.$min.$rev-$plat
+mv pypy-c-jit-*-$plat $rel-$plat
+zip -r $rel-$plat.zip $rel-$plat
+rm -rf $rel-$plat
# Do this after creating a tag, note the untarred directory is pypy-pypy-<hash>
# so make sure there is not another one
wget https://bitbucket.org/pypy/pypy/get/$tagname.tar.bz2
tar -xf $tagname.tar.bz2
-mv pypy-pypy-* pypy-$maj.$min.$rev-src
-tar --owner=root --group=root --numeric-owner -cvjf pypy-$maj.$min.$rev-src.tar.bz2 pypy-$maj.$min.$rev-src
-zip -r pypy-$maj.$min.$rev-src.zip pypy-$maj.$min.$rev-src
-rm -rf pypy-$maj.$min.$rev-src
+mv pypy-pypy-* $rel-src
+tar --owner=root --group=root --numeric-owner -cjf $rel-src.tar.bz2 $rel-src
+zip -r $rel-src.zip $rel-src
+rm -rf $rel-src
# Print out the md5, sha1, sha256
md5sum *.bz2 *.zip
diff --git a/rpython/jit/backend/arm/regalloc.py b/rpython/jit/backend/arm/regalloc.py
--- a/rpython/jit/backend/arm/regalloc.py
+++ b/rpython/jit/backend/arm/regalloc.py
@@ -398,8 +398,8 @@
self.rm.force_spill_var(var)
def before_call(self, save_all_regs=False):
- self.rm.before_call(save_all_regs)
- self.vfprm.before_call(save_all_regs)
+ self.rm.before_call(save_all_regs=save_all_regs)
+ self.vfprm.before_call(save_all_regs=save_all_regs)
def _sync_var(self, v):
if v.type == FLOAT:
diff --git a/rpython/rlib/rgc.py b/rpython/rlib/rgc.py
--- a/rpython/rlib/rgc.py
+++ b/rpython/rlib/rgc.py
@@ -1241,6 +1241,7 @@
return hop.gendirectcall(ll_nonmovable_raw_ptr_for_resizable_list,
v_list)
+ at jit.dont_look_inside
def ll_nonmovable_raw_ptr_for_resizable_list(ll_list):
"""
WARNING: dragons ahead.
diff --git a/rpython/rtyper/rtyper.py b/rpython/rtyper/rtyper.py
--- a/rpython/rtyper/rtyper.py
+++ b/rpython/rtyper/rtyper.py
@@ -204,6 +204,9 @@
blockcount = 0
self.annmixlevel = None
while True:
+ # make sure all reprs so far have had their setup() called
+ self.call_all_setups()
+
# look for blocks not specialized yet
pending = [block for block in self.annotator.annotated
if block not in self.already_seen]
@@ -236,8 +239,6 @@
previous_percentage = percentage
self.log.event('specializing: %d / %d blocks (%d%%)' %
(n, total, percentage))
- # make sure all reprs so far have had their setup() called
- self.call_all_setups()
self.log.event('-=- specialized %d%s blocks -=-' % (
blockcount, newtext))
diff --git a/rpython/translator/c/database.py b/rpython/translator/c/database.py
--- a/rpython/translator/c/database.py
+++ b/rpython/translator/c/database.py
@@ -48,7 +48,6 @@
self.delayedfunctionptrs = []
self.completedcontainers = 0
self.containerstats = {}
- self.helpers = OrderedDict()
# late_initializations is for when the value you want to
# assign to a constant object is something C doesn't think is
diff --git a/rpython/translator/c/extfunc.py b/rpython/translator/c/extfunc.py
--- a/rpython/translator/c/extfunc.py
+++ b/rpython/translator/c/extfunc.py
@@ -7,27 +7,6 @@
from rpython.translator.c.support import cdecl
-def predeclare_common_types(db, rtyper):
- # Common types
- yield ('RPyString', STR)
-
-def predeclare_utility_functions(db, rtyper):
- # Common utility functions
- def RPyString_New(length=lltype.Signed):
- return mallocstr(length)
-
- for fname, f in locals().items():
- if isinstance(f, types.FunctionType):
- # XXX this is painful :(
- if fname in db.helpers:
- yield (fname, db.helpers[fname])
- else:
- # hack: the defaults give the type of the arguments
- graph = rtyper.annotate_helper(f, f.func_defaults)
- db.helpers[fname] = graph
- yield (fname, graph)
-
-
def predeclare_exception_data(exctransformer, rtyper):
# Exception-related types and constants
exceptiondata = rtyper.exceptiondata
@@ -56,11 +35,8 @@
def predeclare_all(db, rtyper):
- for fn in [predeclare_common_types,
- predeclare_utility_functions,
- ]:
- for t in fn(db, rtyper):
- yield t
+ # Common types
+ yield ('RPyString', STR)
exctransformer = db.exctransformer
for t in predeclare_exception_data(exctransformer, rtyper):
diff --git a/rpython/translator/c/src/rtyper.c b/rpython/translator/c/src/rtyper.c
--- a/rpython/translator/c/src/rtyper.c
+++ b/rpython/translator/c/src/rtyper.c
@@ -36,11 +36,3 @@
free(dump);
}
}
-
-RPyString *RPyString_FromString(char *buf)
-{
- int length = strlen(buf);
- RPyString *rps = RPyString_New(length);
- memcpy(rps->rs_chars.items, buf, length);
- return rps;
-}
diff --git a/rpython/translator/c/src/rtyper.h b/rpython/translator/c/src/rtyper.h
--- a/rpython/translator/c/src/rtyper.h
+++ b/rpython/translator/c/src/rtyper.h
@@ -11,4 +11,3 @@
RPY_EXTERN char *RPyString_AsCharP(RPyString *rps);
RPY_EXTERN void RPyString_FreeCache(void);
-RPY_EXTERN RPyString *RPyString_FromString(char *buf);
More information about the pypy-commit
mailing list