> On May 12, 2015, 2:23 p.m., Joel Hestness wrote: > > src/mem/slicc/symbols/StateMachine.py, line 629 > > <http://reviews.gem5.org/r/2801/diff/1/?file=45050#file45050line629> > > > > It appears that this parses the buffer_size value string for a literal, > > variable name, or a statement containing other variables. Correct? Since > > this is just parsing that the parser already does, it should probably be > > handled instead by extending src/mem/slicc/parser.py to allow parsing the > > value of key-value pairs. That would allow the code to be auto-generated > > here (or elsewhere) instead of using custom buffer_size-specific code.
I think I understand what your are asking, but I don't believe that is how pair expressions are parsed. The parser (parser.py) just identifies and parses the pair expression generically. Whether it is a string or integer, the PairAST object is the same. It is only in the generation of the code do we understand that this is a MessageBuffer and could have a size associated with it. Do I understand correctly? Or are you asking that MessageBuffers have their own AST? - Brad ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2801/#review6159 ----------------------------------------------------------- On May 11, 2015, 10:20 p.m., Tony Gutierrez wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2801/ > ----------------------------------------------------------- > > (Updated May 11, 2015, 10:20 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 10858:b1d4246c12ad > --------------------------- > slicc: Support for setting individual message buffer size > > This patch adds support for setting per-MessageBuffer buffer sizes. Prior to > this patch, all buffers used the same size that was set globally. This patch > also adds a "kill switch" that turns all buffers back into infinite > buffers. The configuration will print warnings when either the kill switch is > on and an attempt is made to set a finite buffer size or the kill switch is > off and there is an attempt to set an inifinite buffer size. > > The global buffer size variable still exists, and is now turned into a default > value if no more specific value is set (such as internal buffers created by > switches). > > > Diffs > ----- > > src/mem/ruby/network/MessageBuffer.hh > fbdaa08aaa426b9f4660c366f934ccb670d954ec > src/mem/ruby/network/MessageBuffer.cc > fbdaa08aaa426b9f4660c366f934ccb670d954ec > src/mem/ruby/system/RubySystem.py fbdaa08aaa426b9f4660c366f934ccb670d954ec > src/mem/ruby/system/System.hh fbdaa08aaa426b9f4660c366f934ccb670d954ec > src/mem/ruby/system/System.cc fbdaa08aaa426b9f4660c366f934ccb670d954ec > src/mem/slicc/symbols/StateMachine.py > fbdaa08aaa426b9f4660c366f934ccb670d954ec > > Diff: http://reviews.gem5.org/r/2801/diff/ > > > Testing > ------- > > > Thanks, > > Tony Gutierrez > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
