commit.hh (9513:690357ffbce2) commit.hh (10023:91faf6649de0)
1/*
2 * Copyright (c) 2010-2012 ARM Limited
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

45#define __CPU_O3_COMMIT_HH__
46
47#include <queue>
48
49#include "base/statistics.hh"
50#include "cpu/exetrace.hh"
51#include "cpu/inst_seq.hh"
52#include "cpu/timebuf.hh"
1/*
2 * Copyright (c) 2010-2012 ARM Limited
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

45#define __CPU_O3_COMMIT_HH__
46
47#include <queue>
48
49#include "base/statistics.hh"
50#include "cpu/exetrace.hh"
51#include "cpu/inst_seq.hh"
52#include "cpu/timebuf.hh"
53#include "sim/probe/probe.hh"
53
54struct DerivO3CPUParams;
55
56template <class>
57struct O3ThreadState;
58
59/**
60 * DefaultCommit handles single threaded and SMT commit. Its width is

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

145 CommitStatus _status;
146 /** Next commit status, to be set at the end of the cycle. */
147 CommitStatus _nextStatus;
148 /** Per-thread status. */
149 ThreadStatus commitStatus[Impl::MaxThreads];
150 /** Commit policy used in SMT mode. */
151 CommitPolicy commitPolicy;
152
54
55struct DerivO3CPUParams;
56
57template <class>
58struct O3ThreadState;
59
60/**
61 * DefaultCommit handles single threaded and SMT commit. Its width is

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

146 CommitStatus _status;
147 /** Next commit status, to be set at the end of the cycle. */
148 CommitStatus _nextStatus;
149 /** Per-thread status. */
150 ThreadStatus commitStatus[Impl::MaxThreads];
151 /** Commit policy used in SMT mode. */
152 CommitPolicy commitPolicy;
153
154 /** Probe Points. */
155 ProbePointArg<DynInstPtr> *ppCommit;
156 ProbePointArg<DynInstPtr> *ppCommitStall;
157
153 public:
154 /** Construct a DefaultCommit with the given parameters. */
155 DefaultCommit(O3CPU *_cpu, DerivO3CPUParams *params);
156
157 /** Returns the name of the DefaultCommit. */
158 std::string name() const;
159
160 /** Registers statistics. */
161 void regStats();
162
158 public:
159 /** Construct a DefaultCommit with the given parameters. */
160 DefaultCommit(O3CPU *_cpu, DerivO3CPUParams *params);
161
162 /** Returns the name of the DefaultCommit. */
163 std::string name() const;
164
165 /** Registers statistics. */
166 void regStats();
167
168 /** Registers probes. */
169 void regProbePoints();
170
163 /** Sets the list of threads. */
164 void setThreads(std::vector<Thread *> &threads);
165
166 /** Sets the main time buffer pointer, used for backwards communication. */
167 void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr);
168
169 void setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr);
170

--- 364 unchanged lines hidden ---
171 /** Sets the list of threads. */
172 void setThreads(std::vector<Thread *> &threads);
173
174 /** Sets the main time buffer pointer, used for backwards communication. */
175 void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr);
176
177 void setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr);
178

--- 364 unchanged lines hidden ---