On Sat, Jul 3, 2010 at 12:14 AM, Hakan Ardo <[email protected]> wrote: > On Fri, Jul 2, 2010 at 11:21 PM, Maciej Fijalkowski <[email protected]> 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ö > _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
