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: m5-dev-boun...@m5sim.org [mailto:m5-dev-boun...@m5sim.org] On > Behalf Of Derek Hower > Sent: Tuesday, January 19, 2010 3:20 PM > To: m5-dev@m5sim.org > Subject: [m5-dev] [PATCH 26 of 43] slicc: removed unused atomics code > fromStateMachine > > # HG changeset patch > # User Derek Hower <d...@cs.wisc.edu> > # 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 > m5-dev@m5sim.org > http://m5sim.org/mailman/listinfo/m5-dev _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev