Update TODO
authorSøren Sandmann Pedersen <ssp@src.gnome.org>
Mon, 19 Nov 2007 17:56:02 +0000 (17:56 +0000)
committerSøren Sandmann Pedersen <ssp@src.gnome.org>
Mon, 19 Nov 2007 17:56:02 +0000 (17:56 +0000)
svn path=/trunk/; revision=394

TODO
collector.c
module/sysprof-module.c
process.c

diff --git a/TODO b/TODO
index 1b7f75e..d745026 100644 (file)
--- a/TODO
+++ b/TODO
@@ -23,6 +23,9 @@ Before 1.0.4:
 
 Before 1.2:
 
+* Make sure there aren't leftover stacktraces from last time when
+  profiling begins.
+
 * Is the move-to-front in process_locate_map() really worth it?
 
 * Whenever we fail to lock the atomic variable, track this, and send the information
index 0be192d..95fae18 100644 (file)
@@ -169,8 +169,6 @@ in_dead_period (Collector *collector)
 static void
 collect_traces (Collector *collector)
 {
-    int n;
-    
     /* After a reset we ignore samples for a short period so that
      * a reset will actually cause 'samples' to become 0
      */
index ce17590..d5dfe9e 100644 (file)
@@ -187,7 +187,9 @@ heuristic_trace (struct pt_regs *regs,
 #endif
                unsigned long i;
                int j;
+#if 0
                int n_bytes = minimum (eos - esp, (SYSPROF_MAX_ADDRESSES - 1) * sizeof (void *));
+#endif
 
                j = 1;
                for (i = esp; i < eos && j < SYSPROF_MAX_ADDRESSES; i += sizeof (void *)) {
@@ -198,10 +200,10 @@ heuristic_trace (struct pt_regs *regs,
                                break;
 
                        vma = find_vma (current->mm, x);
-                       if (vma && vma->vm_flags & VM_EXEC && vma->vm_start <= x && x <= vma->vm_end) {
-                               trace->addresses[j++] = x;
-                       }
-
+                       
+                       if (vma && vma->vm_flags & VM_EXEC)
+                               if (vma->vm_start <= x && x <= vma->vm_end)
+                                       trace->addresses[j++] = x;
                }
                
 #if 0
@@ -284,6 +286,8 @@ timer_notify (struct pt_regs *regs)
                heuristic_trace (regs, trace);
 #elif CONFIG_X86
                framepointer_trace (regs, trace);
+#else
+#error Sysprof only supports the i386 and x86-64 architectures
 #endif
        }
        
index 59c1929..c4ad121 100644 (file)
--- a/process.c
+++ b/process.c
@@ -698,7 +698,7 @@ process_lookup_symbol (Process *process, gulong address)
            process->undefined =
                g_strdup_printf ("No map (%s)", process->cmdline);
        }
-       
+
        return process->undefined;
     }