This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Improve disassembly of the MAKE_FUNCTION instruction
Type: enhancement Stage: resolved
Components: Library (Lib) Versions: Python 3.8
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: ncoghlan, serhiy.storchaka, yselivanov
Priority: normal Keywords: patch

Created on 2018-02-28 16:31 by serhiy.storchaka, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 5937 merged serhiy.storchaka, 2018-02-28 16:41
Messages (2)
msg313060 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2018-02-28 16:31
The proposed PR adds decryption of the MAKE_FUNCTION argument (it is a bits set) in the disassembler output. For example:

$ echo 'def f(x, y=1, *, z=2): ...' | ./python -m dis
  1           0 LOAD_CONST               6 ((1,))
              2 LOAD_CONST               1 (2)
              4 LOAD_CONST               2 (('z',))
              6 BUILD_CONST_KEY_MAP      1
              8 LOAD_CONST               3 (<code object f at 0x7fe5ade8f300, file "<stdin>", line 1>)
             10 LOAD_CONST               4 ('f')
             12 MAKE_FUNCTION            3 (defaults, kwdefaults)
             14 STORE_NAME               0 (f)
             16 LOAD_CONST               5 (None)
             18 RETURN_VALUE

Disassembly of <code object f at 0x7fe5ade8f300, file "<stdin>", line 1>:
  1           0 LOAD_CONST               0 (None)
              2 RETURN_VALUE
msg313590 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2018-03-11 09:07
New changeset e2732d3e66eba9ec13f9d55c499f2437ead552db by Serhiy Storchaka in branch 'master':
bpo-32970: Improve disassembly of the MAKE_FUNCTION instruction. (GH-5937)
https://github.com/python/cpython/commit/e2732d3e66eba9ec13f9d55c499f2437ead552db
History
Date User Action Args
2022-04-11 14:58:58adminsetgithub: 77151
2018-03-11 09:07:42serhiy.storchakasetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2018-03-11 09:07:09serhiy.storchakasetmessages: + msg313590
2018-02-28 16:41:05serhiy.storchakasetkeywords: + patch
stage: patch review
pull_requests: + pull_request5707
2018-02-28 16:31:31serhiy.storchakacreate