[pypy-dev] What is ABORT_ESCAPE?

Timothy Baldridge tbaldridge at gmail.com
Fri Sep 26 19:55:39 CEST 2014


So I've tried several things, but I'm still unable to figure out where the
trace ends. It seems that the green values handed to the hook are for the
start of the trace, which doesn't really help me with finding out where the
trace aborts.

"operations" seems to be a list of trace operations. I tried printing
.getarglist() off the last item in that list, but I'm not exactly sure what
that data contains.

What I'm trying to get to is something that says "at a call to function X
you tried to pass in a frame, now we have to force the frame".

Any thoughts?

Tim

On Fri, Sep 26, 2014 at 10:28 AM, Maciej Fijalkowski <fijall at gmail.com>
wrote:

> 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
> >
>



-- 
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20140926/8d53421e/attachment-0001.html>


More information about the pypy-dev mailing list