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; |
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 |