]> granicus.if.org Git - python/commit
bpo-29676: fix lsprof can't profile C method call. (GH523)
authorINADA Naoki <methane@users.noreply.github.com>
Tue, 7 Mar 2017 05:24:37 +0000 (14:24 +0900)
committerGitHub <noreply@github.com>
Tue, 7 Mar 2017 05:24:37 +0000 (14:24 +0900)
commit93fac8dd358cd0e85e7b59115db226ce685d3f6f
tree51cab83ce4e14a779fc2f2467cab142b331e8034
parentd36a71637cefdddc02efd884f1b2c204f370afaa
bpo-29676: fix lsprof can't profile C method call. (GH523)

When LOAD_METHOD is used for calling C mehtod, PyMethodDescrObject
was passed to profilefunc from 5566bbb.
But lsprof traces only PyCFunctionObject. Additionally, there can be
some third party extension which assumes passed arg is
PyCFunctionObject without calling PyCFunction_Check().

So make PyCFunctionObject from PyMethodDescrObject when
tstate->c_profilefunc is set.
Python/ceval.c