[pypy-dev] What is ABORT_ESCAPE?

Maciej Fijalkowski fijall at gmail.com
Fri Sep 26 18:28:36 CEST 2014


ABORT_ESCAPE means that the virtualizable was accessed from outside
the JIT during tracing. This is a big no-no, virtualizables are meant
to be used *only* from the JIT and not from the outside. If you look
at the trace up to that  point, it should be relatively obvious what's
happening (e.g. something is a call and not inlined). The trace is an
argument to the JIT hook.

On Fri, Sep 26, 2014 at 6:22 PM, Timothy Baldridge <tbaldridge at gmail.com> wrote:
> I have a JIT I've been working on for a few days now, and initial results
> were awesome, the JIT log showed just a few assembly ops to execute each
> iteration of a simple "count to 10000" loop. However, then I changed
> something and the traces stopped being generated.
>
> I hooked up the JIT hooks and noticed that about every 1000 iterations I'd
> get "ABORT_ESCAPE".  After a bit more printing I get this:
> https://gist.githubusercontent.com/halgari/3cd3cd10f359f2103b89/raw/d8f335f72af5cf13c0b47b26e6d1e8b5c91b02ab/gistfile1.txt
>
> Now if I disable virtualizables, everything works fine. What should I be
> looking for to troubleshoot this?
>
> Thanks,
>
> Tim
>
>
> _______________________________________________
> pypy-dev mailing list
> pypy-dev at python.org
> https://mail.python.org/mailman/listinfo/pypy-dev
>


More information about the pypy-dev mailing list