That doc helped a lot, and the bit on self = hint(self...) solved several
more issues.


Thanks,

Timothy


On Mon, Feb 24, 2014 at 1:44 PM, Maciej Fijalkowski <fij...@gmail.com>wrote:

> since we managed to even write a document, please read it ;-)
>
> http://doc.pypy.org/en/latest/jit/virtualizable.html
>
> On Mon, Feb 24, 2014 at 9:37 PM, Timothy Baldridge <tbaldri...@gmail.com>
> wrote:
> > That did the trick. My "count up" program now consists of int_eq, a guard
> > and int_add, that's what I wanted to see.  Thanks!
> >
> > Timothy
> >
> >
> > On Sun, Feb 23, 2014 at 1:06 AM, Armin Rigo <ar...@tunes.org> wrote:
> >>
> >> Hi Timothy,
> >>
> >> On 23 February 2014 01:24, Timothy Baldridge <tbaldri...@gmail.com>
> wrote:
> >> > I tried digging into the PyPy source to find how how this is done
> there,
> >> > but
> >> > I haven't been able to find it yet.
> >>
> >> pypy/interpreter/pyframe.py: self.locals_stack_w.  The trick is that
> >> it's an attribute of a "frame" class, which is itself turned into a
> >> virtualizable with a special declaration about the attribute.  See
> >> ``PyFrame._virtualizable_ = ['locals_stack_w[*]']'' in
> >> pypy/module/pypyjit/interp_jit.py.  It's currently the only way to
> >> trigger special behavior about the list: you have to make it a
> >> special attribute of a virtualizable "frame" class.
> >>
> >>
> >> A bientôt,
> >>
> >> Armin.
> >
> >
> >
> >
> > --
> > "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)
> >
> > _______________________________________________
> > pypy-dev mailing list
> > pypy-dev@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)
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to