Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Load_Store_pointer_unit_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Load_Store_pointer_unit_deallocation.cpp	(revision 88)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/src/Load_Store_pointer_unit_deallocation.cpp	(revision 112)
@@ -7,4 +7,5 @@
 
 #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Load_Store_pointer_unit/include/Load_Store_pointer_unit.h"
+#include "Behavioural/include/Allocation.h"
 
 namespace morpheo                    {
@@ -28,45 +29,39 @@
 	delete    in_NRESET;
 
-	// ~~~~~[ Interface : "insert" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-	delete []  in_INSERT_VAL                  ;
-	delete [] out_INSERT_ACK                  ;
-	if (_param->_have_port_front_end_id)
-	delete []  in_INSERT_FRONT_END_ID         ;
-	if (_param->_have_port_context_id)
-	delete []  in_INSERT_CONTEXT_ID           ;
-	delete []  in_INSERT_TYPE                 ;
-	delete []  in_INSERT_OPERATION            ;
-	delete [] out_INSERT_STORE_QUEUE_PTR_WRITE;
-	if (_param->_have_port_load_queue_ptr)
-	delete [] out_INSERT_LOAD_QUEUE_PTR_WRITE ;
-	
-	// ~~~~~[ Interface : "retire" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-	delete []  in_RETIRE_VAL                  ;
-	delete [] out_RETIRE_ACK                  ;
-	if (_param->_have_port_front_end_id)
-	delete []  in_RETIRE_FRONT_END_ID         ;
-	if (_param->_have_port_context_id)
-	delete []  in_RETIRE_CONTEXT_ID           ;
-// 	delete []  in_RETIRE_TYPE                 ;
-// 	delete []  in_RETIRE_OPERATION            ;
- 	delete []  in_RETIRE_USE_STORE_QUEUE      ;
- 	delete []  in_RETIRE_USE_LOAD_QUEUE       ;
-	delete []  in_RETIRE_STORE_QUEUE_PTR_WRITE;
-	if (_param->_have_port_load_queue_ptr)
-	delete []  in_RETIRE_LOAD_QUEUE_PTR_WRITE ;
+        DELETE1_SIGNAL( in_INSERT_VAL                  ,_param->_nb_inst_insert,1);
+        DELETE1_SIGNAL(out_INSERT_ACK                  ,_param->_nb_inst_insert,1);
+        DELETE1_SIGNAL( in_INSERT_FRONT_END_ID         ,_param->_nb_inst_insert,_param->_size_front_end_id   );
+        DELETE1_SIGNAL( in_INSERT_CONTEXT_ID           ,_param->_nb_inst_insert,_param->_size_context_id     );
+        DELETE1_SIGNAL( in_INSERT_TYPE                 ,_param->_nb_inst_insert,_param->_size_type           );
+        DELETE1_SIGNAL( in_INSERT_OPERATION            ,_param->_nb_inst_insert,_param->_size_operation      );
+        DELETE1_SIGNAL(out_INSERT_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_insert,_param->_size_store_queue_ptr);
+        DELETE1_SIGNAL(out_INSERT_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_insert,_param->_size_load_queue_ptr );
 
-        delete [] reg_STORE_QUEUE_PTR_WRITE    ;
-        delete [] reg_STORE_QUEUE_USE          ;
-        delete [] reg_STORE_QUEUE_NB_USE       ;
-        delete [] reg_LOAD_QUEUE_PTR_WRITE     ;
-        delete [] reg_LOAD_QUEUE_USE           ;
-        delete [] internal_INSERT_ACK          ;
-        delete [] internal_INSERT_OPERATION_USE;
-        delete [] internal_INSERT_LSQ          ;
-        delete [] internal_INSERT_PTR          ;
-        delete [] internal_RETIRE_ACK          ;
-        delete [] internal_RETIRE_OPERATION_USE;
-        delete [] internal_RETIRE_LSQ          ;
-        delete [] internal_RETIRE_PTR          ;
+        DELETE1_SIGNAL( in_RETIRE_VAL                  ,_param->_nb_inst_retire,1);
+        DELETE1_SIGNAL(out_RETIRE_ACK                  ,_param->_nb_inst_retire,1);
+        DELETE1_SIGNAL( in_RETIRE_FRONT_END_ID         ,_param->_nb_inst_retire,_param->_size_front_end_id   );
+        DELETE1_SIGNAL( in_RETIRE_CONTEXT_ID           ,_param->_nb_inst_retire,_param->_size_context_id     );
+//      DELETE1_SIGNAL( in_RETIRE_TYPE                 ,_param->_nb_inst_retire,_param->_size_type           );
+//      DELETE1_SIGNAL( in_RETIRE_OPERATION            ,_param->_nb_inst_retire,_param->_size_operation      );
+        DELETE1_SIGNAL( in_RETIRE_USE_STORE_QUEUE      ,_param->_nb_inst_retire,1);
+        DELETE1_SIGNAL( in_RETIRE_USE_LOAD_QUEUE       ,_param->_nb_inst_retire,1);
+        DELETE1_SIGNAL( in_RETIRE_STORE_QUEUE_PTR_WRITE,_param->_nb_inst_retire,_param->_size_store_queue_ptr);
+        DELETE1_SIGNAL( in_RETIRE_LOAD_QUEUE_PTR_WRITE ,_param->_nb_inst_retire,_param->_size_load_queue_ptr );
+
+        DELETE1(reg_STORE_QUEUE_PTR_WRITE     ,_param->_nb_load_store_queue);
+        DELETE2(reg_STORE_QUEUE_USE           ,_param->_nb_load_store_queue,_param->_size_store_queue [it1]);
+        DELETE1(reg_STORE_QUEUE_NB_USE        ,_param->_nb_load_store_queue);
+        DELETE1(reg_LOAD_QUEUE_PTR_WRITE      ,_param->_nb_load_store_queue);
+        DELETE2(reg_LOAD_QUEUE_USE            ,_param->_nb_load_store_queue,_param->_size_load_queue  [it1]);
+        
+        DELETE1(internal_INSERT_ACK           ,_param->_nb_inst_insert);
+        DELETE1(internal_INSERT_OPERATION_USE ,_param->_nb_inst_insert);
+        DELETE1(internal_INSERT_LSQ           ,_param->_nb_inst_insert);
+        DELETE1(internal_INSERT_PTR           ,_param->_nb_inst_insert);
+        
+        DELETE1(internal_RETIRE_ACK           ,_param->_nb_inst_retire);
+        DELETE1(internal_RETIRE_OPERATION_USE ,_param->_nb_inst_retire);
+        DELETE1(internal_RETIRE_LSQ           ,_param->_nb_inst_retire);
+        DELETE1(internal_RETIRE_PTR           ,_param->_nb_inst_retire);
       }
 
