ruby: remove calls to g_system_ptr->getTime()
authorNilay Vaish <nilay@cs.wisc.edu>
Thu, 17 Jan 2013 19:10:12 +0000 (13:10 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Thu, 17 Jan 2013 19:10:12 +0000 (13:10 -0600)
This patch further removes calls to g_system_ptr->getTime() where ever other
clocked objects are available for providing current time.

src/cpu/testers/rubytest/Check.cc
src/cpu/testers/rubytest/Check.hh
src/cpu/testers/rubytest/RubyTester.cc
src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc
src/mem/ruby/structures/Prefetcher.cc

index 7de3415b15a5e5804459b901d995a807c40b40df..a861dbfd850cb1da5e5479ee9f5298157721124f 100644 (file)
@@ -276,7 +276,7 @@ Check::initiateCheck()
 }
 
 void
-Check::performCallback(NodeID proc, SubBlock* data)
+Check::performCallback(NodeID proc, SubBlock* data, Time curTime)
 {
     Address address = data->getAddress();
 
@@ -312,8 +312,7 @@ Check::performCallback(NodeID proc, SubBlock* data)
                       "Time: %d\n",
                       proc, address, data, byte_number,
                       (int)m_value + byte_number,
-                      (int)data->getByte(byte_number), *this,
-                      g_system_ptr->getTime());
+                      (int)data->getByte(byte_number), *this, curTime);
             }
         }
         DPRINTF(RubyTest, "Action/check success\n");
@@ -327,8 +326,7 @@ Check::performCallback(NodeID proc, SubBlock* data)
 
     } else {
         panic("Unexpected TesterStatus: %s proc: %d data: %s m_status: %s "
-              "time: %d\n",
-              *this, proc, data, m_status, g_system_ptr->getTime());
+              "time: %d\n", *this, proc, data, m_status, curTime);
     }
 
     DPRINTF(RubyTest, "proc: %d, Address: 0x%x\n", proc,
index 6396189cc839e93a667779552dc3ea08a4d62926..47d790b1ec3a2eda02c0c39e1a272841653c62e6 100644 (file)
@@ -50,7 +50,7 @@ class Check
           int _num_readers, RubyTester* _tester);
 
     void initiate(); // Does Action or Check or nether
-    void performCallback(NodeID proc, SubBlock* data);
+    void performCallback(NodeID proc, SubBlock* data, Time curTime);
     const Address& getAddress() { return m_address; }
     void changeAddress(const Address& address);
 
index 6ddab93e8715e724daa7f5dd67c6440851ae62a3..08564753303d8ac97aeed682c27ab5f9f68883c0 100644 (file)
@@ -191,7 +191,7 @@ void
 RubyTester::hitCallback(NodeID proc, SubBlock* data)
 {
     // Mark that we made progress
-    m_last_progress_vector[proc] = g_system_ptr->getTime();
+    m_last_progress_vector[proc] = curCycle();
 
     DPRINTF(RubyTest, "completed request for proc: %d\n", proc);
     DPRINTF(RubyTest, "addr: 0x%x, size: %d, data: ",
@@ -205,7 +205,7 @@ RubyTester::hitCallback(NodeID proc, SubBlock* data)
     // back the data to make the check
     Check* check_ptr = m_checkTable_ptr->getCheck(data->getAddress());
     assert(check_ptr != NULL);
-    check_ptr->performCallback(proc, data);
+    check_ptr->performCallback(proc, data, curCycle());
 }
 
 void
@@ -229,7 +229,7 @@ void
 RubyTester::checkForDeadlock()
 {
     int size = m_last_progress_vector.size();
-    Time current_time = g_system_ptr->getTime();
+    Time current_time = curCycle();
     for (int processor = 0; processor < size; processor++) {
         if ((current_time - m_last_progress_vector[processor]) >
                 m_deadlock_threshold) {
index 5aa60d754cbf9d50c220a9f79336e7a6c3fddfb0..d006591c0faa445ffc5475945759d4cc5520dcce 100644 (file)
@@ -37,7 +37,7 @@ OutVcState_d::OutVcState_d(int id, GarnetNetwork_d *network_ptr)
     m_network_ptr = network_ptr;
     m_id = id;
     m_vc_state = IDLE_;
-    m_time = g_system_ptr->getTime();
+    m_time = m_network_ptr->curCycle();
 
     if (m_network_ptr->get_vnet_type(id) == DATA_VNET_)
         m_credit_count = m_network_ptr->getBuffersPerDataVC();
index 5135c2bb2bf90df7e06824e7dd52efb49923f2be..47caf1cc85386f75cfc09b36e1ffc309ab0fea3d 100644 (file)
@@ -248,7 +248,7 @@ Prefetcher::issueNextPrefetch(const Address &address, PrefetchEntry *stream)
 
     // launch next prefetch
     stream->m_address = line_addr;
-    stream->m_use_time = g_system_ptr->getTime();
+    stream->m_use_time = m_controller->curCycle();
     DPRINTF(RubyPrefetcher, "Requesting prefetch for %s\n", line_addr);
     m_controller->enqueuePrefetch(line_addr, stream->m_type);
 }
@@ -290,7 +290,7 @@ Prefetcher::initializeStream(const Address& address, int stride,
     PrefetchEntry *mystream = &(m_array[index]);
     mystream->m_address = line_address(address);
     mystream->m_stride = stride;
-    mystream->m_use_time = g_system_ptr->getTime();
+    mystream->m_use_time = m_controller->curCycle();
     mystream->m_is_valid = true;
     mystream->m_type = type;