]> granicus.if.org Git - python/commitdiff
Minor cleanup:
authorFred Drake <fdrake@acm.org>
Wed, 29 May 2002 19:40:36 +0000 (19:40 +0000)
committerFred Drake <fdrake@acm.org>
Wed, 29 May 2002 19:40:36 +0000 (19:40 +0000)
- Add comment explaining the structure of the stack.
- Minor optimization: make stack tuple directly usable as part of return
  value for enter/exit events.

Lib/hotshot/log.py

index c95f7f433ea7a95865376e15599fcbea34931b74..9e2f0688969b2cd43fd6b5722392caff4f1010d1 100644 (file)
@@ -41,6 +41,12 @@ class LogReader:
             self.cwd = self._info['current-directory']
         else:
             self.cwd = None
+
+        # This mirrors the call stack of the profiled code as the log
+        # is read back in.  It contains tuples of the form:
+        #
+        #   (file name, line number of function def, function name)
+        #
         self._stack = []
         self._append = self._stack.append
         self._pop = self._stack.pop
@@ -99,15 +105,15 @@ class LogReader:
 
             if what == WHAT_ENTER:
                 filename, funcname = self._decode_location(fileno, lineno)
-                self._append((filename, funcname, lineno))
-                return what, (filename, lineno, funcname), tdelta
+                t = (filename, lineno, funcname)
+                self._append(t)
+                return what, t, tdelta
 
             if what == WHAT_EXIT:
-                filename, funcname, lineno = self._pop()
-                return what, (filename, lineno, funcname), tdelta
+                return what, self._pop(), tdelta
 
             if what == WHAT_LINENO:
-                filename, funcname, firstlineno = self._stack[-1]
+                filename, firstlineno, funcname = self._stack[-1]
                 return what, (filename, lineno, funcname), tdelta
 
             if what == WHAT_DEFINE_FILE: