Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp	(revision 138)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/src/Parameters.cpp	(revision 139)
@@ -8,4 +8,5 @@
 #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/include/Parameters.h"
 #include "Common/include/Max.h"
+#include "Behavioural/include/Allocation.h"
 
 namespace morpheo {
@@ -61,4 +62,5 @@
                           uint32_t            * nb_general_register              ,//[nb_rename_unit]
                           uint32_t            * nb_special_register              ,//[nb_rename_unit]
+                          Trat_scheme_t       * rat_scheme                       ,//[nb_rename_unit]
                           uint32_t            * nb_reg_free                      ,//[nb_rename_unit]
                           uint32_t            * nb_rename_unit_bank              ,//[nb_rename_unit]
@@ -108,6 +110,6 @@
     _issue_priority                    = issue_priority                   ;
     _issue_load_balancing              = issue_load_balancing             ;
-//     _table_routing                     = table_routing                    ;
-//     _table_issue_type                  = table_issue_type                 ;
+//  _table_routing                     = table_routing                    ;
+//  _table_issue_type                  = table_issue_type                 ;
     _size_reexecute_queue              = size_reexecute_queue             ;
     _rename_select_priority            = rename_select_priority           ;
@@ -116,7 +118,8 @@
     _nb_general_register               = nb_general_register              ;
     _nb_special_register               = nb_special_register              ;
+    _rat_scheme                        = rat_scheme                       ;
     _nb_reg_free                       = nb_reg_free                      ;
     _nb_rename_unit_bank               = nb_rename_unit_bank              ;
-//     _size_read_counter                 = size_read_counter                ;
+//  _size_read_counter                 = size_read_counter                ;
     _nb_load_store_queue               = nb_load_store_queue              ;
     _size_store_queue                  = size_store_queue                 ;
@@ -147,4 +150,5 @@
     _rename_unit_nb_inst_decod                    = new uint32_t *  [_nb_rename_unit];
     _rename_unit_link_load_store_unit_with_thread = new uint32_t ** [_nb_rename_unit];
+    _rename_unit_nb_branch_speculated             = new uint32_t ** [_nb_rename_unit];
     
     for (uint32_t i=0; i<_nb_rename_unit; i++)
@@ -156,4 +160,5 @@
         _rename_unit_nb_inst_decod                    [i] = new uint32_t   [x];
         _rename_unit_link_load_store_unit_with_thread [i] = new uint32_t * [x];
+        _rename_unit_nb_branch_speculated             [i] = new uint32_t * [x];
 
         // Scan front_end list
@@ -164,7 +169,11 @@
             _rename_unit_nb_inst_decod [i][j] = _nb_inst_decod [*it];
             _rename_unit_link_load_store_unit_with_thread [i][j] = new uint32_t [_nb_context [*it]];
-            
+            _rename_unit_nb_branch_speculated             [i][j] = new uint32_t [_nb_context [*it]];
+
             for (uint32_t k=0; k<_nb_context [*it]; k++)
-              _rename_unit_link_load_store_unit_with_thread [i][j][k] = _link_load_store_unit_with_thread [*it][k];
+              {
+                _rename_unit_link_load_store_unit_with_thread [i][j][k] = _link_load_store_unit_with_thread [*it][k];
+                _rename_unit_nb_branch_speculated             [i][j][k] = _nb_branch_speculated             [*it][k];
+              }
 
             ++it;            
@@ -188,4 +197,9 @@
           }
       }
+
+    ALLOC1(_commit_unit_rat_scheme,Trat_scheme_t,_nb_front_end);
+
+    for (uint32_t num_front_end=0; num_front_end<_nb_front_end; ++num_front_end)
+      _commit_unit_rat_scheme [num_front_end] = rat_scheme [_link_rename_unit_with_front_end [num_front_end]];
 
     _max_nb_context                = max<uint32_t>(_nb_context,_nb_front_end);
@@ -242,8 +256,9 @@
        _nb_general_register                           [i],
        _nb_special_register                           [i],
+       _rat_scheme                                    [i],
        _nb_reg_free                                   [i],
-       _nb_rename_unit_bank                           [i]// ,
-//        _size_read_counter                             [i]
-       
+       _nb_rename_unit_bank                           [i],
+//     _size_read_counter                             [i]
+       _rename_unit_nb_branch_speculated              [i]
        );
 
@@ -268,4 +283,5 @@
         size_general_register   ,
         size_special_register   ,
+       _commit_unit_rat_scheme  ,
        _issue_priority          ,
        _issue_load_balancing    ,
@@ -396,6 +412,8 @@
       {
         for (uint32_t j=0; j<_nb_front_end; j++)
+          delete [] _rename_unit_nb_branch_speculated           [i][j];
+        delete [] _rename_unit_nb_branch_speculated             [i];
+        for (uint32_t j=0; j<_nb_front_end; j++)
           delete [] _rename_unit_link_load_store_unit_with_thread [i][j];
-        
         delete [] _rename_unit_link_load_store_unit_with_thread [i];
         delete [] _rename_unit_nb_inst_decod                    [i];
@@ -403,4 +421,5 @@
       }
     
+    delete [] _rename_unit_nb_branch_speculated            ;
     delete [] _rename_unit_link_load_store_unit_with_thread;
     delete [] _rename_unit_nb_inst_decod                   ;
@@ -410,4 +429,6 @@
     delete [] _rename_unit_size_context_id                 ;
     delete [] _link_front_end_with_rename_unit             ;
+
+    DELETE1(_commit_unit_rat_scheme,_nb_front_end);
 
     for (uint32_t i=0; i<_nb_rename_unit; i++)
