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

Reply via email to