diff options
| author | Tom Zanussi <tzanussi@gmail.com> | 2010-02-22 02:12:59 -0500 |
|---|---|---|
| committer | Frederic Weisbecker <fweisbec@gmail.com> | 2010-02-24 22:07:49 -0500 |
| commit | 44ad9cd8f0893b9ae0ac729a7dc2a1ebcd170ac6 (patch) | |
| tree | 33a5fc4e7100eb43989f48ea252214ea2e5157e2 | |
| parent | 4d161f0360d00d46a89827b3fd6da395f00c5d90 (diff) | |
perf/scripts: Remove unnecessary PyTuple resizes
If we know the size of a tuple in advance, there's no need to resize
it - start out with the known size in the first place.
Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Keiichi KII <k-keiichi@bx.jp.nec.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <1266822779.6426.4.camel@tropicana>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
| -rw-r--r-- | tools/perf/util/scripting-engines/trace-event-python.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c index d402f64f9b46..33a414bbba3e 100644 --- a/tools/perf/util/scripting-engines/trace-event-python.c +++ b/tools/perf/util/scripting-engines/trace-event-python.c | |||
| @@ -68,7 +68,7 @@ static void define_value(enum print_arg_type field_type, | |||
| 68 | if (field_type == PRINT_SYMBOL) | 68 | if (field_type == PRINT_SYMBOL) |
| 69 | handler_name = "define_symbolic_value"; | 69 | handler_name = "define_symbolic_value"; |
| 70 | 70 | ||
| 71 | t = PyTuple_New(MAX_FIELDS); | 71 | t = PyTuple_New(4); |
| 72 | if (!t) | 72 | if (!t) |
| 73 | Py_FatalError("couldn't create Python tuple"); | 73 | Py_FatalError("couldn't create Python tuple"); |
| 74 | 74 | ||
| @@ -79,9 +79,6 @@ static void define_value(enum print_arg_type field_type, | |||
| 79 | PyTuple_SetItem(t, n++, PyInt_FromLong(value)); | 79 | PyTuple_SetItem(t, n++, PyInt_FromLong(value)); |
| 80 | PyTuple_SetItem(t, n++, PyString_FromString(field_str)); | 80 | PyTuple_SetItem(t, n++, PyString_FromString(field_str)); |
| 81 | 81 | ||
| 82 | if (_PyTuple_Resize(&t, n) == -1) | ||
| 83 | Py_FatalError("error resizing Python tuple"); | ||
| 84 | |||
| 85 | handler = PyDict_GetItemString(main_dict, handler_name); | 82 | handler = PyDict_GetItemString(main_dict, handler_name); |
| 86 | if (handler && PyCallable_Check(handler)) { | 83 | if (handler && PyCallable_Check(handler)) { |
| 87 | retval = PyObject_CallObject(handler, t); | 84 | retval = PyObject_CallObject(handler, t); |
| @@ -116,7 +113,10 @@ static void define_field(enum print_arg_type field_type, | |||
| 116 | if (field_type == PRINT_SYMBOL) | 113 | if (field_type == PRINT_SYMBOL) |
| 117 | handler_name = "define_symbolic_field"; | 114 | handler_name = "define_symbolic_field"; |
| 118 | 115 | ||
| 119 | t = PyTuple_New(MAX_FIELDS); | 116 | if (field_type == PRINT_FLAGS) |
| 117 | t = PyTuple_New(3); | ||
| 118 | else | ||
| 119 | t = PyTuple_New(2); | ||
| 120 | if (!t) | 120 | if (!t) |
| 121 | Py_FatalError("couldn't create Python tuple"); | 121 | Py_FatalError("couldn't create Python tuple"); |
| 122 | 122 | ||
| @@ -125,9 +125,6 @@ static void define_field(enum print_arg_type field_type, | |||
| 125 | if (field_type == PRINT_FLAGS) | 125 | if (field_type == PRINT_FLAGS) |
| 126 | PyTuple_SetItem(t, n++, PyString_FromString(delim)); | 126 | PyTuple_SetItem(t, n++, PyString_FromString(delim)); |
| 127 | 127 | ||
| 128 | if (_PyTuple_Resize(&t, n) == -1) | ||
| 129 | Py_FatalError("error resizing Python tuple"); | ||
| 130 | |||
| 131 | handler = PyDict_GetItemString(main_dict, handler_name); | 128 | handler = PyDict_GetItemString(main_dict, handler_name); |
| 132 | if (handler && PyCallable_Check(handler)) { | 129 | if (handler && PyCallable_Check(handler)) { |
| 133 | retval = PyObject_CallObject(handler, t); | 130 | retval = PyObject_CallObject(handler, t); |
