[Python-Dev] about line numbers
Vladimir Marangozov
Vladimir.Marangozov@inrialpes.fr
Fri, 20 Aug 1999 13:45:46 +0100 (NFT)
Guido van Rossum wrote:
>
> Earlier, you argued that this is "not an optimization," but rather
> avoiding redundancy.
I haven't argued so much; I asked whether this would be reasonable.
Probably I should have said that I don't see the purpose of emitting
SET_LINENO instructions for those nodes for which the compiler
generates no code, mainly because (as I learned subsequently) SET_LINENO
serve no other purpose but debugging. As I haven't payed much attention to
this aspect of the code, I thought thay they might still be used for
tracebacks. But I couldn't have said that because I didn't know it.
> I should have responded right then that I disagree, ...
Although I agree this is a minor issue, I'm interested in your argument
here, if it's something else than the dialectic: "we're more interested
in long term improvements" which is also my opinion.
> ... or at least I'm lukewarm about your patch.
No surprise here :-) But I haven't found another way of not generating
SET_LINENO for doc strings other than backpatching.
> Either you're
> not using -O, and then you don't care much about this; or you care,
> and then you should be using -O.
Neither of those. I don't really care, frankly. I was just intrigued by
the consecutive SET_LINENO in my disassemblies, so I started to think
and ask questions about it.
>
> Rather than encrusting the code with more and more ad-hoc micro
> optimizations, I'd prefer to have someone look into Tim's suggestion
> of supporting more efficient breakpoints...
This is *the* real issue with the real potential solution. I'm willing
to have a look at this (although I don't know pdb/bdb in its finest
details). All suggestions and thoughts are welcome.
We would probably leave the SET_LINENO opcode as is and (eventually)
introduce a new opcode (instead of transforming/renaming it) for
compatibility reasons, methinks.
--
Vladimir MARANGOZOV | Vladimir.Marangozov@inrialpes.fr
http://sirac.inrialpes.fr/~marangoz | tel:(+33-4)76615277 fax:76615252