Ignore:
Timestamp:
Jul 15, 2009, 10:41:01 AM (15 years ago)
Author:
rosiere
Message:

1) valgrind fix
2) debug file on/off

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src
Files:
3 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_allocation.cpp

    r124 r134  
    248248
    249249#if defined(DEBUG) and defined(DEBUG_Update_Prediction_Table) and (DEBUG_Update_Prediction_Table == true)
    250     directory_init ();
    251 
    252     branchement_log_file = new std::ofstream [_param->_nb_thread];
    253     for (uint32_t i=0; i<_param->_nb_thread; ++i)
    254       if (_param->_have_thread [i])
    255         {
    256           std::string filename = morpheo::filename(MORPHEO_LOG,
    257                                                    "Branchement_prediction-thread_"+toString(i),
    258                                                    "",
    259                                                    "log",
    260                                                    _simulation_file_with_date,
    261                                                    _simulation_file_with_pid,
    262                                                    true);
    263          
    264           branchement_log_file [i] .open(filename.c_str() ,std::ios::out | std::ios::trunc);
    265         }
     250    if (log_file_generate)
     251      {
     252        directory_init ();
     253       
     254        branchement_log_file = new std::ofstream [_param->_nb_thread];
     255        for (uint32_t i=0; i<_param->_nb_thread; ++i)
     256          if (_param->_have_thread [i])
     257            {
     258              std::string filename = morpheo::filename(MORPHEO_LOG,
     259                                                       "Branchement_prediction-thread_"+toString(i),
     260                                                       "",
     261                                                       "log",
     262                                                       _simulation_file_with_date,
     263                                                       _simulation_file_with_pid,
     264                                                       true);
     265             
     266              branchement_log_file [i] .open(filename.c_str() ,std::ios::out | std::ios::trunc);
     267            }
     268      }
    266269#endif
    267270
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_deallocation.cpp

    r128 r134  
    172172
    173173#if defined(DEBUG) and defined(DEBUG_Update_Prediction_Table) and (DEBUG_Update_Prediction_Table == true)
    174     {
    175       for (uint32_t i=0; i<_param->_nb_thread; ++i)
    176         if (_param->_have_thread [i])
    177           {
    178             branchement_log_file [i].close();
    179           }
    180       delete [] branchement_log_file;
    181     }
     174    if (log_file_generate)
     175      {
     176        for (uint32_t i=0; i<_param->_nb_thread; ++i)
     177          if (_param->_have_thread [i])
     178            {
     179              branchement_log_file [i].close();
     180            }
     181        delete [] branchement_log_file;
     182      }
    182183#endif
    183184
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp

    r128 r134  
    149149                    {
    150150#if defined(DEBUG) and defined(DEBUG_Update_Prediction_Table) and (DEBUG_Update_Prediction_Table == true)
    151                       if (reg_UPDATE_PREDICTION_TABLE [i][bottom]._retire_ok)
    152                         {
    153                           uint32_t num_thread = _param->_translate_num_context_to_num_thread [i];
    154                           branchement_log_file [num_thread]
    155                             << std::hex
    156                             << "0x" << std::setfill('0') << std::setw(_param->_size_general_data/4) << reg_UPDATE_PREDICTION_TABLE [i][bottom]._address_src  << " "
    157                             << "0x" << std::setfill('0') << std::setw(_param->_size_general_data/4) << reg_UPDATE_PREDICTION_TABLE [i][bottom]._address_dest << " "
    158                             << std::dec
    159                             <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._good_take         << " - "
    160                             << "["  << simulation_cycle() << "] " << " "
    161                             <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._miss_prediction   << " "
    162                             <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._ifetch_prediction << " "
    163                             << "("  << toString(reg_UPDATE_PREDICTION_TABLE [i][bottom]._condition) << ")"
    164                             << std::endl;
    165                         }
     151                      if (log_file_generate)
     152                        if (reg_UPDATE_PREDICTION_TABLE [i][bottom]._retire_ok)
     153                          {
     154                            uint32_t num_thread = _param->_translate_num_context_to_num_thread [i];
     155                            branchement_log_file [num_thread]
     156                              << std::hex
     157                              << "0x" << std::setfill('0') << std::setw(_param->_size_general_data/4) << reg_UPDATE_PREDICTION_TABLE [i][bottom]._address_src  << " "
     158                              << "0x" << std::setfill('0') << std::setw(_param->_size_general_data/4) << reg_UPDATE_PREDICTION_TABLE [i][bottom]._address_dest << " "
     159                              << std::dec
     160                              <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._good_take         << " - "
     161                              << "["  << simulation_cycle() << "] " << " "
     162                              <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._miss_prediction   << " "
     163                              <<         reg_UPDATE_PREDICTION_TABLE [i][bottom]._ifetch_prediction << " "
     164                              << "("  << toString(reg_UPDATE_PREDICTION_TABLE [i][bottom]._condition) << ")"
     165                              << std::endl;
     166                          }
    166167#endif
    167168                     
Note: See TracChangeset for help on using the changeset viewer.