Author: Richard Plangger <planri...@gmail.com> Branch: ppc-vsx-support Changeset: r85782:474f49c7293b Date: 2016-07-20 15:51 +0200 http://bitbucket.org/pypy/pypy/changeset/474f49c7293b/
Log: merge default diff --git a/pypy/doc/install.rst b/pypy/doc/install.rst --- a/pypy/doc/install.rst +++ b/pypy/doc/install.rst @@ -39,17 +39,16 @@ library. If you want to install 3rd party libraries, the most convenient way is -to install pip_ (unless you want to install virtualenv as explained -below; then you can directly use pip inside virtualenvs): +to install pip_ using ensurepip_ (unless you want to install virtualenv as +explained below; then you can directly use pip inside virtualenvs): .. code-block:: console - $ curl -O https://bootstrap.pypa.io/get-pip.py - $ ./pypy-2.1/bin/pypy get-pip.py - $ ./pypy-2.1/bin/pip install pygments # for example + $ ./pypy-xxx/bin/pypy -m ensurepip + $ ./pypy-xxx/bin/pip install pygments # for example -Third party libraries will be installed in ``pypy-2.1/site-packages``, and -the scripts in ``pypy-2.1/bin``. +Third party libraries will be installed in ``pypy-xxx/site-packages``, and +the scripts in ``pypy-xxx/bin``. Installing using virtualenv @@ -61,7 +60,7 @@ checkout:: # from a tarball - $ virtualenv -p /opt/pypy-c-jit-41718-3fb486695f20-linux/bin/pypy my-pypy-env + $ virtualenv -p /opt/pypy-xxx/bin/pypy my-pypy-env # from the mercurial checkout $ virtualenv -p /path/to/pypy/pypy/translator/goal/pypy-c my-pypy-env @@ -69,7 +68,7 @@ Note that bin/python is now a symlink to bin/pypy. .. _pip: http://pypi.python.org/pypi/pip - +.. _ensurepip: https://docs.python.org/2.7/library/ensurepip.html Building PyPy yourself ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/rpython/jit/backend/zarch/assembler.py b/rpython/jit/backend/zarch/assembler.py --- a/rpython/jit/backend/zarch/assembler.py +++ b/rpython/jit/backend/zarch/assembler.py @@ -356,9 +356,6 @@ self.mc = None def _build_propagate_exception_path(self): - if not self.cpu.propagate_exception_descr: - return - self.mc = InstrBuilder() # # read and reset the current exception @@ -487,7 +484,7 @@ # Check that we don't get NULL; if we do, we always interrupt the # current loop, as a "good enough" approximation (same as # emit_call_malloc_gc()). - self.propagate_memoryerror_if_r2_is_null(True) + self.propagate_memoryerror_if_reg_is_null(r.r2, True) self._pop_core_regs_from_jitframe(mc, saved_regs) self._pop_fp_regs_from_jitframe(mc) @@ -797,12 +794,12 @@ self.mc.BRC(condition, l.imm(off)) # branch over XGR self.mc.XGR(result_loc, result_loc) - def propagate_memoryerror_if_r2_is_null(self, pop_one_stackframe=False): + def propagate_memoryerror_if_reg_is_null(self, reg, pop_one_stackframe=False): # if self.propagate_exception_path == 0 (tests), this may jump to 0 # and segfaults. too bad. the alternative is to continue anyway - # with r2==0, but that will segfault too. + # with reg==0, but that will segfault too. jmp_pos = self.mc.get_relative_pos() - # bails to propagate exception path if r2 != 0 + # bails to propagate exception path if reg != 0 self.mc.reserve_cond_jump() self.mc.load_imm(r.RETURN, self.propagate_exception_path) @@ -812,7 +809,7 @@ curpos = self.mc.currpos() pmc = OverwritingBuilder(self.mc, jmp_pos, 1) - pmc.CGIJ(r.r2, l.imm(0), c.NE, l.imm(curpos - jmp_pos)) + pmc.CGIJ(reg, l.imm(0), c.NE, l.imm(curpos - jmp_pos)) pmc.overwrite() def regalloc_push(self, loc, already_pushed): diff --git a/rpython/jit/backend/zarch/opassembler.py b/rpython/jit/backend/zarch/opassembler.py --- a/rpython/jit/backend/zarch/opassembler.py +++ b/rpython/jit/backend/zarch/opassembler.py @@ -421,9 +421,8 @@ class AllocOpAssembler(object): _mixin_ = True - def emit_call_malloc_gc(self, op, arglocs, regalloc): - self._emit_call(op, arglocs) - self.propagate_memoryerror_if_r2_is_null() + def emit_check_memory_error(self, op, arglocs, regalloc): + self.propagate_memoryerror_if_reg_is_null(arglocs[0]) def emit_call_malloc_nursery(self, op, arglocs, regalloc): # registers r.RES and r.RSZ are allocated for this call diff --git a/rpython/jit/backend/zarch/regalloc.py b/rpython/jit/backend/zarch/regalloc.py --- a/rpython/jit/backend/zarch/regalloc.py +++ b/rpython/jit/backend/zarch/regalloc.py @@ -828,8 +828,9 @@ prepare_call_f = _prepare_call prepare_call_n = _prepare_call - def prepare_call_malloc_gc(self, op): - return self._prepare_call_default(op) + def prepare_check_memory_error(self, op): + loc = self.ensure_reg(op.getarg(0)) + return [loc] def prepare_call_malloc_nursery(self, op): self.rm.force_allocate_reg(op, selected_reg=r.RES) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit