changeset b9ba22cb23f2 in /z/repo/m5
details: http://repo.gem5.org/m5?cmd=changeset;node=b9ba22cb23f2
description:
        SLICC: Remove machine name as prefix to functions
        Currently, the machine name is appended before any of the functions
        defined with in the sm files. This is not necessary and it also
        means that these functions cannot be used outside the sm files.
        This patch does away with the prefixes. Note that the generated
        C++ files in which the code for these functions is present are
        still named such that the machine name is the prefix.

diffstat:

 src/mem/slicc/symbols/Func.py         |  14 +++++++-------
 src/mem/slicc/symbols/StateMachine.py |  16 ++++++++--------
 2 files changed, 15 insertions(+), 15 deletions(-)

diffs (74 lines):

diff -r 3a2aebf01bf3 -r b9ba22cb23f2 src/mem/slicc/symbols/Func.py
--- a/src/mem/slicc/symbols/Func.py     Thu Jun 02 21:23:02 2011 -0700
+++ b/src/mem/slicc/symbols/Func.py     Fri Jun 03 13:52:18 2011 -0500
@@ -37,15 +37,12 @@
         self.param_strings = param_strings
         self.body = body
         self.isInternalMachineFunc = False
+        self.c_ident = ident
 
-        if machine is None:
-            self.c_ident = ident
-        elif "external" in self or "primitive" in self:
-            self.c_ident = ident
+        if machine is None or "external" in self or "primitive" in self:
+            pass
         else:
             self.machineStr = str(machine)
-            # Append with machine name
-            self.c_ident = "%s_%s" % (self.machineStr, ident)
             self.isInternalMachineFunc = True
 
     def __repr__(self):
@@ -107,6 +104,9 @@
 ${{self.body}}
 }
 ''')
-        code.write(path, "%s.cc" % self.c_ident)
+        if self.isInternalMachineFunc:
+            code.write(path, "%s_%s.cc" % (self.machineStr,self.c_ident))
+        else:
+            code.write(path, "%s.cc" % self.c_ident)
 
 __all__ = [ "Func" ]
diff -r 3a2aebf01bf3 -r b9ba22cb23f2 src/mem/slicc/symbols/StateMachine.py
--- a/src/mem/slicc/symbols/StateMachine.py     Thu Jun 02 21:23:02 2011 -0700
+++ b/src/mem/slicc/symbols/StateMachine.py     Fri Jun 03 13:52:18 2011 -0500
@@ -1071,13 +1071,13 @@
 {
 ''')
         if self.TBEType != None and self.EntryType != None:
-            code('${ident}_State state = ${ident}_getState(m_tbe_ptr, 
m_cache_entry_ptr, addr);')
+            code('${ident}_State state = getState(m_tbe_ptr, 
m_cache_entry_ptr, addr);')
         elif self.TBEType != None:
-            code('${ident}_State state = ${ident}_getState(m_tbe_ptr, addr);')
+            code('${ident}_State state = getState(m_tbe_ptr, addr);')
         elif self.EntryType != None:
-            code('${ident}_State state = ${ident}_getState(m_cache_entry_ptr, 
addr);')
+            code('${ident}_State state = getState(m_cache_entry_ptr, addr);')
         else:
-            code('${ident}_State state = ${ident}_getState(addr);')
+            code('${ident}_State state = getState(addr);')
 
         code('''
     ${ident}_State next_state = state;
@@ -1115,15 +1115,15 @@
         CLEAR_TRANSITION_COMMENT();
 ''')
         if self.TBEType != None and self.EntryType != None:
-            code('${ident}_setState(m_tbe_ptr, m_cache_entry_ptr, addr, 
next_state);')
+            code('setState(m_tbe_ptr, m_cache_entry_ptr, addr, next_state);')
             code('set_permission(m_cache_entry_ptr, 
${ident}_State_to_permission(next_state));')
         elif self.TBEType != None:
-            code('${ident}_setState(m_tbe_ptr, addr, next_state);')
+            code('setState(m_tbe_ptr, addr, next_state);')
         elif self.EntryType != None:
-            code('${ident}_setState(m_cache_entry_ptr, addr, next_state);')
+            code('setState(m_cache_entry_ptr, addr, next_state);')
             code('set_permission(m_cache_entry_ptr, 
${ident}_State_to_permission(next_state));')
         else:
-            code('${ident}_setState(addr, next_state);')
+            code('setState(addr, next_state);')
 
         code('''
     } else if (result == TransitionResult_ResourceStall) {
_______________________________________________
gem5-dev mailing list
gem5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to