Hi Dimitri, On 17 July 2014 15:06, Dimitri Vorona <alen...@googlemail.com> wrote: > http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-October/066573.html and this > piece of docs http://llvm.org/docs/StackMaps.html. As far as I understand, > the lack of patchpoints (i.e. a way to patch dynamically generated code) was > the major burden on the way to use LLVM for code generation for PyPy.
As far as I understand, this is not a general way to patch dynamically generated code, but only a way to patch code as some precise point which must be immediately after a call. I don't see how it helps with a tracing JIT, where patching is needed to replace a failing guard (which is indeed a call) with a non-failing optimized piece of code (which no longer calls anything, and which must be compiled from the guard's position and not as a complete function). I may be missing something, of course. I'd however recommend anybody interested in digging more to be aware of http://pypy.readthedocs.org/en/latest/faq.html#could-we-use-llvm (and as far as I'm concerned I'll stick to the position explained here). A bientôt, Armin. _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev