]> granicus.if.org Git - python/commit
Disable _PyStack_AsTuple() inlining
authorVictor Stinner <victor.stinner@gmail.com>
Wed, 11 Jan 2017 00:07:03 +0000 (01:07 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Wed, 11 Jan 2017 00:07:03 +0000 (01:07 +0100)
commitb915bc354e57889a93943159a6a238e0c9c20daa
tree7cf61914c530a1c0eab2c1fa4bad18d98a7a059b
parent415c5107be9873aba3a0619d7bf5096cfb5b087e
Disable _PyStack_AsTuple() inlining

Issue #29234: Inlining _PyStack_AsTuple() into callers increases their stack
consumption, Disable inlining to optimize the stack consumption.

Add _Py_NO_INLINE: use __attribute__((noinline)) of GCC and Clang.

It reduces the stack consumption, bytes per call, before => after:

test_python_call: 1040 => 976 (-64 B)
test_python_getitem: 976 => 912 (-64 B)
test_python_iterator: 1120 => 1056 (-64 B)

=> total: 3136 => 2944 (- 192 B)
Include/pyport.h
Objects/abstract.c