lp:~mwhudson/pypy/imported-unroll-safe-if-const-arg

Created by Michael Hudson-Doyle and last modified
Get this branch:
bzr branch lp:~mwhudson/pypy/imported-unroll-safe-if-const-arg
Only Michael Hudson-Doyle can upload to this branch. If you are Michael Hudson-Doyle please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Michael Hudson-Doyle
Project:
PyPy
Status:
Development

Recent revisions

23725. By cfbolz

mark character finding as pure. at some point we should do that systematically
about string functions.

23724. By cfbolz

this is on the silly side, but it helps the jit

23723. By cfbolz

two more unroll-safe needed

23722. By arigo

Add the jit.unroll_safe_if_const_arg decorator
to "x in (tuple)" and to string formatting.
Unsure if it's really a good idea in general
in string formatting, we will try.

23721. By arigo

(fijal, cfbolz looking, arigo)
Implement call_if_not_const in pyjitpl. Should be all.

23720. By arigo

Write the decorator, unroll_safe_if_const_arg(argpos).
Support it in codewriter.py.

23719. By arigo

Create a branch to implement rlib.jit.unroll_safe_if_const_arg().

23718. By arigo

Revert checkin by mistake.

23717. By arigo

(cfbolz, arigo)

Merge the branch/lazy-operr-format, replacing most

    raise OperationError(space.w_XxxError,
                         space.wrap("foo %s" % x))

with

    raise operationerrfmt(space.w_XxxError, "foo %s", x)

which is both a bit shorter and quite faster to run in the common case
where the exception is swallowed without being ever printed: the string
formatting is then never done.

23716. By fijal

(pedronis, fijal)
Merge the direct-assembler-call branch.

This branch implements a new operation CALL_ASSEMBLER, which happens
when we encounter a recursive portal call to a place that has assembler
already compiled. Speeds up certain cases, some by a significant %.
Slows down megamorphic calls, because with this branch, a call that was
compiled as CALL_ASSEMBLER is now a guard failure in case code object
is not the same.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:pypy
This branch contains Public information 
Everyone can see this information.