Sequencer.hh (6882:898047a3672c) Sequencer.hh (6886:3137c3d41107)
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

123 // Global outstanding request count, across all request tables
124 int m_outstanding_count;
125 bool m_deadlock_check_scheduled;
126
127 int m_store_waiting_on_load_cycles;
128 int m_store_waiting_on_store_cycles;
129 int m_load_waiting_on_store_cycles;
130 int m_load_waiting_on_load_cycles;
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

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

123 // Global outstanding request count, across all request tables
124 int m_outstanding_count;
125 bool m_deadlock_check_scheduled;
126
127 int m_store_waiting_on_load_cycles;
128 int m_store_waiting_on_store_cycles;
129 int m_load_waiting_on_store_cycles;
130 int m_load_waiting_on_load_cycles;
131
132 class SequencerWakeupEvent : public Event
133 {
134 Sequencer *m_sequencer_ptr;
135
136 public:
137 SequencerWakeupEvent(Sequencer *_seq) : m_sequencer_ptr(_seq) {}
138 void process() { m_sequencer_ptr->wakeup(); }
139 const char *description() const { return "Sequencer deadlock check"; }
140 };
141
142 SequencerWakeupEvent deadlockCheckEvent;
131};
132
133// Output operator declaration
134ostream& operator<<(ostream& out, const Sequencer& obj);
135
136// ******************* Definitions *******************
137
138// Output operator definition
139extern inline
140ostream& operator<<(ostream& out, const Sequencer& obj)
141{
142 obj.print(out);
143 out << flush;
144 return out;
145}
146
147#endif //SEQUENCER_H
148
143};
144
145// Output operator declaration
146ostream& operator<<(ostream& out, const Sequencer& obj);
147
148// ******************* Definitions *******************
149
150// Output operator definition
151extern inline
152ostream& operator<<(ostream& out, const Sequencer& obj)
153{
154 obj.print(out);
155 out << flush;
156 return out;
157}
158
159#endif //SEQUENCER_H
160