This sounds good to me, Armin. I've always felt that a JIT that can't learn from previous executions is never going to be able to make deep optimisations. And all mainstream jits have this problem, they get to a certain level of optimisation technology and stagnate. So I think this is a really good direction to be thinking in.
My supportive 0.1 cent, njh On Sat, Feb 07, 2015 at 08:30:32PM +0100, Armin Rigo wrote: > Re-hi, > > In fact, after more discussion on irc, it seems that we can (almost or > completely) decide "we can reuse this saved trace" like this: "if we > trace it again, we follow the same path in the jitcodes". Indeed, > this path implicitly encodes all the relevant information, like which > Python opcodes we see, the result of the other kinds of guards > (including what I called "green guards"), and so on. What is left is > the issue that in the reused trace, we need to patch the constants to > be the ones seen during this new tracing. (Well, and a lot of careful > review for anything that might have looked inside Consts between > tracing and assembler generation, notably in the optimizer.) > > > A bientôt, > > Armin. > _______________________________________________ > pypy-dev mailing list > pypy-dev@python.org > https://mail.python.org/mailman/listinfo/pypy-dev _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev