Skip to content

Conversation

@gvanrossum
Copy link
Member

@gvanrossum gvanrossum commented Feb 28, 2023

The code generator used PEEK(i) to read the i-th stack item (1-based). Since this just obscures the meaning, we're just emitting stack_pointer[-i] now. Similar for POKE(i, x), which becomes stack_pointer[-i] = x.

Similar for JUMPBY(i), becomes next_instr += i.

Also expand NEXTOPARG() -- in the expansion I found that it is redundantly extracting the opcode (in the case of a super-instruction) so removed that,leaving only oparg = (next_instr++)->op.arg.

@gvanrossum gvanrossum changed the title GH-102305: Expand PEEK() and POKE() macros GH-102305: Expand some macros in generated_cases.c.h Feb 28, 2023
@gvanrossum gvanrossum marked this pull request as ready for review February 28, 2023 01:33
@gvanrossum
Copy link
Member Author

Just gonna merge, this isn't rocket science.

@gvanrossum gvanrossum merged commit b5ff382 into python:main Feb 28, 2023
@gvanrossum gvanrossum deleted the fewer-macros branch February 28, 2023 16:49
carljm added a commit to carljm/cpython that referenced this pull request Feb 28, 2023
* main: (67 commits) pythongh-99108: Add missing md5/sha1 defines to Modules/Setup (python#102308) pythongh-100227: Move _str_replace_inf to PyInterpreterState (pythongh-102333) pythongh-100227: Move the dtoa State to PyInterpreterState (pythongh-102331) pythonGH-102305: Expand some macros in generated_cases.c.h (python#102309) Migrate to new PSF mailgun account (python#102284) pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (in Python/) (python#102193) pythonGH-90744: Fix erroneous doc links in the sys module (python#101319) pythongh-87092: Make jump target label equal to the offset of the target in the instructions sequence (python#102093) pythongh-101101: Unstable C API tier (PEP 689) (pythonGH-101102) IDLE: Simplify DynOptionsMenu __init__code (python#101371) pythongh-101561: Add typing.override decorator (python#101564) pythongh-101825: Clarify that as_integer_ratio() output is always normalized (python#101843) pythongh-101773: Optimize creation of Fractions in private methods (python#101780) pythongh-102251: Updates to test_imp Toward Fixing Some Refleaks (pythongh-102254) pythongh-102296 Document that inspect.Parameter kinds support ordering (pythonGH-102297) pythongh-102250: Fix double-decref in COMPARE_AND_BRANCH error case (pythonGH-102287) pythongh-101100: Fix sphinx warnings in `types` module (python#102274) pythongh-91038: Change default argument value to `False` instead of `0` (python#31621) pythongh-101765: unicodeobject: use Py_XDECREF correctly (python#102283) [doc] Improve grammar/fix missing word (pythonGH-102060) ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

2 participants