Ignore:
Timestamp:
Jun 26, 2009, 10:43:23 AM (15 years ago)
Author:
rosiere
Message:

1) Correct bug in link two signal
2) Fix error detected with valgrind
3) modif distexe script

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/src/Parameters.cpp

    r122 r128  
    77
    88#include "Behavioural/Core/Multi_Front_end/Front_end/include/Parameters.h"
     9#include "Behavioural/include/Allocation.h"
    910#include "Common/include/Max.h"
    1011
     
    110111    uint32_t size_instruction_address   = size_general_data - 2;
    111112
    112     _array_size_depth                   = new uint32_t [_nb_context];
     113    ALLOC1(_array_size_depth            ,uint32_t,_nb_context);
    113114    for (uint32_t i=0; i<_nb_context; i++)
    114115      _array_size_depth [i] = log2(_upt_size_queue[i]);
    115116   
    116     _array_size_nb_inst_decod = new uint32_t [_nb_decod_unit];
     117    ALLOC1(_array_size_nb_inst_decod    ,uint32_t,_nb_decod_unit);
    117118    for (uint32_t i=0; i<_nb_decod_unit; i++)
    118119      _array_size_nb_inst_decod [i] = log2(_size_decod_queue[i]+1);
     
    159160       );
    160161
    161     _translate_context_id_from_decod_unit= new std::vector<uint32_t> [_nb_decod_unit];
     162    ALLOC1(_translate_context_id_from_decod_unit,std::vector<uint32_t>,_nb_decod_unit);
    162163
    163164    for (uint32_t i=0; i<_nb_context; ++i)
    164165      _translate_context_id_from_decod_unit [_link_context_to_decod_unit[i]].push_back(i);
    165166
    166     _decod_unit_nb_context               = new uint32_t    [_nb_decod_unit];
    167     _decod_unit_nb_inst_fetch            = new uint32_t *  [_nb_decod_unit];
    168     _decod_unit_nb_branch_speculated     = new uint32_t *  [_nb_decod_unit];
    169 //     _decod_unit_depth                    = new uint32_t *  [_nb_decod_unit];
    170     _decod_unit_instruction_implemeted   = new bool     ** [_nb_decod_unit];
    171 //     _have_port_decod_unit_context_id     = new bool        [_nb_decod_unit];
     167    ALLOC1(_decod_unit_nb_context            ,uint32_t,_nb_decod_unit);
     168    ALLOC2(_decod_unit_nb_inst_fetch         ,uint32_t,_nb_decod_unit,_translate_context_id_from_decod_unit [it1].size());
     169    ALLOC2(_decod_unit_nb_branch_speculated  ,uint32_t,_nb_decod_unit,_translate_context_id_from_decod_unit [it1].size());
     170//  ALLOC2(_decod_unit_depth                 ,uint32_t,_nb_decod_unit,_translate_context_id_from_decod_unit [it1].size());
     171    ALLOC3(_decod_unit_instruction_implemeted,bool    ,_nb_decod_unit,_translate_context_id_from_decod_unit [it1].size(),NB_INSTRUCTION);
     172//  ALLOC2(_have_port_decod_unit_context_id  ,bool    ,_nb_decod_unit);
    172173    _sum_inst_decod                      = 0;
    173174   
     
    179180
    180181        _decod_unit_nb_context             [i] = size;
    181         _decod_unit_nb_inst_fetch          [i] = new uint32_t   [size];
    182 //         _decod_unit_depth                  [i] = new uint32_t   [size];
    183         _decod_unit_nb_branch_speculated   [i] = new uint32_t   [size];
    184         _decod_unit_instruction_implemeted [i] = new bool     * [size];
    185 //         _have_port_decod_unit_context_id   [i] = size > 0;
     182//      _have_port_decod_unit_context_id   [i] = size > 0;
    186183
    187184        for (uint32_t j=0; j<size; ++j)
     
    191188            _decod_unit_nb_inst_fetch          [i][j] = _nb_inst_fetch  [x];
    192189            _decod_unit_nb_branch_speculated   [i][j] = _upt_size_queue [x];
    193 //             _decod_unit_depth                  [i][j] = log2(_upt_size_queue[x]);
    194             _decod_unit_instruction_implemeted [i][j] = new bool [NB_INSTRUCTION];
     190//          _decod_unit_depth                  [i][j] = log2(_upt_size_queue[x]);
    195191
    196192            for (uint32_t k=0; k<NB_INSTRUCTION; ++k)
     
    302298    delete [] _param_ifetch_unit    ;
    303299
    304 //     delete [] _size_ifetch_queue_ptr;
    305 //     delete [] _size_nb_inst_decod;
    306     delete [] _array_size_depth;
    307     for (uint32_t i=0; i<_nb_context; ++i)
    308       {
    309         for (uint32_t j=0; j<_translate_context_id_from_decod_unit [i].size(); ++j)
    310           delete [] _decod_unit_instruction_implemeted [i][j];
    311 
    312         delete [] _decod_unit_nb_inst_fetch          [i];
    313 //         delete [] _decod_unit_depth                  [i];
    314         delete [] _decod_unit_nb_branch_speculated   [i];
    315         delete [] _decod_unit_instruction_implemeted [i];
    316       }
    317     delete [] _decod_unit_nb_inst_fetch         ;
    318 //     delete [] _decod_unit_depth                 ;
    319     delete [] _decod_unit_nb_branch_speculated  ;
    320     delete [] _decod_unit_instruction_implemeted;
    321 
    322 //     delete [] _have_port_decod_unit_context_id;
    323     delete [] _decod_unit_nb_context               ;
    324     delete [] _translate_context_id_from_decod_unit;
     300//  DELETE2(_have_port_decod_unit_context_id     ,_nb_decod_unit);
     301    DELETE3(_decod_unit_instruction_implemeted   ,_nb_decod_unit,_translate_context_id_from_decod_unit [it1].size(),NB_INSTRUCTION);
     302//  DELETE2(_decod_unit_depth                    ,_nb_decod_unit,_translate_context_id_from_decod_unit [it1].size());
     303    DELETE2(_decod_unit_nb_branch_speculated     ,_nb_decod_unit,_translate_context_id_from_decod_unit [it1].size());
     304    DELETE2(_decod_unit_nb_inst_fetch            ,_nb_decod_unit,_translate_context_id_from_decod_unit [it1].size());
     305    DELETE1(_decod_unit_nb_context               ,_nb_decod_unit);
     306
     307    DELETE1(_translate_context_id_from_decod_unit,_nb_decod_unit);
     308    DELETE1(_array_size_nb_inst_decod            ,_nb_decod_unit);
     309    DELETE1(_array_size_depth                    ,_nb_context);
    325310
    326311    log_end(Front_end,FUNCTION);
Note: See TracChangeset for help on using the changeset viewer.