[pypy-dev] pypy 4.0.0 "Fatal RPython error: AssertionError"

Armin Rigo arigo at tunes.org
Sat Nov 7 08:25:29 EST 2015


Hi Hakan,

On Sat, Nov 7, 2015 at 12:11 PM, Hakan Ardo <hakan at debian.org> wrote:
> Also maybe for an opaque pointer to an array that was pointing some instance
> in the first iteration?

Yes, anything dereferencing a pointer basically---during optimization.
It should only matter for Consts.

I realized it is annoying: in theory, we can try to unroll this loop:

        [i0, i1]
        i2 = int_gt(i1, 0)
        guard_true(i2) []
        i4 = getarrayitem_raw_pure_i(i0, 0, descr=rawarraydescr)
        i3 = int_sub(i1, 1)
        jump(12345, i3)

The "12345" is a nonsensical constant raw pointer.  Again, this only
makes sense if it is called with i1 = 0 or 1, but unrolling will
really try to perform the getarrayitem_raw_pure(12345, 0) during
optimization.

More thoughts needed.


A bientôt,

Armin.


More information about the pypy-dev mailing list