mem-ruby: enable DPRINTFN calls in slicc for temporary debug printing

Change-Id: Ib92f8bb4ab7b61ebc96b935cb8abc42cf5ec6ac8
Reviewed-on: https://gem5-review.googlesource.com/9921
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
John Alsop
2018-04-16 19:37:53 -04:00
committed by Anthony Gutierrez
parent c014f4f82e
commit 2a9573f594

View File

@@ -74,6 +74,24 @@ class FuncCallExprAST(ExprAST):
return self.symtab.find("void", Type)
if self.proc_name == "DPRINTFN":
format = "%s" % (self.exprs[0].inline())
format_length = len(format)
str_list = []
for i in range(1, len(self.exprs)):
str_list.append("%s" % self.exprs[i].inline())
if len(str_list) == 0:
code('DPRINTFN("$0: $1")',
self.exprs[0].location, format[2:format_length-2])
else:
code('DPRINTFN("$0: $1", $2)',
self.exprs[0].location, format[2:format_length-2],
', '.join(str_list))
return self.symtab.find("void", Type)
# hack for adding comments to profileTransition
if self.proc_name == "APPEND_TRANSITION_COMMENT":
# FIXME - check for number of parameters