From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:53132) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rvp3U-0007nB-Kf for qemu-devel@nongnu.org; Fri, 10 Feb 2012 06:54:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rvp3O-0002tR-5x for qemu-devel@nongnu.org; Fri, 10 Feb 2012 06:54:20 -0500 Received: from e23smtp05.au.ibm.com ([202.81.31.147]:60246) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rvp3N-0002st-J0 for qemu-devel@nongnu.org; Fri, 10 Feb 2012 06:54:14 -0500 Received: from /spool/local by e23smtp05.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 10 Feb 2012 11:50:34 +1000 Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96]) by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q1ABmpJ53584194 for ; Fri, 10 Feb 2012 22:48:53 +1100 Received: from d23av01.au.ibm.com (loopback [127.0.0.1]) by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q1ABrrvT017852 for ; Fri, 10 Feb 2012 22:53:53 +1100 Message-ID: <4F35054F.3000009@linux.vnet.ibm.com> Date: Fri, 10 Feb 2012 17:23:51 +0530 From: Harsh Bora MIME-Version: 1.0 References: <20120210114849.5104.63589.stgit@ginnungagap.bsc.es> <20120210114906.5104.52262.stgit@ginnungagap.bsc.es> In-Reply-To: <20120210114906.5104.52262.stgit@ginnungagap.bsc.es> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v3 03/11] trace: [tracetool] Simplify event line parsing List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?TGx1w61zIFZpbGFub3Zh?= Cc: stefanha@gmail.com, qemu-devel@nongnu.org On 02/10/2012 05:19 PM, Lluís Vilanova wrote: > Signed-off-by: Lluís Vilanova > --- > scripts/tracetool.py | 51 +++++++++++++++++++------------------------------- > 1 files changed, 19 insertions(+), 32 deletions(-) > > diff --git a/scripts/tracetool.py b/scripts/tracetool.py > index 7042728..549a90e 100755 > --- a/scripts/tracetool.py > +++ b/scripts/tracetool.py [...] > > # A trace event > +import re > +cre = re.compile("(?P[^(\s]+)\((?P[^)]*)\)\s*(?P\".*)?") > + > class Event(object): > def __init__(self, num, line): > self.num = num > - self.args = get_args(line) > + m = cre.match(line) > + assert m is not None > + groups = m.groupdict('') > + self.args = groups["args"] > self.arglist = self.args.split(',') > - self.name = get_name(line) > - self.argc = get_argc(line) > - self.argnames = get_argnames(line) > - self.sizestr = calc_sizeofargs(line) > - self.fmt = get_fmt(line) > + self.name = groups["name"] > + if len(self.arglist) == 1 and self.arglist[0] == "void": > + self.argc = 0 > + else: > + self.argc = len(self.arglist) > + if self.name == "slavio_misc_update_irq_raise": > + sys.stderr.write("%s : %d" % (self.name, self.argc)) I guess above 2 statements were added for debugging ^ ? Harsh > + self.argnames = get_argnames(self.args) > + self.sizestr = calc_sizeofargs(self.args, self.argc) > + self.fmt = groups["fmt"] > > # Generator that yields Event objects given a trace-events file object > def read_events(fobj): >