Hi Phillip, On Fri, Jun 16, 2006 at 10:01:05PM -0400, Phillip J. Eby wrote: > One thing I'm curious about, if there are any PyPy folks listening: will > tricks like this drive PyPy or Psyco insane? :)
Yes, both :-) The reason is that the details of the stack behavior of END_FINALLY are messy in CPython. The finally blocks are the only place where the depth of the stack is not known in advance: depending on how the finally block is entered, there will be between one and three objects pushed (a single None, or an int and another object, or an exception type, instance and traceback). Psyco cheats here and emulates a behavior where there is always exactly one object instead (which can be a tuple), so if a END_FINALLY sees values not put there in the "official" way it will just crash. PyPy works similarily but always expect three values. (Hum, Psyco could easily be fixed to support your use case... For PyPy it would be harder without performance hit) A bientot, Armin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com