On Sat, Jul 3, 2010 at 8:20 AM, Maciej Fijalkowski <fij...@gmail.com> wrote: >>> 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.
Could it be treated similar to how you handle: s=0 i=0 while i<100000: s+=i i+=1 if i>50000: i=float(i) which nicely generates two separate traces I believe... -- Håkan Ardö _______________________________________________ pypy-dev@codespeak.net http://codespeak.net/mailman/listinfo/pypy-dev