Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Parameters.cpp	(revision 124)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Parameters.cpp	(revision 128)
@@ -63,5 +63,5 @@
     for (uint32_t i=0; i<_nb_thread; i++)
       _have_thread[i] = false;
-    for (uint32_t i=0; i<_nb_context; i++)
+    for (uint32_t i=0; i<_nb_thread; i++)
       _have_thread[_translate_num_context_to_num_thread [i]] = true;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp	(revision 124)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp	(revision 128)
@@ -172,9 +172,12 @@
 
 #if defined(DEBUG) and defined(DEBUG_Update_Prediction_Table) and (DEBUG_Update_Prediction_Table == true)
-    for (uint32_t i=0; i<_param->_nb_thread; ++i)
-      if (_param->_have_thread [i])
-        {
-          branchement_log_file [i].close();
-        }
+    {
+      for (uint32_t i=0; i<_param->_nb_thread; ++i)
+        if (_param->_have_thread [i])
+          {
+            branchement_log_file [i].close();
+          }
+      delete [] branchement_log_file;
+    }
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_statistics_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_statistics_deallocation.cpp	(revision 124)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_statistics_deallocation.cpp	(revision 128)
@@ -29,9 +29,13 @@
     delete    _stat;
 
-    DELETE2(_stat_nb_branch_hit            ,_param->_nb_context,MAX_BRANCH_CONDITION);
-    DELETE2(_stat_nb_branch_miss           ,_param->_nb_context,MAX_BRANCH_CONDITION);
-    DELETE1(_stat_nb_branch_unused         ,_param->_nb_context);
-    DELETE1(_stat_ufpt_queue_nb_elt        ,_param->_nb_context);
-    DELETE1(_stat_upt_queue_nb_elt         ,_param->_nb_context);
+    DELETE2(_stat_nb_branch_hit              ,_param->_nb_context,MAX_BRANCH_CONDITION);
+    DELETE2(_stat_nb_branch_miss             ,_param->_nb_context,MAX_BRANCH_CONDITION);
+    DELETE1(_stat_nb_branch_unused           ,_param->_nb_context);
+
+    DELETE1(_stat_nb_branch_ifetch_prediction,_param->_nb_context);
+    DELETE1(_stat_nb_branch_accurate         ,_param->_nb_context);
+
+    DELETE1(_stat_ufpt_queue_nb_elt          ,_param->_nb_context);
+    DELETE1(_stat_upt_queue_nb_elt           ,_param->_nb_context);
     
     log_printf(FUNC,Update_Prediction_Table,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp	(revision 124)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp	(revision 128)
@@ -34,5 +34,15 @@
 	  {
             for (uint32_t j=0; j<_param->_size_ufpt_queue[i]; ++j)
-              reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._state = UPDATE_FETCH_PREDICTION_STATE_EMPTY;
+              {
+            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._state            = UPDATE_FETCH_PREDICTION_STATE_EMPTY;
+            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._condition        = 0; // not necessary
+            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._address_src      = 0; // not necessary
+            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._address_dest     = 0; // not necessary
+            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._last_take        = 0; // not necessary
+            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._is_accurate      = 0; // not necessary
+            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._history          = 0; // not necessary
+            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._address_ras      = 0; // not necessary
+            reg_UPDATE_FETCH_PREDICTION_TABLE [i][j]._index_ras        = 0; // not necessary
+              }
             reg_UFPT_BOTTOM          [i] = 0;
             reg_UFPT_TOP             [i] = 0;
@@ -42,5 +52,20 @@
                                                                 
             for (uint32_t j=0; j<_param->_size_upt_queue[i]; ++j)
-              reg_UPDATE_PREDICTION_TABLE [i][j]._state = UPDATE_PREDICTION_STATE_EMPTY;
+              {
+            reg_UPDATE_PREDICTION_TABLE [i][j]._state            = UPDATE_PREDICTION_STATE_EMPTY;
+            reg_UPDATE_PREDICTION_TABLE [i][j]._condition        = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._address_src      = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._address_dest     = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._last_take        = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._good_take        = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._is_accurate      = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._history          = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._address_ras      = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._index_ras        = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._ifetch_prediction= 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._miss_commit      = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._retire_ok        = 0; // not necessary
+            reg_UPDATE_PREDICTION_TABLE [i][j]._miss_prediction  = 0; // not necessary
+              }
             reg_UPT_BOTTOM           [i] = 0;
             reg_UPT_TOP              [i] = 0;
@@ -54,7 +79,16 @@
             reg_UPT_EVENT_STATE      [i] = UPT_EVENT_STATE_OK;
 
-//             reg_EVENT_VAL            [i] = false;
-//             reg_EVENT_STATE          [i] = EVENT_STATE_OK;
-//             reg_EVENT_IS_BRANCH      [i] = true;
+            reg_EVENT_UPT_PTR          [i] = 0; // not necessary
+            reg_EVENT_UPT_FULL         [i] = 0; // not necessary
+
+//          reg_EVENT_STATE            [i] = EVENT_STATE_OK; // not necessary
+//          reg_EVENT_IS_BRANCH        [i] = true          ; // not necessary
+
+            reg_EVENT_DEPTH            [i] = 0; // not necessary
+            reg_EVENT_ADDRESS_SRC      [i] = 0; // not necessary
+            reg_EVENT_ADDRESS_DEST_VAL [i] = 0; // not necessary
+            reg_EVENT_ADDRESS_DEST     [i] = 0; // not necessary
+            reg_EVENT_CAN_CONTINUE     [i] = 0; // not necessary
+
           }
       }
