ruby: remove the function functionalReadBuffers()
authorNilay Vaish <nilay@cs.wisc.edu>
Thu, 6 Nov 2014 11:42:20 +0000 (05:42 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Thu, 6 Nov 2014 11:42:20 +0000 (05:42 -0600)
This function was added when I had incorrectly arrived at the conclusion
that such a function can improve the chances of a functional read succeeding.
As was later realized, this is not possible in the current setup.  While the
code using this function was dropped long back, this function was not.  Hence
the patch.

src/mem/ruby/slicc_interface/AbstractController.hh
src/mem/slicc/symbols/StateMachine.py

index f30967e488e07387f0aefbd8af3bb709255c8f99..98fce574f9ac9c616bda9eee3566376da7957873 100644 (file)
@@ -76,11 +76,8 @@ class AbstractController : public ClockedObject, public Consumer
     virtual void recordCacheTrace(int cntrl, CacheRecorder* tr) = 0;
     virtual Sequencer* getSequencer() const = 0;
 
-    //! These functions are used by ruby system to read/write the message
-    //! queues that exist with in the controller.
-    //! The boolean return value indicates if the read was performed
-    //! successfully.
-    virtual bool functionalReadBuffers(PacketPtr&) = 0;
+    //! These functions are used by ruby system to read/write the data blocks
+    //! that exist with in the controller.
     virtual void functionalRead(const Address &addr, PacketPtr) = 0;
     //! The return value indicates the number of messages written with the
     //! data from the packet.
index 7360136128f9ff5bac3c708306bdb8a3a5a5bb63..009680941394bc637b3f83ed6e5960b0a4c05b14 100644 (file)
@@ -285,7 +285,6 @@ class $c_ident : public AbstractController
     void recordCacheTrace(int cntrl, CacheRecorder* tr);
     Sequencer* getSequencer() const;
 
-    bool functionalReadBuffers(PacketPtr&);
     uint32_t functionalWriteBuffers(PacketPtr&);
 
     void countTransition(${ident}_State state, ${ident}_Event event);
@@ -988,29 +987,6 @@ $c_ident::${{action.ident}}(const Address& addr)
         for func in self.functions:
             code(func.generateCode())
 
-        # Function for functional reads from messages buffered in the controller
-        code('''
-bool
-$c_ident::functionalReadBuffers(PacketPtr& pkt)
-{
-''')
-        for var in self.objects:
-            vtype = var.type
-            if vtype.isBuffer:
-                vid = "m_%s_ptr" % var.ident
-                code('if ($vid->functionalRead(pkt)) { return true; }')
-
-        for var in self.config_parameters:
-            vtype = var.type_ast.type
-            if vtype.isBuffer:
-                vid = "m_%s_ptr" % var.ident
-                code('if ($vid->functionalRead(pkt)) { return true; }')
-
-        code('''
-                return false;
-}
-''')
-
         # Function for functional writes to messages buffered in the controller
         code('''
 uint32_t