changeset de7601e6e19d in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=de7601e6e19d
description:
ruby: get rid of ruby's Debug.hh
Get rid of the Debug class
Get rid of ASSERT and use assert
Use DPRINTFR for ProtocolTrace
diffstat:
configs/ruby/Ruby.py | 8 -
src/mem/SConscript | 1 +
src/mem/ruby/buffers/MessageBuffer.cc | 4 +-
src/mem/ruby/buffers/MessageBuffer.hh | 3 +-
src/mem/ruby/common/Debug.cc | 338
----------
src/mem/ruby/common/Debug.hh | 162 ----
src/mem/ruby/common/Debug.py | 52 -
src/mem/ruby/common/Global.cc | 5 +-
src/mem/ruby/common/Global.hh | 4 -
src/mem/ruby/common/SConscript | 3 -
src/mem/ruby/common/Set.cc | 2 +
src/mem/ruby/eventqueue/RubyEventQueue.cc | 4 +-
src/mem/ruby/filters/BulkBloomFilter.cc | 14 +-
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc | 6 +-
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc | 3 +-
src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh | 3 +-
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc | 9 +-
src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc | 3 +-
src/mem/ruby/network/garnet/flexible-pipeline/flit.hh | 3 +-
src/mem/ruby/network/simple/SimpleNetwork.cc | 5 +-
src/mem/ruby/network/simple/Throttle.cc | 6 +-
src/mem/ruby/network/simple/Topology.cc | 6 +-
src/mem/ruby/profiler/Profiler.cc | 47 +-
src/mem/ruby/profiler/Profiler.hh | 3 -
src/mem/ruby/slicc_interface/RubySlicc_Util.hh | 4 +-
src/mem/ruby/storebuffer/storebuffer.cc | 15 +-
src/mem/ruby/system/RubySystem.py | 1 -
src/mem/ruby/system/Sequencer.cc | 32 +-
src/mem/ruby/system/System.cc | 1 -
src/mem/ruby/tester/DeterministicDriver.cc | 11 +-
src/mem/ruby/tester/RaceyDriver.cc | 8 +-
src/mem/ruby/tester/RaceyPseudoThread.cc | 10 +-
src/mem/ruby/tester/test_framework.cc | 2 -
src/mem/slicc/symbols/StateMachine.py | 56 +-
src/mem/slicc/symbols/Type.py | 1 +
35 files changed, 115 insertions(+), 720 deletions(-)
diffs (truncated from 1473 to 300 lines):
diff -r c1e158414648 -r de7601e6e19d configs/ruby/Ruby.py
--- a/configs/ruby/Ruby.py Mon Jan 10 11:11:17 2011 -0800
+++ b/configs/ruby/Ruby.py Mon Jan 10 11:11:20 2011 -0800
@@ -50,10 +50,6 @@
parser.add_option("--use-map", action="store_true", default=False)
parser.add_option("--map-levels", type="int", default=4)
- # ruby debug cmd line options
- parser.add_option("--ruby-debug", action="store_true", default=False)
- parser.add_option("--ruby-debug-cycle", type="int", default=1)
-
parser.add_option("--recycle-latency", type="int", default=10,
help="Recycle latency for ruby controller input buffers")
@@ -131,10 +127,6 @@
network = network,
profiler = ruby_profiler,
tracer = RubyTracer(),
- debug = RubyDebug(filter_string = 'none',
- verbosity_string = 'none',
- protocol_trace = options.ruby_debug,
- start_time = options.ruby_debug_cycle),
mem_size = total_mem_size)
ruby.cpu_ruby_ports = cpu_sequencers
diff -r c1e158414648 -r de7601e6e19d src/mem/SConscript
--- a/src/mem/SConscript Mon Jan 10 11:11:17 2011 -0800
+++ b/src/mem/SConscript Mon Jan 10 11:11:20 2011 -0800
@@ -60,6 +60,7 @@
TraceFlag('MMU')
TraceFlag('MemoryAccess')
+TraceFlag('ProtocolTrace')
TraceFlag('RubyCache')
TraceFlag('RubyDma')
TraceFlag('RubyGenerated')
diff -r c1e158414648 -r de7601e6e19d src/mem/ruby/buffers/MessageBuffer.cc
--- a/src/mem/ruby/buffers/MessageBuffer.cc Mon Jan 10 11:11:17 2011 -0800
+++ b/src/mem/ruby/buffers/MessageBuffer.cc Mon Jan 10 11:11:20 2011 -0800
@@ -26,6 +26,8 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include <cassert>
+
#include "base/cprintf.hh"
#include "base/misc.hh"
#include "base/stl_helpers.hh"
@@ -158,7 +160,7 @@
}
m_msgs_this_cycle++;
- // ASSERT(m_max_size == -1 || m_size <= m_max_size + 1);
+ // assert(m_max_size == -1 || m_size <= m_max_size + 1);
// the plus one is a kluge because of a SLICC issue
if (!m_ordering_set) {
diff -r c1e158414648 -r de7601e6e19d src/mem/ruby/buffers/MessageBuffer.hh
--- a/src/mem/ruby/buffers/MessageBuffer.hh Mon Jan 10 11:11:17 2011 -0800
+++ b/src/mem/ruby/buffers/MessageBuffer.hh Mon Jan 10 11:11:20 2011 -0800
@@ -35,6 +35,7 @@
#define __MEM_RUBY_BUFFERS_MESSAGEBUFFER_HH__
#include <algorithm>
+#include <cassert>
#include <functional>
#include <iostream>
#include <vector>
@@ -85,7 +86,7 @@
void setPriority(int rank) { m_priority_rank = rank; }
void setConsumer(Consumer* consumer_ptr)
{
- ASSERT(m_consumer_ptr == NULL);
+ assert(m_consumer_ptr == NULL);
m_consumer_ptr = consumer_ptr;
}
diff -r c1e158414648 -r de7601e6e19d src/mem/ruby/common/Debug.cc
--- a/src/mem/ruby/common/Debug.cc Mon Jan 10 11:11:17 2011 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +0,0 @@
-/*
- * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <fstream>
-#include <stdarg.h>
-
-#include "base/misc.hh"
-#include "mem/ruby/common/Debug.hh"
-#include "mem/ruby/common/Global.hh"
-#include "mem/ruby/eventqueue/RubyEventQueue.hh"
-
-using namespace std;
-
-class Debug;
-extern Debug* g_debug_ptr;
-ostream *debug_cout_ptr;
-
-bool Debug::m_protocol_trace = false;
-struct DebugComponentData
-{
- const char *desc;
- const char ch;
-};
-
-// component character list
-DebugComponentData debugComponents[] =
-{
- {"System", 's' },
- {"Node", 'N' },
- {"Queue", 'q' },
- {"Event Queue", 'e' },
- {"Network", 'n' },
- {"Sequencer", 'S' },
- {"Tester", 't' },
- {"Generated", 'g' },
- {"SLICC", 'l' },
- {"Network Queues", 'Q' },
- {"Time", 'T' },
- {"Network Internals", 'i' },
- {"Store Buffer", 'b' },
- {"Cache", 'c' },
- {"Predictor", 'p' },
- {"Memory", 'M' },
-};
-
-extern "C" void changeDebugVerbosity(VerbosityLevel vb);
-extern "C" void changeDebugFilter(int filter);
-
-void
-changeDebugVerbosity(VerbosityLevel vb)
-{
- g_debug_ptr->setVerbosity(vb);
-}
-
-void
-changeDebugFilter(int filter)
-{
- g_debug_ptr->setFilter(filter);
-}
-
-Debug::Debug(const Params *p)
- : SimObject(p)
-{
- clearFilter();
- debug_cout_ptr = &cout;
-
- setFilterString(p->filter_string.c_str());
- setVerbosityString(p->verbosity_string.c_str());
- setDebugOutputFile(p->output_filename.c_str());
- m_starting_cycle = p->start_time;
- m_protocol_trace = p->protocol_trace;
- g_debug_ptr = this;
-}
-
-Debug::~Debug()
-{
-}
-
-void
-Debug::printVerbosity(ostream& out) const
-{
- switch (getVerbosity()) {
- case No_Verb:
- out << "verbosity = No_Verb" << endl;
- break;
- case Low_Verb:
- out << "verbosity = Low_Verb" << endl;
- break;
- case Med_Verb:
- out << "verbosity = Med_Verb" << endl;
- break;
- case High_Verb:
- out << "verbosity = High_Verb" << endl;
- break;
- default:
- out << "verbosity = unknown" << endl;
- }
-}
-
-bool
-Debug::validDebug(int module, PriorityLevel priority)
-{
- int local_module = (1 << module);
- if (m_filter & local_module) {
- if (g_eventQueue_ptr == NULL ||
- g_eventQueue_ptr->getTime() >= m_starting_cycle) {
- switch (m_verbosityLevel) {
- case No_Verb:
- return false;
- case Low_Verb:
- return (priority == HighPrio);
- case Med_Verb:
- return (priority == HighPrio || priority == MedPrio);
- case High_Verb:
- return true;
- }
- }
- }
- return false;
-}
-
-void
-Debug::setDebugTime(Time t)
-{
- m_starting_cycle = t;
-}
-
-void
-Debug::setVerbosity(VerbosityLevel vb)
-{
- m_verbosityLevel = vb;
-}
-
-void
-Debug::setFilter(int filter)
-{
- m_filter = filter;
-}
-
-bool
-Debug::setVerbosityString(const char *verb_str)
-{
- string verb = verb_str ? verb_str : "";
- if (verb == "none") {
- setVerbosity(No_Verb);
- } else if (verb == "low") {
- setVerbosity(Low_Verb);
- } else if (verb == "med") {
- setVerbosity(Med_Verb);
- } else if (verb == "high") {
- setVerbosity(High_Verb);
- } else {
- cerr << "Error: unrecognized verbosity (use none, low, med, high): "
- << verb << endl;
- return true; // error
- }
- return false; // no error
-}
-
-bool
-Debug::checkFilter(char ch)
-{
- for (int i = 0; i < NUMBER_OF_COMPS; i++) {
- // Look at all components to find a character match
- if (debugComponents[i].ch == ch) {
- // We found a match - return no error
- return false; // no error
- }
- }
- return true; // error
-}
-
-bool
-Debug::checkFilterString(const char *filter_str)
-{
- if (filter_str == NULL) {
- cerr << "Error: unrecognized component filter: NULL" << endl;
- return true; // error
- }
-
- // check for default filter ("none") before reporting RUBY_DEBUG error
- if (string(filter_str) == "none") {
- return false; // no error
- }
-
- if (string(filter_str) == "all") {
- return false; // no error
- }
-
- // scan string checking each character
- for (unsigned int i = 0; i < strlen(filter_str); i++) {
- bool unrecognized = checkFilter(filter_str[i]);
- if (unrecognized == true) {
- return true; // error
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev