Re: [pypy-dev] Virtualizable Frames getting half removed in trace

2014-02-26 Thread Armin Rigo
Hi Timothy, On 25 February 2014 15:06, Timothy Baldridge wrote: > Then I noticed that the trace contained the creation of the argument list, > but that that list was never made. The trace was also making a call out to > some C function so that it could do the array = [None] * argc. I couldn't > g

Re: [pypy-dev] Virtualizable Frames getting half removed in trace

2014-02-25 Thread Maciej Fijalkowski
On Tue, Feb 25, 2014 at 4:06 PM, Timothy Baldridge wrote: > correction on my last email "but that list was never used" we use the same hack in PyPy for fast argument passing, it helps in non-jit case too. (we just use it up to 5 or so) > > > On Tue, Feb 25, 2014 at 7:06 AM, Timothy Baldridge >

Re: [pypy-dev] Virtualizable Frames getting half removed in trace

2014-02-25 Thread Timothy Baldridge
correction on my last email "but that list was never used" On Tue, Feb 25, 2014 at 7:06 AM, Timothy Baldridge wrote: > So I spent two more hours on this this morning and finally got some good > results. > > a) I turned on _immutable_ = True on the Code object. Should have done > this before. > >

Re: [pypy-dev] Virtualizable Frames getting half removed in trace

2014-02-25 Thread Timothy Baldridge
So I spent two more hours on this this morning and finally got some good results. a) I turned on _immutable_ = True on the Code object. Should have done this before. Then I noticed that the trace contained the creation of the argument list, but that that list was never made. The trace was also ma

Re: [pypy-dev] Virtualizable Frames getting half removed in trace

2014-02-25 Thread Armin Rigo
Hi Maciej, On 25 February 2014 09:09, Maciej Fijalkowski wrote: > ugh that looks really odd, why is p67 not removed escapes my attention Because we do setarrayitem and getarrayitem on non-constant indexes. > On Tue, Feb 25, 2014 at 6:36 AM, Timothy Baldridge > wrote: >> I'm attaching a copy o

Re: [pypy-dev] Virtualizable Frames getting half removed in trace

2014-02-25 Thread Carl Friedrich Bolz
Hey, The arrays escape because the indexes into the arrays are not constants. p67 = new_array(2, descr=) +1446: setarrayitem_gc(p67, i30, p60, descr=) Here, should i30 be always the same value? If yes, you should promote it before the array access. I couldn't figure out what p67 is, whether it's

Re: [pypy-dev] Virtualizable Frames getting half removed in trace

2014-02-25 Thread Maciej Fijalkowski
ugh that looks really odd, why is p67 not removed escapes my attention On Tue, Feb 25, 2014 at 6:36 AM, Timothy Baldridge wrote: > This may be a bit of a long post, but I'm trying to provide as much > information as possible. I'm attempting to work on a minimalistic Clojure > friendly VM. The byt