[pypy-dev] Interpreter level array implementation

Maciej Fijalkowski fijall at gmail.com
Sat Jul 3 08:20:01 CEST 2010

On Sat, Jul 3, 2010 at 12:14 AM, Hakan Ardo <hakan at debian.org> wrote:
> On Fri, Jul 2, 2010 at 11:21 PM, Maciej Fijalkowski <fijall at gmail.com> wrote:
>> General note - we consider 2x optimized C a pretty good result :) Details below
> As do I :) I just want  to make this as jit-friendly as possible
> without rely knowing what's jit-friendly...

I think it's fairly JIT friendly. You can look into traces (as you
did), but seems fine to me.

>> Yes. We don't do loop invariant optimizations for some reasons, the
>> best of it being the fact that to loop you can always add a bridge
>> which will invalidate this invariant.
> Are you telling me that you probably never will include that kind of
> optimization because of the limitations it imposes on other parts of
> the jit or just that it would be a lot of work to get it in place?

It requires thinking. It's harder to do because we don't know
statically upfront how many paths we'll compile to assembler, but I
can think about ways to mitigate that.

> What is a bridge?

If guard fails often enough, it's traced and compiled to assembler.
That's a bridge

> --
> Håkan Ardö

More information about the Pypy-dev mailing list