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>
This commit is contained in:
committed by
Frederic Weisbecker
parent
4d161f0360
commit
44ad9cd8f0
@ -68,7 +68,7 @@ static void define_value(enum print_arg_type field_type,
|
|||||||
if (field_type == PRINT_SYMBOL)
|
if (field_type == PRINT_SYMBOL)
|
||||||
handler_name = "define_symbolic_value";
|
handler_name = "define_symbolic_value";
|
||||||
|
|
||||||
t = PyTuple_New(MAX_FIELDS);
|
t = PyTuple_New(4);
|
||||||
if (!t)
|
if (!t)
|
||||||
Py_FatalError("couldn't create Python tuple");
|
Py_FatalError("couldn't create Python tuple");
|
||||||
|
|
||||||
@ -79,9 +79,6 @@ static void define_value(enum print_arg_type field_type,
|
|||||||
PyTuple_SetItem(t, n++, PyInt_FromLong(value));
|
PyTuple_SetItem(t, n++, PyInt_FromLong(value));
|
||||||
PyTuple_SetItem(t, n++, PyString_FromString(field_str));
|
PyTuple_SetItem(t, n++, PyString_FromString(field_str));
|
||||||
|
|
||||||
if (_PyTuple_Resize(&t, n) == -1)
|
|
||||||
Py_FatalError("error resizing Python tuple");
|
|
||||||
|
|
||||||
handler = PyDict_GetItemString(main_dict, handler_name);
|
handler = PyDict_GetItemString(main_dict, handler_name);
|
||||||
if (handler && PyCallable_Check(handler)) {
|
if (handler && PyCallable_Check(handler)) {
|
||||||
retval = PyObject_CallObject(handler, t);
|
retval = PyObject_CallObject(handler, t);
|
||||||
@ -116,7 +113,10 @@ static void define_field(enum print_arg_type field_type,
|
|||||||
if (field_type == PRINT_SYMBOL)
|
if (field_type == PRINT_SYMBOL)
|
||||||
handler_name = "define_symbolic_field";
|
handler_name = "define_symbolic_field";
|
||||||
|
|
||||||
t = PyTuple_New(MAX_FIELDS);
|
if (field_type == PRINT_FLAGS)
|
||||||
|
t = PyTuple_New(3);
|
||||||
|
else
|
||||||
|
t = PyTuple_New(2);
|
||||||
if (!t)
|
if (!t)
|
||||||
Py_FatalError("couldn't create Python tuple");
|
Py_FatalError("couldn't create Python tuple");
|
||||||
|
|
||||||
@ -125,9 +125,6 @@ static void define_field(enum print_arg_type field_type,
|
|||||||
if (field_type == PRINT_FLAGS)
|
if (field_type == PRINT_FLAGS)
|
||||||
PyTuple_SetItem(t, n++, PyString_FromString(delim));
|
PyTuple_SetItem(t, n++, PyString_FromString(delim));
|
||||||
|
|
||||||
if (_PyTuple_Resize(&t, n) == -1)
|
|
||||||
Py_FatalError("error resizing Python tuple");
|
|
||||||
|
|
||||||
handler = PyDict_GetItemString(main_dict, handler_name);
|
handler = PyDict_GetItemString(main_dict, handler_name);
|
||||||
if (handler && PyCallable_Check(handler)) {
|
if (handler && PyCallable_Check(handler)) {
|
||||||
retval = PyObject_CallObject(handler, t);
|
retval = PyObject_CallObject(handler, t);
|
||||||
|
Reference in New Issue
Block a user