summaryrefslogtreecommitdiffstats
path: root/Python/generated_cases.c.h
Commit message (Collapse)AuthorAgeFilesLines
* gh-102654: Insert #line directives in generated_cases.c.h (#102669)Guido van Rossum2023-03-151-0/+456
| | | | | | | | | This behavior is optional, because in some extreme cases it may just make debugging harder. The tool defaults it to off, but it is on in Makefile.pre.in. Also note that this makes diffs to generated_cases.c.h noisier, since whenever you insert or delete a line in bytecodes.c, all subsequent #line directives will change.
* gh-98831: Use DECREF_INPUTS() more (#102409)Guido van Rossum2023-03-131-8/+7
|
* GH-100987: Don't cache references to the names and consts array in ↵Mark Shannon2023-03-131-23/+23
| | | | | | | `_PyEval_EvalFrameDefault`. (#102640) * Rename local variables, names and consts, from the interpeter loop. Will allow non-code objects in frames for better introspection of C builtins and extensions. * Remove unused dummy variables.
* GH-102300: Reuse objects with refcount == 1 in float specialized binary ops. ↵Mark Shannon2023-03-131-12/+3
| | | | (GH-102301)
* GH-90997: Shrink the LOAD_GLOBAL caches (#102569)Brandt Bucher2023-03-111-7/+7
|
* gh-100227: Move dict_state.global_version to PyInterpreterState (gh-102338)Eric Snow2023-03-091-2/+2
| | | https://github.com/python/cpython/issues/100227
* gh-102021 : Allow multiple input files for interpreter loop generator (#102022)Jacob Bower2023-03-041-1/+2
| | | The input files no longer use `-i`.
* GH-102305: Expand some macros in generated_cases.c.h (#102309)Guido van Rossum2023-02-281-425/+420
| | | | * Emit straight stack_pointer[-i] instead of PEEK(i), POKE(i, ...) * Expand JUMPBY() and NEXTOPARG(), and fix a perf bug
* gh-102250: Fix double-decref in COMPARE_AND_BRANCH error case (GH-102287)Dennis Sweeney2023-02-271-3/+1
|
* GH-100982: Restrict `FOR_ITER_RANGE` to a single instruction to allow ↵Mark Shannon2023-02-221-11/+11
| | | | instrumentation. (GH-101985)
* gh-101907: Stop using `_Py_OPCODE` and `_Py_OPARG` macros (GH-101912)Steve Dower2023-02-201-17/+17
| | | | | | * gh-101907: Removes use of non-standard C++ extension from Include/cpython/code.h * Make cases_generator correct on Windows
* gh-101952: Fix possible segfault in `BUILD_SET` opcode (#101958)Eclips42023-02-161-0/+2
|
* GH-87849: Fix refleak in SEND instruction. (GH-101908)Mark Shannon2023-02-151-0/+1
| | | Fix refleak in SEND instruction.
* gh-101799: implement PREP_RERAISE_STAR as an intrinsic function (#101800)Irit Katriel2023-02-141-16/+14
|
* GH-87849: Simplify stack effect of SEND and specialize it for generators and ↵Mark Shannon2023-02-131-37/+52
| | | | coroutines. (GH-101788)
* gh-98831: Modernize CALL and family (#101508)Guido van Rossum2023-02-081-239/+321
| | | Includes a slight improvement to `DECREF_INPUTS()`.
* GH-101578: Normalize the current exception (GH-101607)Mark Shannon2023-02-081-3/+1
| | | | | | | | | | * Make sure that the current exception is always normalized. * Remove redundant type and traceback fields for the current exception. * Add new API functions: PyErr_GetRaisedException, PyErr_SetRaisedException * Add new API functions: PyException_GetArgs, PyException_SetArgs
* gh-98831: Modernize CALL_FUNCTION_EX (#101627)Guido van Rossum2023-02-081-14/+13
| | | New generator feature: Move CHECK_EVAL_BREAKER() call to just before DISPATCH().
* gh-98831: Modernize FORMAT_VALUE (#101628)Guido van Rossum2023-02-081-13/+7
| | | Generator update: support balanced parentheses and brackets in conditions and size expressions.
* gh-98831: Finish the UNPACK_SEQUENCE family (#101666)Guido van Rossum2023-02-071-17/+21
| | | New generator feature: Generate useful glue for output arrays, so you can just write values to the output array (no bounds checking). Rewrote UNPACK_SEQUENCE_TWO_TUPLE to use this, and also UNPACK_SEQUENCE_{TUPLE,LIST}.
* gh-101632: Add the new RETURN_CONST opcode (#101633)penguin_wwy2023-02-071-0/+17
|
* gh-98831: rewrite UNPACK_EX, UNPACK_SEQUENCE, UNPACK_SEQUENCE_TWO_TUPLE in ↵Irit Katriel2023-02-071-20/+21
| | | | the instruction definition DSL (#101641)
* gh-98831: Modernize the FOR_ITER family of instructions (#101626)Guido van Rossum2023-02-071-24/+42
| | | Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
* gh-98831: rewrite COPY and SWAP in the instruction definition DSL (#101620)Irit Katriel2023-02-061-7/+11
|
* gh-98831: rewrite MAKE_FUNCTION and BUILD_SLICE in the instruction ↵Irit Katriel2023-02-031-23/+29
| | | | definition DSL (#101529)
* gh-98831: rewrite SEND, GET_YIELD_FROM_ITER, RETURN_GENERATOR in the ↵Irit Katriel2023-02-031-15/+20
| | | | instruction definition DSL (#101516)
* gh-98831: rewrite RERAISE and CLEANUP_THROW in the instruction definition ↵Irit Katriel2023-02-021-13/+19
| | | | DSL (#101511)
* gh-98831: Modernize the LOAD_GLOBAL family (#101502)Guido van Rossum2023-02-011-29/+37
|
* gh-98831: rewrite PUSH_EXC_INFO and conditional jumps in the instruction ↵Irit Katriel2023-02-011-28/+40
| | | | definition DSL (#101481)
* gh-98831: Modernize the LOAD_ATTR family (#101488)Guido van Rossum2023-02-011-84/+114
|
* gh-98831: rewrite BEFORE_ASYNC_WITH and END_ASYNC_FOR in the instruction ↵Irit Katriel2023-01-311-14/+21
| | | | definition DSL (#101458)
* gh-98831: rewrite GET_LEN, GET_ITER, BEFORE_WITH and a few simple opcodes in ↵Irit Katriel2023-01-311-19/+24
| | | | the instruction definition DSL (#101443)
* GH-101291: Refactor the `PyLongObject` struct into object header and ↵Mark Shannon2023-01-301-7/+7
| | | | PyLongValue struct. (GH-101292)
* gh-98831: Support conditional effects; use for LOAD_ATTR (#101333)Guido van Rossum2023-01-301-22/+18
|
* gh-98831: rewrite RAISE_VARARGS in the instruction definition DSL (#101306)Irit Katriel2023-01-251-6/+5
|
* gh-98831: rewrite pattern matching opcodes in the instruction definition DSL ↵Irit Katriel2023-01-241-28/+29
| | | | (#101287)
* GH-100762: Don't call `gen.throw()` in `gen.close()`, unless necessary. ↵Mark Shannon2023-01-241-1/+0
| | | | | | (GH-101013) * Store exception stack depth in YIELD_VALUE's oparg and use it avoid expensive gen.throw() in gen.close() where possible.
* gh-98831: rewrite CHECK_EG_MATCH opcode in the instruction definition DSL ↵Irit Katriel2023-01-241-27/+16
| | | | (#101269)
* gh-100712: make it possible to disable specialization (for debugging) (#100713)Irit Katriel2023-01-191-0/+24
|
* GH-98831: Implement array support in cases generator (#100912)Guido van Rossum2023-01-171-47/+55
| | | | | | | | You can now write things like this: ``` inst(BUILD_STRING, (pieces[oparg] -- str)) { ... } inst(LIST_APPEND, (list, unused[oparg-1], v -- list, unused[oparg-1])) { ... } ``` Note that array output effects are only partially supported (they must be named `unused` or correspond to an input effect).
* GH-100982: Add `COMPARE_AND_BRANCH` instruction (GH-100983)Mark Shannon2023-01-161-100/+87
|
* GH-100923: Embed jump mask in `COMPARE_OP` oparg (GH-100924)Mark Shannon2023-01-111-18/+16
|
* gh-100758: Refactor initialisation of frame headers into a single function ↵Irit Katriel2023-01-061-20/+5
| | | | (_PyFrame_Initialize) (GH-100759)
* GH-99005: More intrinsics (GH-100774)Mark Shannon2023-01-061-31/+0
| | | * Remove UNARY_POSITIVE, LIST_TO_TUPLE and ASYNC_GEN_WRAP, replacing them with intrinsics.
* GH-99005: Add `CALL_INTRINSIC_1` instruction (GH-100771)Mark Shannon2023-01-051-78/+4
| | | | | | | | * Remove PRINT_EXPR instruction * Remove STOPITERATION_ERROR instruction * Remove IMPORT_STAR instruction
* GH-100288: Remove LOAD_ATTR_METHOD_WITH_DICT instruction. (GH-100753)Mark Shannon2023-01-051-27/+0
|
* GH-100719: Remove the `co_nplaincellvars` field from code objects. (GH-100721)Mark Shannon2023-01-041-1/+1
|
* gh-100146: Steal references from stack when building a list (#100147)L. A. F. Pereira2023-01-031-5/+2
| | | | | | | | | | When executing the BUILD_LIST opcode, steal the references from the stack, in a manner similar to the BUILD_TUPLE opcode. Implement this by offloading the logic to a new private API, _PyList_FromArraySteal(), that works similarly to _PyTuple_FromArraySteal(). This way, instead of performing multiple stack pointer adjustments while the list is being initialized, the stack is adjusted only once and a fast memory copy operation is performed in one fell swoop.
* GH-98831: Modernize a ton of simpler instructions (#100545)Guido van Rossum2022-12-281-127/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * load_const and load_fast aren't families for now * Don't decref unmoved names * Modernize GET_ANEXT * Modernize GET_AWAITABLE * Modernize ASYNC_GEN_WRAP * Modernize YIELD_VALUE * Modernize POP_EXCEPT (in more than one way) * Modernize PREP_RERAISE_STAR * Modernize LOAD_ASSERTION_ERROR * Modernize LOAD_BUILD_CLASS * Modernize STORE_NAME * Modernize LOAD_NAME * Modernize LOAD_CLASSDEREF * Modernize LOAD_DEREF * Modernize STORE_DEREF * Modernize COPY_FREE_VARS (mark it as done) * Modernize LIST_TO_TUPLE * Modernize LIST_EXTEND * Modernize SET_UPDATE * Modernize SETUP_ANNOTATIONS * Modernize DICT_UPDATE * Modernize DICT_MERGE * Modernize MAP_ADD * Modernize IS_OP * Modernize CONTAINS_OP * Modernize CHECK_EXC_MATCH * Modernize IMPORT_NAME * Modernize IMPORT_STAR * Modernize IMPORT_FROM * Modernize JUMP_FORWARD (mark it as done) * Modernize JUMP_BACKWARD (mark it as done)
* Revert "gh-100288: Specialise LOAD_ATTR_METHOD for managed dictionaries ↵Ken Jin2022-12-231-25/+0
| | | | | (GH-100289)" (#100468) This reverts commit c3c7848a48b74a321632202e4bdcf2f465fb1cc6.