Look at
protocols/RubySlicc_Types.sm
I'm not sure if slicc can actually directly access fields. You may need to write get*() function to achieve what you are trying to do.
Byn On Apr 12, 2010, at 11:37 PM, Ma Dafan wrote: Hi, there. I'm trying to hack the Slicc file, and found something strange, I modified the code , which cause error when compiling,
the error notice emerging: "../protocols/MOESI_CMP_
directory-L2cache.sm:1442: Error: Invalid object field: Type 'MachineID' does not have data member num"
It seems the error occurred because I add this in the file: "peek(responseNetwork_in, ResponseMsg) { L2cacheMemory.allocate(address); //L2cacheMemory.lookup(address).CoreID :=in_msg.Sender.num; //wy: it seems not request in L1cache
L2cacheMemory.SetCoreID(address,in_msg.Sender.num); } " Isn't
num a data member of MachineID?I clearly remember that the MachineID
has two data member: type and num, or just the sm file cannot identify
the data member of MachineID? If I want to refer num in my protocol,
what I should do? modifying “MOESI_CMP_directory-msg.sm” or something
else?
would you help me with this? and I'll appreciate it. btw: protocol I hack is MOESI_CMP_directory, and "L2cacheMemory.SetCoreID" is a function I add, with nothing illegal, I guess.
-- Regards!
_______________________________________________ Gems-users mailing list Gems-users@xxxxxxxxxxx https://lists.cs.wisc.edu/mailman/listinfo/gems-users Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
|