New submission from STINNER Victor:

Inline PyEval_EvalFrameEx() in callers. The PEP 523 modified 
PyEval_EvalFrameEx(): it's now an indirection to interp->eval_frame().

Inline the call in performance critical code. Leave PyEval_EvalFrame() 
unchanged, this function is only kept for backward compatibility (and so not 
important for performance).

I pushed directly my change as the revision 99c34e47348b, but it broke 
test_gdb. So now I doubt that it's 100% "safe" to inline the code. Outside 
test_gdb, does something else rely on PyEval_EvalFrameEx()? So I chose to open 
an issue to discuss the change. By "something", I'm thinking to Pyjion :-)

Attached patch updates also python-gdb.py to fix test_gdb.

----------
files: inline_evalframeex.patch
keywords: patch
messages: 282794
nosy: brett.cannon, haypo, serhiy.storchaka
priority: normal
severity: normal
status: open
title: Inline PyEval_EvalFrameEx() in callers
type: performance
versions: Python 3.7
Added file: http://bugs.python.org/file45821/inline_evalframeex.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28924>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to