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