Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34k
gh-117139: A StackRef Debugging Mode#121134
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
Uh oh!
There was an error while loading. Please reload this page.
Changes from all commits
ddf839e0b0fa3dd2c7bb92c6860aba49e5818d26ce5ff2a57e2563c6fe687c3a6e6576a058c34File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -8,6 +8,10 @@ on: | ||
| required: false | ||
| type: boolean | ||
| default: false | ||
| stackref-debug: | ||
| required: false | ||
| type: boolean | ||
| default: false | ||
| os-matrix: | ||
| required: false | ||
| type: string | ||
| @@ -54,11 +58,14 @@ jobs: | ||
| --config-cache \ | ||
| --with-pydebug \ | ||
| ${{inputs.free-threading && '--disable-gil' || ''}} \ | ||
| ${{inputs.stackref-debug && '--with-pystackrefdebug' || ''}} \ | ||
| --prefix=/opt/python-dev \ | ||
| --with-openssl="$(brew --prefix [email protected])" | ||
| - name: Build CPython | ||
| run: make -j8 | ||
| - name: Display build info | ||
| run: make pythoninfo | ||
| - name: Tests | ||
| run: make test | ||
| # Stackref debug is 3.5x slower than normal CPython, | ||
Member There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How about using the set of tests for profiling? It is about 40 tests instead of the usual ~400, so would give decent coverage without being too slow. MemberAuthor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sorry how do I run those specific tests? What command with | ||
| # so we only run it on a restricted subset of tests. | ||
| run: ${{inputs.stackref-debug && './python.exe -m test test_typing' || 'make test'}} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| Added a new ``--with-pystackrefs`` configure build option for CPython. This | ||
| option is fully experimental and may be modified or removed without prior | ||
| notice. Enabling the option turns on internal handle-like debugging for | ||
| CPython's main interpreter loop. |
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we do this for normal builds as well?
The linux machines are cheapest, so we should probably use those.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can't because normal builds require all the inline functions to be macros #121263. And these are too complicated to fit into a single macro.