Skip to content

Conversation

@ericsnowcurrently
Copy link
Member

@ericsnowcurrentlyericsnowcurrently commented Apr 29, 2025

This helper is useful in a variety of ways, including in demonstrating how the different counts relate to one another.

It will be used in a later change to help identify if a function is "stateless", meaning it doesn't have any free vars or globals.

Note that a majority of this change is tests.


// Get the unbound counts.
structco_unbound_countsunbound={
.total=PyTuple_GET_SIZE(co->co_names),
Copy link
Member

Choose a reason for hiding this comment

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

compiler warning here

@iritkatriel
Copy link
Member

LGTM. But I'd run the refleaks buildbots before merging.

@ericsnowcurrentlyericsnowcurrently enabled auto-merge (squash) April 30, 2025 18:03
@ericsnowcurrentlyericsnowcurrently merged commit 94b4fcd into python:mainApr 30, 2025
41 checks passed
@ericsnowcurrentlyericsnowcurrently deleted the add-pycode-get-var-counts branch April 30, 2025 18:22
@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot s390x RHEL8 LTO + PGO 3.x (tier-3) has failed when building commit 94b4fcd.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/#/builders/442/builds/9227) and take a look at the build logs.
  4. Check if the failure is related to this commit (94b4fcd) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/#/builders/442/builds/9227

Failed tests:

  • test_code

Summary of the results of the build (if available):

==

Click to see traceback logs
remote: Enumerating objects: 27, done. remote: Counting objects: 3% (1/27) remote: Counting objects: 7% (2/27) remote: Counting objects: 11% (3/27) remote: Counting objects: 14% (4/27) remote: Counting objects: 18% (5/27) remote: Counting objects: 22% (6/27) remote: Counting objects: 25% (7/27) remote: Counting objects: 29% (8/27) remote: Counting objects: 33% (9/27) remote: Counting objects: 37% (10/27) remote: Counting objects: 40% (11/27) remote: Counting objects: 44% (12/27) remote: Counting objects: 48% (13/27) remote: Counting objects: 51% (14/27) remote: Counting objects: 55% (15/27) remote: Counting objects: 59% (16/27) remote: Counting objects: 62% (17/27) remote: Counting objects: 66% (18/27) remote: Counting objects: 70% (19/27) remote: Counting objects: 74% (20/27) remote: Counting objects: 77% (21/27) remote: Counting objects: 81% (22/27) remote: Counting objects: 85% (23/27) remote: Counting objects: 88% (24/27) remote: Counting objects: 92% (25/27) remote: Counting objects: 96% (26/27) remote: Counting objects: 100% (27/27) remote: Counting objects: 100% (27/27), done. remote: Compressing objects: 7% (1/13) remote: Compressing objects: 15% (2/13) remote: Compressing objects: 23% (3/13) remote: Compressing objects: 30% (4/13) remote: Compressing objects: 38% (5/13) remote: Compressing objects: 46% (6/13) remote: Compressing objects: 53% (7/13) remote: Compressing objects: 61% (8/13) remote: Compressing objects: 69% (9/13) remote: Compressing objects: 76% (10/13) remote: Compressing objects: 84% (11/13) remote: Compressing objects: 92% (12/13) remote: Compressing objects: 100% (13/13) remote: Compressing objects: 100% (13/13), done. remote: Total 14 (delta 13), reused 2 (delta 1), pack-reused 0 (from 0)  From https://github.com/python/cpython * branch main -> FETCH_HEAD Note: switching to '94b4fcd806e7b692955173d309ea3b70a193ad96'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c <new-branch-name> Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 94b4fcd806e gh-132775: Add _PyCode_GetVarCounts() (gh-133128) Switched to and reset branch 'main' configure: WARNING: no system libmpdecimal found; falling back to bundled libmpdecimal (deprecated and scheduled for removal in Python 3.15)find: ‘build’: No such file or directoryfind: ‘build’: No such file or directoryfind: ‘build’: No such file or directoryfind: ‘build’: No such file or directorymake[2]: [Makefile:3339: clean-retain-profile] Error 1 (ignored)make: *** [Makefile:2453: buildbottest] Error 2

@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot s390x RHEL8 LTO 3.x (tier-3) has failed when building commit 94b4fcd.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/#/builders/567/builds/9141) and take a look at the build logs.
  4. Check if the failure is related to this commit (94b4fcd) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/#/builders/567/builds/9141

Failed tests:

  • test_code

Summary of the results of the build (if available):

==

Click to see traceback logs
Note: switching to '94b4fcd806e7b692955173d309ea3b70a193ad96'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c <new-branch-name> Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 94b4fcd806e gh-132775: Add _PyCode_GetVarCounts() (gh-133128) Switched to and reset branch 'main' configure: WARNING: no system libmpdecimal found; falling back to bundled libmpdecimal (deprecated and scheduled for removal in Python 3.15)make: *** [Makefile:2453: buildbottest] Error 2

@ericsnowcurrently
Copy link
MemberAuthor

FYI, I'm looking into the failures.

ericsnowcurrently added a commit to ericsnowcurrently/cpython that referenced this pull request May 1, 2025
ericsnowcurrently added a commit that referenced this pull request May 1, 2025
The change broke the s390 builds, so I'm reverting it while I investigate. This reverts commit 94b4fcd.
ericsnowcurrently added a commit to ericsnowcurrently/cpython that referenced this pull request May 1, 2025
ericsnowcurrently added a commit that referenced this pull request May 5, 2025
This reverts commit 811edcf (gh-133232), which itself reverted the original commit 811edcf (gh-133128). We reverted the original change due to failing s390 builds (a big-endian architecture). It ended up that I had not accommodated op caches.
Pranjal095 pushed a commit to Pranjal095/cpython that referenced this pull request Jul 12, 2025
This reverts commit 811edcf (pythongh-133232), which itself reverted the original commit 811edcf (pythongh-133128). We reverted the original change due to failing s390 builds (a big-endian architecture). It ended up that I had not accommodated op caches.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ericsnowcurrently@iritkatriel@bedevere-bot