Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-102305: Expand some macros in generated_cases.c.h #102309

Merged
merged 2 commits into from
Feb 28, 2023

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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants