removed some pointer dereference from critical path
[lttv.git] / ltt / branches / poly / lttv / modules / gui / controlflow / eventhooks.c
index 7f350aeddc6b1d695af5dd3853c1d6e2c205fed3..9556d2dde030dabee402e868c3375615fb17a040 100644 (file)
@@ -235,7 +235,6 @@ h_guicontrolflow(Tab *tab)
   
   control_flow_data->tab = tab;
   
-  //g_debug("time width2 : %u",time_window->time_width);
   // Unreg done in the GuiControlFlow_Destructor
   lttvwindow_register_traceset_notify(tab,
         traceset_notify,
@@ -379,20 +378,16 @@ int before_schedchange_hook(void *hook_data, void *call_data)
 {
   EventsRequest *events_request = (EventsRequest*)hook_data;
   ControlFlowData *control_flow_data = events_request->viewer_data;
-  Drawing_t *drawing = control_flow_data->drawing;
 
   LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
 
   LttvTracefileState *tfs = (LttvTracefileState *)call_data;
-  LttvTraceState *ts =(LttvTraceState *)((LttvTracefileContext*)tfs)->t_context;
 
   LttEvent *e;
   e = tfc->e;
 
   LttTime evtime = ltt_event_time(e);
 
-  guint width = drawing->width;
-
   /* we are in a schedchange, before the state update. We must draw the
    * items corresponding to the state before it changes : now is the right
    * time to do it.
@@ -459,7 +454,7 @@ int before_schedchange_hook(void *hook_data, void *call_data)
                 hashed_process_data,
                 &y,
                 &height);
-        drawing_insert_square( drawing, y, height);
+        drawing_insert_square( control_flow_data->drawing, y, height);
       }
   
       /* Now, the process is in the state hash and our own process hash.
@@ -488,7 +483,8 @@ int before_schedchange_hook(void *hook_data, void *call_data)
                 || ltt_time_compare(evtime, time_window.end_time) == 1)
                     return;
 #endif //EXTRA_CHECK
-
+          Drawing_t *drawing = control_flow_data->drawing;
+          guint width = drawing->width;
           guint x;
           convert_time_to_pixels(
                     time_window,
@@ -518,7 +514,8 @@ int before_schedchange_hook(void *hook_data, void *call_data)
               || ltt_time_compare(evtime, time_window.end_time) == 1)
                   return;
 #endif //EXTRA_CHECK
-
+        Drawing_t *drawing = control_flow_data->drawing;
+        guint width = drawing->width;
         guint x;
         convert_time_to_pixels(
                   time_window,
@@ -627,7 +624,7 @@ int before_schedchange_hook(void *hook_data, void *call_data)
                 hashed_process_data,
                 &y,
                 &height);
-        drawing_insert_square( drawing, y, height);
+        drawing_insert_square( control_flow_data->drawing, y, height);
       }
       //We could set the current process and hash here, but will be done
       //by after schedchange hook
@@ -659,6 +656,8 @@ int before_schedchange_hook(void *hook_data, void *call_data)
                 || ltt_time_compare(evtime, time_window.end_time) == 1)
                     return;
 #endif //EXTRA_CHECK
+          Drawing_t *drawing = control_flow_data->drawing;
+          guint width = drawing->width;
           guint x;
           convert_time_to_pixels(
                     time_window,
@@ -686,6 +685,8 @@ int before_schedchange_hook(void *hook_data, void *call_data)
               || ltt_time_compare(evtime, time_window.end_time) == 1)
                   return;
 #endif //EXTRA_CHECK
+        Drawing_t *drawing = control_flow_data->drawing;
+        guint width = drawing->width;
         guint x;
 
         convert_time_to_pixels(
@@ -1380,15 +1381,12 @@ int after_schedchange_hook(void *hook_data, void *call_data)
   LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
 
   LttvTracefileState *tfs = (LttvTracefileState *)call_data;
-  LttvTraceState *ts =(LttvTraceState *)((LttvTracefileContext*)tfs)->t_context;
 
   LttEvent *e;
   e = tfc->e;
 
   LttTime evtime = ltt_event_time(e);
 
-  guint width = control_flow_data->drawing->width;
-
   /* Add process to process list (if not present) */
   LttvProcessState *process_out, *process_in;
   LttTime birth;
@@ -1414,8 +1412,9 @@ int after_schedchange_hook(void *hook_data, void *call_data)
   //process_in = lttv_state_find_process(tfs, pid_in);
   process_in = tfs->process;
   /* It should exist, because we are after the state update. */
+#ifdef EXTRA_CHECK
   g_assert(process_in != NULL);
-
+#endif //EXTRA_CHECK
   birth = process_in->creation_time;
 
   hashed_process_data_in = processlist_get_process_data(process_list,
@@ -1464,7 +1463,8 @@ int after_schedchange_hook(void *hook_data, void *call_data)
         || ltt_time_compare(evtime, time_window.end_time) == 1)
             return;
 #endif //EXTRA_CHECK
-
+    Drawing_t *drawing = control_flow_data->drawing;
+    guint width = drawing->width;
     guint new_x;
     
     convert_time_to_pixels(
@@ -1991,18 +1991,15 @@ int before_execmode_hook(void *hook_data, void *call_data)
 {
   EventsRequest *events_request = (EventsRequest*)hook_data;
   ControlFlowData *control_flow_data = events_request->viewer_data;
-  Drawing_t *drawing = control_flow_data->drawing;
 
   LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
 
   LttvTracefileState *tfs = (LttvTracefileState *)call_data;
-  LttvTraceState *ts =(LttvTraceState *)((LttvTracefileContext*)tfs)->t_context;
 
   LttEvent *e;
   e = tfc->e;
 
   LttTime evtime = ltt_event_time(e);
-  guint width = drawing->width;
 
   /* we are in a execmode, before the state update. We must draw the
    * items corresponding to the state before it changes : now is the right
@@ -2051,7 +2048,7 @@ int before_execmode_hook(void *hook_data, void *call_data)
                   hashed_process_data,
                   &y,
                   &height);
-      drawing_insert_square( drawing, y, height);
+      drawing_insert_square( control_flow_data->drawing, y, height);
     }
     /* Set the current process */
     process_list->current_hash_data[process->last_cpu_index] =
@@ -2085,6 +2082,8 @@ int before_execmode_hook(void *hook_data, void *call_data)
             || ltt_time_compare(evtime, time_window.end_time) == 1)
                 return;
 #endif //EXTRA_CHECK
+      Drawing_t *drawing = control_flow_data->drawing;
+      guint width = drawing->width;
       guint x;
       convert_time_to_pixels(
                 time_window,
@@ -2113,6 +2112,8 @@ int before_execmode_hook(void *hook_data, void *call_data)
           || ltt_time_compare(evtime, time_window.end_time) == 1)
               return;
 #endif //EXTRA_CHECK
+    Drawing_t *drawing = control_flow_data->drawing;
+    guint width = drawing->width;
     guint x;
 
     convert_time_to_pixels(
@@ -2202,13 +2203,11 @@ int after_execmode_hook(void *hook_data, void *call_data)
   LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
 
   LttvTracefileState *tfs = (LttvTracefileState *)call_data;
-  LttvTraceState *ts =(LttvTraceState *)((LttvTracefileContext*)tfs)->t_context;
 
   LttEvent *e;
   e = tfc->e;
 
   LttTime evtime = ltt_event_time(e);
-  guint width = control_flow_data->drawing->width;
 
   /* Add process to process list (if not present) */
   LttvProcessState *process;
@@ -2279,8 +2278,8 @@ int after_execmode_hook(void *hook_data, void *call_data)
           || ltt_time_compare(evtime, time_window.end_time) == 1)
               return;
 #endif //EXTRA_CHECK
-
-
+    Drawing_t *drawing = control_flow_data->drawing;
+    guint width = drawing->width;
     guint new_x;
     
     convert_time_to_pixels(
@@ -2314,18 +2313,15 @@ int before_process_hook(void *hook_data, void *call_data)
 {
   EventsRequest *events_request = (EventsRequest*)hook_data;
   ControlFlowData *control_flow_data = events_request->viewer_data;
-  Drawing_t *drawing = control_flow_data->drawing;
 
   LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
 
   LttvTracefileState *tfs = (LttvTracefileState *)call_data;
-  LttvTraceState *ts =(LttvTraceState *)((LttvTracefileContext*)tfs)->t_context;
 
   LttEvent *e;
   e = tfc->e;
 
   LttTime evtime = ltt_event_time(e);
-  guint width = control_flow_data->drawing->width;
 
   guint sub_id;
   {
@@ -2409,7 +2405,8 @@ int before_process_hook(void *hook_data, void *call_data)
               || ltt_time_compare(evtime, time_window.end_time) == 1)
                   return;
 #endif //EXTRA_CHECK
-
+        Drawing_t *drawing = control_flow_data->drawing;
+        guint width = drawing->width;
         guint x;
         convert_time_to_pixels(
                   time_window,
@@ -2438,7 +2435,8 @@ int before_process_hook(void *hook_data, void *call_data)
             || ltt_time_compare(evtime, time_window.end_time) == 1)
                 return;
 #endif //EXTRA_CHECK
-
+      Drawing_t *drawing = control_flow_data->drawing;
+      guint width = drawing->width;
       guint x;
 
       convert_time_to_pixels(
@@ -2530,13 +2528,11 @@ int after_process_hook(void *hook_data, void *call_data)
   LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
 
   LttvTracefileState *tfs = (LttvTracefileState *)call_data;
-  LttvTraceState *ts =(LttvTraceState *)((LttvTracefileContext*)tfs)->t_context;
 
   LttEvent *e;
   e = tfc->e;
 
   LttTime evtime = ltt_event_time(e);
-  guint width = control_flow_data->drawing->width;
 
   guint sub_id;
   guint param1;
@@ -2613,7 +2609,8 @@ int after_process_hook(void *hook_data, void *call_data)
             || ltt_time_compare(evtime, time_window.end_time) == 1)
                 return;
 #endif //EXTRA_CHECK
-
+      Drawing_t *drawing = control_flow_data->drawing;
+      guint width = drawing->width;
       guint new_x;
       convert_time_to_pixels(
           time_window,
@@ -2707,7 +2704,8 @@ int after_process_hook(void *hook_data, void *call_data)
             || ltt_time_compare(evtime, time_window.end_time) == 1)
                 return;
 #endif //EXTRA_CHECK
-
+      Drawing_t *drawing = control_flow_data->drawing;
+      guint width = drawing->width;
       guint new_x;
       convert_time_to_pixels(
           time_window,
@@ -3140,13 +3138,11 @@ void draw_closure(gpointer key, gpointer value, gpointer user_data)
     
   EventsRequest *events_request = closure_data->events_request;
   ControlFlowData *control_flow_data = events_request->viewer_data;
-  Drawing_t *drawing = control_flow_data->drawing;
 
   LttvTracesetState *tss = closure_data->tss;
-  LttvTracesetContext *tsc = (LttvTracesetContext*)closure_data->tss;
+  LttvTracesetContext *tsc = (LttvTracesetContext*)tss;
 
   LttTime evtime = closure_data->end_time;
-  guint width = drawing->width;
 
   { 
     /* For the process */
@@ -3207,6 +3203,8 @@ void draw_closure(gpointer key, gpointer value, gpointer user_data)
               || ltt_time_compare(evtime, time_window.end_time) == 1)
                   return;
 #endif //EXTRA_CHECK
+        Drawing_t *drawing = control_flow_data->drawing;
+        guint width = drawing->width;
         guint x;
 
         convert_time_to_pixels(
This page took 0.026278 seconds and 4 git commands to generate.