If it is possible to get rid of it, we can. This was done before I started using mq, though, it is in the repository history.
On Wed, Jan 20, 2010 at 3:00 PM, Steve Reinhardt <[email protected]> wrote: > If that's true, is this patch even relevant or can we just get rid of it? > > Steve > > On Wed, Jan 20, 2010 at 12:43 PM, Derek Hower <[email protected]> wrote: >> It doesn't. I believe that StateMachine.cc is blown away in a later merge. >> >> On Wed, Jan 20, 2010 at 2:08 PM, Beckmann, Brad <[email protected]> >> wrote: >>> I'm a little confused here. Are you still using the old c++ version of >>> slicc or are you using the new python version? >>> >>> I didn't think StateMachine.cc even existed now. >>> >>> Brad >>> >>> >>>> -----Original Message----- >>>> From: [email protected] [mailto:[email protected]] On >>>> Behalf Of Derek Hower >>>> Sent: Tuesday, January 19, 2010 3:20 PM >>>> To: [email protected] >>>> Subject: [m5-dev] [PATCH 26 of 43] slicc: removed unused atomics code >>>> fromStateMachine >>>> >>>> # HG changeset patch >>>> # User Derek Hower <[email protected]> >>>> # Date 1253918858 18000 >>>> # Node ID 44cf8bfb66ff995f8eb99a8c16dd9470d848f183 >>>> # Parent 60e0df8086f05de6312c5897be563e6b0a5e5d47 >>>> slicc: removed unused atomics code from StateMachine >>>> >>>> diff --git a/src/mem/slicc/symbols/StateMachine.cc >>>> b/src/mem/slicc/symbols/StateMachine.cc >>>> --- a/src/mem/slicc/symbols/StateMachine.cc >>>> +++ b/src/mem/slicc/symbols/StateMachine.cc >>>> @@ -791,101 +791,7 @@ >>>> << component << "InPort " << port->toString() >>>> << endl; >>>> string output = port->lookupPair("c_code_in_port"); >>>> - string::size_type pos = output.find("TransitionResult result = >>>> >>> doTransition((L1Cache_mandatory_request_type_to_event(((*in_msg_ptr)).m >>>> _Type)), L1Cache_getState(addr), addr);"); >>>> - assert(pos != string::npos); >>>> - string atomics_string = "\n \ >>>> - if ((((*in_msg_ptr)).m_Type) == CacheRequestType_ATOMIC) >>>> { \n \ >>>> - if (servicing_atomic == 0) { \n \ >>>> - if (locked_read_request1 == Address(-1)) { \n \ >>>> - assert(read_counter == 0); \n \ >>>> - locked_read_request1 = addr; \n \ >>>> - assert(read_counter == 0); \n \ >>>> - read_counter++; \n \ >>>> - } \n \ >>>> - else if (addr == locked_read_request1) { \n \ >>>> - ; // do nothing \n\ >>>> - } \n \ >>>> - else { \n \ >>>> - assert(0); // should never be here if servicing >>>> one request at a time \n\ >>>> - } \n \ >>>> - } \n \ >>>> - else if (!started_receiving_writes) { \n \ >>>> - if (servicing_atomic == 1) { \n \ >>>> - if (locked_read_request2 == Address(-1)) { \n \ >>>> - assert(locked_read_request1 != Address(-1)); \n \ >>>> - assert(read_counter == 1); \n \ >>>> - locked_read_request2 = addr; \n \ >>>> - assert(read_counter == 1); \n \ >>>> - read_counter++; \n \ >>>> - } \n \ >>>> - else if (addr == locked_read_request2) { \n \ >>>> - ; // do nothing \n\ >>>> - } \n \ >>>> - else { \n \ >>>> - assert(0); // should never be here if servicing >>>> one request at a time \n\ >>>> - } \n \ >>>> - } \n \ >>>> - else if (servicing_atomic == 2) { \n \ >>>> - if (locked_read_request3 == Address(-1)) { \n \ >>>> - assert(locked_read_request1 != Address(-1)); \n \ >>>> - assert(locked_read_request2 != Address(-1)); \n \ >>>> - assert(read_counter == 1); \n \ >>>> - locked_read_request3 = addr; \n \ >>>> - assert(read_counter == 2); \n \ >>>> - read_counter++; \n \ >>>> - } \n \ >>>> - else if (addr == locked_read_request3) { \n \ >>>> - ; // do nothing \n\ >>>> - } \n \ >>>> - else { \n \ >>>> - assert(0); // should never be here if servicing >>>> one request at a time \n\ >>>> - } \n \ >>>> - } \n \ >>>> - else if (servicing_atomic == 3) { \n \ >>>> - if (locked_read_request4 == Address(-1)) { \n \ >>>> - assert(locked_read_request1 != Address(-1)); \n \ >>>> - assert(locked_read_request2 != Address(-1)); \n \ >>>> - assert(locked_read_request3 != Address(-1)); \n \ >>>> - assert(read_counter == 1); \n \ >>>> - locked_read_request4 = addr; \n \ >>>> - assert(read_counter == 3); \n \ >>>> - read_counter++; \n \ >>>> - } \n \ >>>> - else if (addr == locked_read_request4) { \n \ >>>> - ; // do nothing \n\ >>>> - } \n \ >>>> - else { \n \ >>>> - assert(0); // should never be here if servicing >>>> one request at a time \n\ >>>> - } \n \ >>>> - } \n \ >>>> - else { \n \ >>>> - assert(0); \n \ >>>> - } \n \ >>>> - } \n \ >>>> - } \n \ >>>> - else { \n \ >>>> - if (servicing_atomic > 0) { \n \ >>>> - // reset \n \ >>>> - servicing_atomic = 0; \n \ >>>> - read_counter = 0; \n \ >>>> - started_receiving_writes = false; \n \ >>>> - locked_read_request1 = Address(-1); \n \ >>>> - locked_read_request2 = Address(-1); \n \ >>>> - locked_read_request3 = Address(-1); \n \ >>>> - locked_read_request4 = Address(-1); \n \ >>>> - } \n \ >>>> - } \n \ >>>> - "; >>>> >>>> - // output.insert(pos, atomics_string); >>>> - /*string foo = "// Cannot do anything with this transition, go >>>> check next doable transition (mostly likely of next port)\n"; >>>> - string::size_type next_pos = output.find(foo, pos); >>>> - next_pos = next_pos + foo.length(); >>>> - >>>> - assert(next_pos != string::npos); >>>> - string complete = " }\n"; >>>> - output.insert(next_pos, complete);*/ >>>> - //out << port->lookupPair("c_code_in_port"); >>>> out << output; >>>> out << endl; >>>> } >>>> @@ -992,7 +898,6 @@ >>>> >>>> out << "void " << component << "_Controller::reset_atomics()" << >>>> endl; >>>> out << "{" << endl; >>>> - out << " assert(servicing_atomic > 0); " << endl; >>>> out << " servicing_atomic = 0; " << endl; >>>> out << " locked_read_request1 = Address(-1);" << endl; >>>> out << " locked_read_request2 = Address(-1);" << endl; >>>> _______________________________________________ >>>> m5-dev mailing list >>>> [email protected] >>>> http://m5sim.org/mailman/listinfo/m5-dev >>> >>> >>> _______________________________________________ >>> m5-dev mailing list >>> [email protected] >>> http://m5sim.org/mailman/listinfo/m5-dev >>> >> _______________________________________________ >> m5-dev mailing list >> [email protected] >> http://m5sim.org/mailman/listinfo/m5-dev >> > _______________________________________________ > m5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/m5-dev > _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
