Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp
r82 r88 7 7 8 8 #include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/include/Update_Prediction_Table.h" 9 #include "Behavioural/include/Allocation.h" 9 10 10 11 namespace morpheo { … … 42 43 delete [] in_PREDICT_RAS_ADDRESS ; 43 44 delete [] in_PREDICT_RAS_INDEX ; 44 //if (_param->_have_port_depth)45 //delete [] out_PREDICT_UPDATE_PREDICTION_ID;45 if (_param->_have_port_depth) 46 delete [] out_PREDICT_UPDATE_PREDICTION_ID; 46 47 47 48 // ~~~~~[ Interface : "decod" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 58 59 delete [] in_DECOD_MISS_IFETCH ; 59 60 delete [] in_DECOD_MISS_DECOD ; 60 if (_param->_have_port_ max_depth)61 if (_param->_have_port_depth) 61 62 delete [] in_DECOD_UPDATE_PREDICTION_ID ; 62 63 // if (_param->_have_port_depth) 63 64 // delete [] out_DECOD_DEPTH ; 65 delete [] in_DECOD_IS_ACCURATE ; 64 66 65 67 // ~~~~~[ Interface : "branch_complete" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 68 70 if (_param->_have_port_context_id) 69 71 delete [] in_BRANCH_COMPLETE_CONTEXT_ID ; 70 if (_param->_have_port_ max_depth)72 if (_param->_have_port_depth) 71 73 delete [] in_BRANCH_COMPLETE_DEPTH ; 72 74 delete [] in_BRANCH_COMPLETE_ADDRESS ; … … 82 84 // if (_param->_have_port_context_id) 83 85 // delete [] in_BRANCH_EVENT_CONTEXT_ID ; 84 // if (_param->_have_port_ max_depth)86 // if (_param->_have_port_depth) 85 87 // delete [] in_BRANCH_EVENT_DEPTH ; 86 88 // delete [] out_BRANCH_EVENT_MISS_PREDICTION; … … 109 111 110 112 // ~~~~~[ Interface : "depth" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 111 if (_param->_have_port_ max_depth)113 if (_param->_have_port_depth) 112 114 { 113 delete [] out_DEPTH_ NB_BRANCH;114 delete [] out_DEPTH_ TAIL;115 delete [] out_DEPTH_CURRENT; 116 delete [] out_DEPTH_MIN; 115 117 } 116 } 117 118 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 119 delete [] internal_PREDICT_ACK ; 120 delete [] internal_DECOD_ACK ; 121 delete [] internal_BRANCH_COMPLETE_ACK ; 122 delete [] internal_BRANCH_COMPLETE_MISS_PREDICTION ; 123 delete [] internal_BRANCH_COMPLETE_TAKE ; 124 delete [] internal_BRANCH_COMPLETE_ADDRESS_DEST ; 125 delete [] internal_BRANCH_EVENT_VAL ; 126 delete [] internal_BRANCH_EVENT_DEPTH ; 127 delete [] internal_UPDATE_VAL ; 128 delete [] internal_UPDATE_CONTEXT_ID ; 129 delete [] internal_UPDATE_DEPTH ; 130 131 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 132 delete [] reg_TOP; 133 delete [] reg_BOTTOM; 134 delete [] reg_NB_ELT; 135 delete [] reg_NB_ELT_UPDATE; 136 delete [] reg_NB_ELT_NEED_UPDATE; 137 for (uint32_t i=0; i<_param->_nb_context; i++) 138 delete [] reg_UPDATE_PREDICTION_TABLE [i]; 139 delete [] reg_UPDATE_PREDICTION_TABLE; 118 delete [] out_DEPTH_MAX; 119 120 // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 121 DELETE1(internal_PREDICT_ACK ,_param->_nb_inst_predict); 122 DELETE1(internal_PREDICT_UPDATE_PREDICTION_ID ,_param->_nb_inst_predict); 123 DELETE1(internal_DECOD_ACK ,_param->_nb_inst_decod); 124 DELETE1(internal_DECOD_UPT_PTR_WRITE ,_param->_nb_inst_decod); 125 DELETE1(internal_BRANCH_COMPLETE_ACK ,_param->_nb_inst_branch_complete); 126 DELETE1(internal_BRANCH_COMPLETE_MISS_PREDICTION ,_param->_nb_inst_branch_complete); 127 DELETE1(internal_BRANCH_COMPLETE_TAKE ,_param->_nb_inst_branch_complete); 128 DELETE1(internal_BRANCH_COMPLETE_ADDRESS_DEST ,_param->_nb_inst_branch_complete); 129 DELETE1(internal_BRANCH_EVENT_VAL ,_param->_nb_context); 130 DELETE1(internal_BRANCH_EVENT_DEPTH ,_param->_nb_context); 131 DELETE1(internal_UPDATE_VAL ,_param->_nb_inst_update); 132 DELETE1(internal_UPDATE_VAL_WITHOUT_ACK ,_param->_nb_inst_update); 133 DELETE1(internal_UPDATE_CONTEXT_ID ,_param->_nb_inst_update); 134 DELETE1(internal_UPDATE_FROM_UFPT ,_param->_nb_inst_update); 135 DELETE1(internal_UPDATE_DEPTH ,_param->_nb_inst_update); 136 DELETE1(internal_UPDATE_RAS ,_param->_nb_inst_update); 137 138 // ~~~~~[ Register ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 DELETE1(reg_IS_ACCURATE ,_param->_nb_context); 140 141 DELETE2(reg_UPDATE_FETCH_PREDICTION_TABLE,_param->_nb_context,_param->_size_ufpt_queue[it1]); 142 DELETE1(reg_UFPT_BOTTOM ,_param->_nb_context); 143 DELETE1(reg_UFPT_TOP ,_param->_nb_context); 144 DELETE1(reg_UFPT_UPDATE ,_param->_nb_context); 145 DELETE1(reg_UFPT_NB_NEED_UPDATE ,_param->_nb_context); 146 147 DELETE2(reg_UPDATE_PREDICTION_TABLE ,_param->_nb_context,_param->_size_upt_queue[it1]); 148 DELETE1(reg_UPT_BOTTOM ,_param->_nb_context); 149 DELETE1(reg_UPT_TOP ,_param->_nb_context); 150 DELETE1(reg_UPT_UPDATE ,_param->_nb_context); 151 DELETE1(reg_UPT_NB_NEED_UPDATE ,_param->_nb_context); 152 153 DELETE1(reg_EVENT_STATE ,_param->_nb_context); 154 DELETE1(reg_EVENT_RAS_CORRUPTED ,_param->_nb_context); 155 DELETE1(reg_EVENT_ADDRESS_SRC ,_param->_nb_context); 156 DELETE1(reg_EVENT_ADDRESS_SRC_VAL ,_param->_nb_context); 157 DELETE1(reg_EVENT_ADDRESS_DEST ,_param->_nb_context); 158 } 140 159 141 160 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Note: See TracChangeset
for help on using the changeset viewer.