diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2011-06-03 13:52:18 -0500 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2011-06-03 13:52:18 -0500 |
commit | 3a083edc301327527d954c8cbc5489b9d80b222f (patch) | |
tree | e616033d758084e111b97c7b1e97b450c3a972f8 | |
parent | 5a78c2d001e24d31d09e272b2a17b81146699cda (diff) | |
download | gem5-3a083edc301327527d954c8cbc5489b9d80b222f.tar.xz |
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.
-rw-r--r-- | src/mem/slicc/symbols/Func.py | 14 | ||||
-rw-r--r-- | src/mem/slicc/symbols/StateMachine.py | 16 |
2 files changed, 15 insertions, 15 deletions
diff --git a/src/mem/slicc/symbols/Func.py b/src/mem/slicc/symbols/Func.py index 28a0cf93c..f0b92cdc9 100644 --- a/src/mem/slicc/symbols/Func.py +++ b/src/mem/slicc/symbols/Func.py @@ -37,15 +37,12 @@ class Func(Symbol): 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 @@ ${klass}::${{self.c_ident}}($params) ${{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 --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py index 3cb542d47..09e17aee9 100644 --- a/src/mem/slicc/symbols/StateMachine.py +++ b/src/mem/slicc/symbols/StateMachine.py @@ -1071,13 +1071,13 @@ ${ident}_Controller::doTransition(${ident}_Event event, { ''') 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 @@ ${ident}_Controller::doTransition(${ident}_Event event, 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) { |