]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
One last tweak to the tracing machinery: this actually computes what I intended
authorMichael W. Hudson <mwh@python.net>
Thu, 3 Oct 2002 09:53:11 +0000 (09:53 +0000)
committerMichael W. Hudson <mwh@python.net>
Thu, 3 Oct 2002 09:53:11 +0000 (09:53 +0000)
all along.  Before instr_lb tended to be too high.

I don't think this actually makes any difference, given what the compiler
produces, but it makes me a bit happier.

Python/ceval.c

index 493043303e8e38d02cfdbe067437827357f7ece3..afc480e151e29bcde7a700a1e6670298fa8ffc40 100644 (file)
@@ -2966,15 +2966,17 @@ maybe_call_line_trace(int opcode, Py_tracefunc func, PyObject *obj,
                        if (addr + *p > frame->f_lasti)
                                break;
                        addr += *p++;
+                       if (*p) *instr_lb = addr;
                        line += *p++;
                        --size;
                }
+
                if (addr == frame->f_lasti) {
                        frame->f_lineno = line;
                        call_trace(func, obj, frame, 
                                   PyTrace_LINE, Py_None);
                }
-               *instr_lb = addr;
+
                if (size > 0) {
                        while (--size >= 0) {
                                addr += *p++;