source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor_Glue/src/Meta_Predictor_Glue_deallocation.cpp @ 45

Last change on this file since 45 was 45, checked in by rosiere, 17 years ago
  • Documentation : specification d'un cache de donnée non bloquant
  • Modification de l'aborescence
File size: 3.1 KB
Line 
1#ifdef SYSTEMC
2/*
3 * $Id$
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Meta_Predictor_Glue/include/Meta_Predictor_Glue.h"
10
11namespace morpheo                    {
12namespace behavioural {
13namespace stage_1_ifetch {
14namespace predictor {
15namespace meta_predictor {
16namespace meta_predictor_glue {
17
18
19  void Meta_Predictor_Glue::deallocation (void)
20  {
21    log_printf(FUNC,Meta_Predictor_Glue,"deallocation","Begin");
22
23    delete     in_CLOCK;
24    delete     in_NRESET;
25
26    if (_param._have_meta_predictor)
27    {
28    delete []   in_PREDICT_PREDICTOR_0_ACK;
29    delete []   in_PREDICT_PREDICTOR_1_ACK;
30    }                             
31    delete []   in_PREDICT_PREDICTOR_2_ACK;
32    delete []  out_PREDICT_ACK            ;
33    if (_param._have_meta_predictor)
34    {
35    if (_param._predictor_0_have_bht)
36    delete []   in_PREDICT_PREDICTOR_0_BHT_HISTORY;
37    if (_param._predictor_0_have_pht)
38    delete []   in_PREDICT_PREDICTOR_0_PHT_HISTORY;
39    if (_param._predictor_1_have_bht)
40    delete []   in_PREDICT_PREDICTOR_1_BHT_HISTORY;
41    if (_param._predictor_1_have_pht)
42    delete []   in_PREDICT_PREDICTOR_1_PHT_HISTORY ;
43    }
44    if (_param._predictor_2_have_bht)
45    delete []   in_PREDICT_PREDICTOR_2_BHT_HISTORY ;
46    if (_param._predictor_2_have_pht)
47    delete []   in_PREDICT_PREDICTOR_2_PHT_HISTORY ;
48    delete []  out_PREDICT_HISTORY                 ;
49    delete []  out_PREDICT_DIRECTION               ;
50
51    if (_param._have_meta_predictor)
52    {
53    delete []   in_BRANCH_COMPLETE_VAL                     ;
54    delete []  out_BRANCH_COMPLETE_PREDICTOR_2_VAL         ;
55
56    delete []   in_BRANCH_COMPLETE_PREDICTOR_0_ACK         ;
57    delete []   in_BRANCH_COMPLETE_PREDICTOR_1_ACK         ;
58    }                             
59    delete []   in_BRANCH_COMPLETE_PREDICTOR_2_ACK         ;
60    delete []  out_BRANCH_COMPLETE_ACK                     ;
61    if (_param._have_meta_predictor)
62    {
63    if (_param._predictor_0_have_bht)
64    delete []  out_BRANCH_COMPLETE_PREDICTOR_0_BHT_HISTORY ;
65    if (_param._predictor_0_have_pht)
66    delete []  out_BRANCH_COMPLETE_PREDICTOR_0_PHT_HISTORY ;
67    if (_param._predictor_1_have_bht)
68    delete []  out_BRANCH_COMPLETE_PREDICTOR_1_BHT_HISTORY ;
69    if (_param._predictor_1_have_pht)
70    delete []  out_BRANCH_COMPLETE_PREDICTOR_1_PHT_HISTORY ;
71    }
72    if (_param._predictor_2_have_bht)
73    delete []  out_BRANCH_COMPLETE_PREDICTOR_2_BHT_HISTORY ;
74    if (_param._predictor_2_have_pht)
75    delete []  out_BRANCH_COMPLETE_PREDICTOR_2_PHT_HISTORY ;
76    delete []   in_BRANCH_COMPLETE_HISTORY                 ;
77    if (_param._have_meta_predictor)
78      {
79    delete []   in_BRANCH_COMPLETE_DIRECTION               ;
80    delete []  out_BRANCH_COMPLETE_PREDICTOR_2_DIRECTION   ;
81      }
82    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
83    delete _component;
84
85    log_printf(FUNC,Meta_Predictor_Glue,"deallocation","End");
86  };
87
88}; // end namespace meta_predictor_glue
89}; // end namespace meta_predictor
90}; // end namespace predictor
91}; // end namespace stage_1_ifetch
92
93}; // end namespace behavioural
94}; // end namespace morpheo             
95#endif
Note: See TracBrowser for help on using the repository browser.