Skip to content

Conversation

@diegorusso
Copy link
Contributor

@diegorussodiegorusso commented Apr 30, 2025

Split macro op CALL_LEN into multiple uops including _GUARD_CALLABLE_LEN. This can be removed by the optimizer.

Split macro op CALL_LEN into multiple uops including _GUARD_CALLABLE_LEN. This can be removed by the optimizer.

op(_CALL_LEN, (callable[1], self_or_null[1], args[oparg]--res)){
op(_CALL_LEN, (unused, unused, unused--res)){
res=sym_new_type(ctx, &PyLong_Type);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One possible improvement for the future: if the top arg is a tuple or a constant str, we can narrow the output to a constant.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want me to update this PR or shall I do it in a new one?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's land this for 3.14. I can raise a new PR for the improvements

@brandtbucher
Copy link
Member

Thanks! Can you pull in main and make regen-cases?

* origin/main: (111 commits) pythongh-91048: Add filename and line number to external inspection routines (pythonGH-133385) pythongh-131178: Add tests for `ast` command-line interface (python#133329) Regenerate pcbuild.sln in Visual Studio 2022 (python#133394) pythongh-133042: disable HACL* HMAC on Emscripten (python#133064) pythongh-133351: Fix remote PDB's multi-line block tab completion (python#133387) pythongh-109700: Improve stress tests for interpreter creation (pythonGH-109946) pythongh-81793: Skip tests for os.link() to symlink on Android (pythonGH-133388) pythongh-126835: Rename `ast_opt.c` to `ast_preprocess.c` and related stuff after moving const folding to the peephole optimizier (python#131830) pythongh-91048: Relax test_async_global_awaited_by to fix flakyness (python#133368) pythongh-132457: make staticmethod and classmethod generic (python#132460) pythongh-132805: annotationlib: Fix handling of non-constant values in FORWARDREF (python#132812) pythongh-132426: Add get_annotate_from_class_namespace replacing get_annotate_function (python#132490) pythongh-81793: Always call linkat() from os.link(), if available (pythonGH-132517) pythongh-122559: Synchronize C and Python implementation of the io module about pickling (pythonGH-122628) pythongh-69605: Add PyREPL import autocomplete feature to 'What's New' (python#133358) bpo-44172: Keep reference to original window in curses subwindow objects (pythonGH-26226) pythonGH-133231: Changes to executor management to support proposed `sys._jit` module (pythonGH-133287) pythongh-133363: Fix Cmd completion for lines beginning with `! ` (python#133364) pythongh-132983: Introduce `_zstd` bindings module (pythonGH-133027) pythonGH-91048: Add utils for printing the call stack for asyncio tasks (python#133284) ...
* origin/main: pythongh-125618: Make FORWARDREF format succeed more often (python#132818)
@diegorusso
Copy link
ContributorAuthor

Thanks! Can you pull in main and make regen-cases?

Done!

@brandtbucherbrandtbucher merged commit 9cc77aa into python:mainMay 5, 2025
60 checks passed
@diegorussodiegorusso deleted the call-len branch May 7, 2025 13:28
@diegorussodiegorusso restored the call-len branch May 7, 2025 13:28
diegorusso added a commit to diegorusso/cpython that referenced this pull request May 19, 2025
@diegorussodiegorusso deleted the call-len branch May 21, 2025 10:02
Pranjal095 pushed a commit to Pranjal095/cpython that referenced this pull request Jul 12, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@diegorusso@brandtbucher