[Python-Dev] seeing off SET_LINENO
Guido van Rossum
Fri, 02 Aug 2002 12:13:56 -0400
> The problem is that when we jump into the epilogue, a 'line' trace
> event gets generated before the 'return' one. So there is no
> --Return-- hint.
Ah, I missed that detail in your transcript.
> 1) Don't you find the idea of type(co.co_code) == types.ArrayType at
> least a little scary? Mainly due to resizes -- having mutable code
> might be nice for development environments and such.
Yes, it's scary. But nobody does this, and as you say, it can't be
done from Python.
> 2) I thought it was possible for bf_getreadbuffer to fail (maybe I'm
> wrong here). _PyCode_GETCODEPTR does no error checking.
So one should only use objects whose bf_getreadbuffer won't fail (when
invoked with segment index 0).
> > I'd be happy to kill it as a YAGNI.
> That's nice, but if...
> > But that still doesn't mean I approve checking for "4 bytes from the
> > end".
> ...it doesn't actually help.
Well, it kills off a potentially unsafe feature.
> Does anyone have any better ideas for not generating 'line' trace
> events in the epilogue?
Use a separate opcode for which you could check?
--Guido van Rossum (home page: http://www.python.org/~guido/)