[pypy-dev] Telling the JIT to remove a stack array

Armin Rigo arigo at tunes.org
Sun Feb 23 09:06:36 CET 2014


Hi Timothy,

On 23 February 2014 01:24, Timothy Baldridge <tbaldridge at 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.


More information about the pypy-dev mailing list