[pypy-dev] Duplicated guards

Alex Gaynor alex.gaynor at gmail.com
Sat Aug 20 10:37:34 CEST 2011


I believe mozilla worked on this issue.  if.you're interested in this
perhaps we should get you in contact with them.
On Aug 20, 2011 3:35 AM, "Hakan Ardo" <hakan at debian.org> wrote:
> Hi,
> I've been experimenting a bit with heuristics such as "not retracing
> loops with a lot of guards" or "not unrolling if the peel loop is not
> much better than the preamble". In some situations is seem possible to
> increase performace by such means (go: +37%, html5lib: +13%, rietveld:
> +8%). However I think the real problem is that we duplicate guards and
> that this leads to an explosion of bridges. I added
> test_excessive_bridgeing to test_ajit on the jit-limit_peeling branch.
> It is a simple example where the last part of the loop is traced 8
> times producing 8 identical bridges.
>
> Is there any chance of identifying copies of "the same guard" (in some
> sens that considers both the address of the guard and the state of
> virtuals) and when the second copy of the guards is about to be traced
> we would just connect it to the already compiled bridge? Maybe by
> producing a small header-bridge that moves things around and then
> jumps to the already compiled bridge?
>
> --
> Håkan Ardö
> _______________________________________________
> pypy-dev mailing list
> pypy-dev at python.org
> http://mail.python.org/mailman/listinfo/pypy-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20110820/a063d202/attachment.html>


More information about the pypy-dev mailing list