Deleted Added
sdiff udiff text old ( 5529:9ae69b9cd7fd ) new ( 6005:1dc178e53487 )
full compact
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 30 unchanged lines hidden (view full) ---

39MemDepUnit<MemDepPred, Impl>::MemDepUnit()
40 : loadBarrier(false), loadBarrierSN(0), storeBarrier(false),
41 storeBarrierSN(0), iqPtr(NULL)
42{
43}
44
45template <class MemDepPred, class Impl>
46MemDepUnit<MemDepPred, Impl>::MemDepUnit(DerivO3CPUParams *params)
47 : depPred(params->SSITSize, params->LFSTSize), loadBarrier(false),
48 loadBarrierSN(0), storeBarrier(false), storeBarrierSN(0), iqPtr(NULL)
49{
50 DPRINTF(MemDepUnit, "Creating MemDepUnit object.\n");
51}
52
53template <class MemDepPred, class Impl>
54MemDepUnit<MemDepPred, Impl>::~MemDepUnit()
55{

--- 15 unchanged lines hidden (view full) ---

71 }
72
73#ifdef DEBUG
74 assert(MemDepEntry::memdep_count == 0);
75#endif
76}
77
78template <class MemDepPred, class Impl>
79std::string
80MemDepUnit<MemDepPred, Impl>::name() const
81{
82 return "memdepunit";
83}
84
85template <class MemDepPred, class Impl>
86void
87MemDepUnit<MemDepPred, Impl>::init(DerivO3CPUParams *params, int tid)
88{
89 DPRINTF(MemDepUnit, "Creating MemDepUnit %i object.\n",tid);
90
91 id = tid;
92
93 depPred.init(params->SSITSize, params->LFSTSize);
94}
95
96template <class MemDepPred, class Impl>
97void
98MemDepUnit<MemDepPred, Impl>::regStats()
99{
100 insertedLoads
101 .name(name() + ".memDep.insertedLoads")
102 .desc("Number of loads inserted to the mem dependence unit.");
103
104 insertedStores
105 .name(name() + ".memDep.insertedStores")
106 .desc("Number of stores inserted to the mem dependence unit.");
107
108 conflictingLoads
109 .name(name() + ".memDep.conflictingLoads")
110 .desc("Number of conflicting loads.");
111
112 conflictingStores
113 .name(name() + ".memDep.conflictingStores")
114 .desc("Number of conflicting stores.");
115}
116
117template <class MemDepPred, class Impl>
118void
119MemDepUnit<MemDepPred, Impl>::switchOut()
120{
121 assert(instList[0].empty());

--- 464 unchanged lines hidden ---