Carl Friedrich Bolz wrote:

...

It is actually the replace_gc_(un)protect code that you wrote. The problem is that you replace an operation

v0 = gc_unprotect(obj)

with no operation. That means that afterwards v0 is undefined. For some reason the checkgraph in the gctransformer was removed at one point (I thought there was one there), so you found this problem only _much_ later in the backend optimizations.

I wasn't aware that I cannot remove an operation.

This is not entirely your fault, the
problem is indeed that gctransformer is a mess, you should not have to care for generating a

v0 = same_as(Constant(None, Void))

yourself. The transformer definitively needs some refactoring.

I don't care who's faults faults are, they are there to be made
and then to be removed.

ciao - chris
--
Christian Tismer             :^)   <mailto:[EMAIL PROTECTED]>
tismerysoft GmbH             :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 802 86 56  mobile +49 173 24 18 776  fax +49 30 80 90 57 05
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
     whom do you want to sponsor today?   http://www.stackless.com/
_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev

Reply via email to