So, one solution is to simply write this loop in the interpreted language (this is what I did for Topaz, methods such as Array#each are just some ruby code). An alternative is to make a JitDriver for that function, see can see this pattern in pypy/objspace/std/setobject.py
Alex On Sun, Sep 28, 2014 at 7:28 PM, Timothy Baldridge <tbaldri...@gmail.com> wrote: > Let's say I have a bit of interpreter level code code that does something > as simple as reduce: > > acc = None > for x in range(10000): > acc = interpret(func, wrap(x)) > > return acc > > > The problem I seem to be hitting is that since there isn't a loop inside > the code (in the func variable) interpret is running, I don't seem to be > getting an efficient trace. In essence I want the trace to start at the > call to interpret, and inline enough of the above loop to end the trace at > the next call to interpret. > > What's the best way to go about doing something like that? > > Thanks, > > Tim > > _______________________________________________ > pypy-dev mailing list > pypy-dev@python.org > https://mail.python.org/mailman/listinfo/pypy-dev > > -- "I disapprove of what you say, but I will defend to the death your right to say it." -- Evelyn Beatrice Hall (summarizing Voltaire) "The people's good is the highest law." -- Cicero GPG Key fingerprint: 125F 5C67 DFE9 4084
_______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev