From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51235) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S361f-0003UW-Lq for qemu-devel@nongnu.org; Thu, 01 Mar 2012 08:26:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S361Z-0000cW-5p for qemu-devel@nongnu.org; Thu, 01 Mar 2012 08:26:31 -0500 Received: from e28smtp01.in.ibm.com ([122.248.162.1]:43426) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S361X-0000aE-Kv for qemu-devel@nongnu.org; Thu, 01 Mar 2012 08:26:25 -0500 Received: from /spool/local by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 1 Mar 2012 18:56:13 +0530 Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64]) by d28relay02.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q21DPgHv3277004 for ; Thu, 1 Mar 2012 18:55:42 +0530 Received: from d28av02.in.ibm.com (loopback [127.0.0.1]) by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q21DPf5P013199 for ; Fri, 2 Mar 2012 00:25:41 +1100 From: Harsh Prateek Bora Date: Thu, 1 Mar 2012 18:55:30 +0530 Message-Id: <1330608340-9515-5-git-send-email-harsh@linux.vnet.ibm.com> In-Reply-To: <1330608340-9515-1-git-send-email-harsh@linux.vnet.ibm.com> References: <1330608340-9515-1-git-send-email-harsh@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [RFC PATCH v5 04/14] trace: [tracetool] Do not precompute the event number List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: stefanha@gmail.com, vilanova@ac.upc.edu, aneesh.kumar@linux.vnet.ibm.com From: Lluís Vilanova Signed-off-by: Lluís Vilanova Signed-off-by: Harsh Prateek Bora --- scripts/tracetool.py | 21 +++++++++------------ 1 files changed, 9 insertions(+), 12 deletions(-) diff --git a/scripts/tracetool.py b/scripts/tracetool.py index 84003f5..1085fc4 100755 --- a/scripts/tracetool.py +++ b/scripts/tracetool.py @@ -120,14 +120,14 @@ def simple_h(events): print '#include "trace/simple.h"' print - for event in events: + for num, event in enumerate(events): if event.argc: argstr = event.argnames.split() arg_prefix = '(uint64_t)(uintptr_t)' cast_args = arg_prefix + arg_prefix.join(argstr) - simple_args = (str(event.num) + ', ' + cast_args) + simple_args = (str(num) + ', ' + cast_args) else: - simple_args = str(event.num) + simple_args = str(num) print '''static inline void trace_%(name)s(%(args)s) { @@ -139,7 +139,7 @@ def simple_h(events): 'trace_args': simple_args } print - print '#define NR_TRACE_EVENTS %d' % (event.num + 1) + print '#define NR_TRACE_EVENTS %d' % len(events) print 'extern TraceEvent trace_list[NR_TRACE_EVENTS];' @@ -168,7 +168,7 @@ def stderr_h(events): #include "trace/stderr.h" extern TraceEvent trace_list[];''' - for event in events: + for num, event in enumerate(events): argnames = event.argnames if event.argc > 0: argnames = ', ' + event.argnames @@ -183,12 +183,12 @@ static inline void trace_%(name)s(%(args)s) }''' % { 'name': event.name, 'args': event.args, - 'event_num': event.num, + 'event_num': num, 'fmt': event.fmt, 'argnames': argnames } print - print '#define NR_TRACE_EVENTS %d' % (event.num + 1) + print '#define NR_TRACE_EVENTS %d' % len(events) def stderr_c(events): print '''#include "trace.h" @@ -398,8 +398,7 @@ trace_gen = { cre = re.compile("(?P[^(\s]+)\((?P[^)]*)\)\s*(?P\".*)?") class Event(object): - def __init__(self, num, line): - self.num = num + def __init__(self, line): m = cre.match(line) assert m is not None groups = m.groupdict('') @@ -417,15 +416,13 @@ class Event(object): # Generator that yields Event objects given a trace-events file object def read_events(fobj): - event_num = 0 res = [] for line in fobj: if not line.strip(): continue if line.lstrip().startswith('#'): continue - res.append(Event(event_num, line)) - event_num += 1 + res.append(Event(line)) return res binary = "" -- 1.7.1.1