summaryrefslogtreecommitdiffstats
path: root/Modules/_opcode.c
Commit message (Collapse)AuthorAgeFilesLines
* gh-94216: add pseudo instructions to the dis/opcodes modules (GH-94241)Irit Katriel2022-07-011-6/+1
|
* bpo-46072: Add --with-pystats configure option to simplify gathering of VM ↵Mark Shannon2021-12-151-1/+1
| | | | | | | | | stats (GH-30116) * Simplify specialization stats collection macros. * Add --enable-pystats option to configure. * Update specialization summary script to handle larger number of kinds
* bpo-44890: collect specialization stats if Py_DEBUG (GH-27731)Irit Katriel2021-08-121-1/+1
|
* bpo-44725 : expose specialization stats in python (GH-27192)Irit Katriel2021-07-291-0/+20
|
* bpo-40222: "Zero cost" exception handling (GH-25729)Mark Shannon2021-05-071-1/+6
| | | | | | | | "Zero cost" exception handling. * Uses a lookup table to determine how to handle exceptions. * Removes SETUP_FINALLY and POP_TOP block instructions, eliminating (most of) the runtime overhead of try statements. * Reduces the size of the frame object by about 60%.
* bpo-1635741: Port _opcode module to multi-phase init (PEP 489) (GH-22050)Mohamed Koubaa2020-09-071-14/+7
|
* bpo-32455: Add jump parameter to dis.stack_effect(). (GH-6610)Serhiy Storchaka2018-09-181-3/+21
| | | | Add C API function PyCompile_OpcodeStackEffectWithJump().
* Issue #27332: Fixed the type of the first argument of module-level functionsSerhiy Storchaka2016-07-071-2/+2
| | | | generated by Argument Clinic. Patch by Petr Viktorin.
* Issue #23501: Argumen Clinic now generates code into separate files by default.Serhiy Storchaka2015-04-031-34/+3
|
* Issue #20530: Argument Clinic's signature format has been revised again.Larry Hastings2014-02-091-2/+4
| | | | | | | The new syntax is highly human readable while still preventing false positives. The syntax also extends Python syntax to denote "self" and positional-only parameters, allowing inspect.Signature objects to be totally accurate for all supported builtins in Python 3.4.
* remove code which does nothing but cause refleaksBenjamin Peterson2014-02-031-4/+0
|
* #Issue 20456: Several improvements and bugfixes for Argument Clinic,Larry Hastings2014-02-011-28/+22
| | | | | including correctly generating code for Clinic blocks inside C preprocessor conditional blocks.
* Issue #20326: Argument Clinic now uses a simple, unique signature toLarry Hastings2014-01-281-2/+2
| | | | | | | | | | annotate text signatures in docstrings, resulting in fewer false positives. "self" parameters are also explicitly marked, allowing inspect.Signature() to authoritatively detect (and skip) said parameters. Issue #20326: Argument Clinic now generates separate checksums for the input and output sections of the block, allowing external tools to verify that the input has not changed (and thus the output is not out-of-date).
* Issue #20189: Four additional builtin types (PyTypeObject,Larry Hastings2014-01-241-2/+2
| | | | | | PyMethodDescr_Type, _PyMethodWrapper_Type, and PyWrapperDescr_Type) have been modified to provide introspection information for builtins. Also: many additional Lib, test suite, and Argument Clinic fixes.
* Two minor Argument Clinic bugfixes: use the name of the class in theLarry Hastings2014-01-221-4/+4
| | | | | docstring for __new__ and __init__, and always use "goto exit" instead of returning "NULL" for failure to parse (as _new__ and __init__ return ints).
* Issue #20226: Major improvements to Argument Clinic.Larry Hastings2014-01-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | * You may now specify an expression as the default value for a parameter! Example: "sys.maxsize - 1". This support is intentionally quite limited; you may only use values that can be represented as static C values. * Removed "doc_default", simplified support for "c_default" and "py_default". (I'm not sure we still even need "py_default", but I'm leaving it in for now in case a use presents itself.) * Parameter lines support a trailing '\\' as a line continuation character, allowing you to break up long lines. * The argument parsing code generated when supporting optional groups now uses PyTuple_GET_SIZE instead of PyTuple_GetSize, leading to a 850% speedup in parsing. (Just kidding, this is an unmeasurable difference.) * A bugfix for the recent regression where the generated prototype from pydoc for builtins would be littered with unreadable "=<object ...>"" default values for parameters that had no default value. * Converted some asserts into proper failure messages. * Many doc improvements and fixes.
* Issue #19273: The marker comments Argument Clinic uses have been changedLarry Hastings2014-01-071-7/+7
| | | | to improve readability.
* Issue #19674: inspect.signature() now produces a correct signatureLarry Hastings2013-11-231-9/+10
| | | | for some builtins.
* Issue #19722: Added opcode.stack_effect(), which accuratelyLarry Hastings2013-11-231-0/+116
computes the stack effect of bytecode instructions.