----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/3160/#review7416 -----------------------------------------------------------
src/mem/protocol/RubySlicc_Exports.sm (line 45) <http://reviews.gem5.org/r/3160/#comment6262> I like the idea of changing Packet* to PacketPtr, since it will make things more consistent with the rest of gem5. However, it doesn't appear that we need to make that change: SLICC permits declaring pointer-typed function parameters as long as the parameters are named in the function header (in src/mem/slicc/parser.py, func_decls can take params or types). You should be able to do that with the testAnd*() function declarations here in the DataBlock structure declaration. Since many files would have to change for the DataBlock function changes anyway, I don't feel the Packet* change is a show-stopper, but it would still be nice to limit the extent of this change. Can you check if testAnd*() named parameters would avoid the functional*() header changes? Aside: I'd also like to see the SLICC parser move the pointer type handling out of FormalParamAST and into TypeAST (where it should be), though that is outside the scope of this patch. The Packet* problem would be a non-issue if it were that way already. - Joel Hestness On Oct. 22, 2015, 11:42 p.m., Brandon Potter wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/3160/ > ----------------------------------------------------------- > > (Updated Oct. 22, 2015, 11:42 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 11175:4519bd6790ee > \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- > ruby: move testAnd* into DataBlock and change Packet* to PacketPtr > > These changes are motivated by a request from Joel Hestness regarding > http://reviews.gem5.org/r/3113/. The original request was to move the > testAndRead and testAndWrite into DataBlock. The Packet* to PacketPtr change > was necessary to satisfy slicc in "RubySlicc_Exports.sm"; it seems that it's > not possible to specify pointer parameters in slicc "structure" blocks. > Also, the changes to use the typedef are arguably cleaner since it's > consistent across all of the files now. > > > Diffs > ----- > > src/mem/ruby/system/RubySystem.hh 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/simple/Switch.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/slicc_interface/AbstractController.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/slicc_interface/Message.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/slicc_interface/RubyRequest.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/slicc_interface/RubyRequest.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/slicc_interface/RubySlicc_Util.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/structures/RubyMemoryControl.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/structures/RubyMemoryControl.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/system/CacheRecorder.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/simple/SimpleNetwork.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/simple/Switch.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/Router.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/Router.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/flit.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/flit.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/simple/SimpleNetwork.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_hammer-dir.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_hammer-dma.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_hammer-msg.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/Network_test-cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/Network_test-dir.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/Network_test-msg.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/RubySlicc_Defines.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/RubySlicc_Exports.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/RubySlicc_MemControl.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/common/DataBlock.hh 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/common/DataBlock.cc 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/MessageBuffer.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/MessageBuffer.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/Network.hh 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/fixed-pipeline/flit_d.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/cache/cache.cc 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/packet.hh 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MESI_Three_Level-L0cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MESI_Three_Level-L1cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MESI_Three_Level-msg.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MESI_Two_Level-L1cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MESI_Two_Level-L2cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MESI_Two_Level-dir.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MESI_Two_Level-dma.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MESI_Two_Level-msg.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MI_example-cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MI_example-dir.sm 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MI_example-dma.sm 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MI_example-msg.sm 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_CMP_directory-L1cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_CMP_directory-L2cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_CMP_directory-dir.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_CMP_directory-dma.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_CMP_directory-msg.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_CMP_token-L1cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_CMP_token-L2cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_CMP_token-dir.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_CMP_token-dma.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_CMP_token-msg.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > src/mem/protocol/MOESI_hammer-cache.sm > 3a4d1b5cd05ceed30dd0f5341fac9bbe41a193d6 > > Diff: http://reviews.gem5.org/r/3160/diff/ > > > Testing > ------- > > > Thanks, > > Brandon Potter > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
