René's URL Explorer Experiment


Title: Thread-safe type operations: type lock, QSBR type-cache reclamation, GC stop-the-world, and interpreter optimizations by youknowone · Pull Request #7416 · RustPython/RustPython · GitHub

Open Graph Title: Thread-safe type operations: type lock, QSBR type-cache reclamation, GC stop-the-world, and interpreter optimizations by youknowone · Pull Request #7416 · RustPython/RustPython

X Title: Thread-safe type operations: type lock, QSBR type-cache reclamation, GC stop-the-world, and interpreter optimizations by youknowone · Pull Request #7416 · RustPython/RustPython

Description: A Python Interpreter written in Rust. Contribute to RustPython/RustPython development by creating an account on GitHub.

Open Graph Description: Introduce vm.state.type_mutex to serialize type mutation and version-tag assignment, matching CPython's free-threading model. Add with_type_lock() helper and split modified/assign_version_tag ...

X Description: Introduce vm.state.type_mutex to serialize type mutation and version-tag assignment, matching CPython's free-threading model. Add with_type_lock() helper and split modified/assign_version_...

Opengraph URL: https://github.com/RustPython/RustPython/pull/7416

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/commits(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:4bdcb8aa-d0e2-ca3d-cadf-1fda3e5b6457
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idB65A:2CE953:1B077C5:23B0B0A:6A5C8262
html-safe-nonce25f81e0c1c27209c473aa179784ebe6cd0db6be6fc4ef47542fa662c79bd9f13
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNjVBOjJDRTk1MzoxQjA3N0M1OjIzQjBCMEE6NkE1QzgyNjIiLCJ2aXNpdG9yX2lkIjoiNTQ1ODMyNDg2NDI1MDk3MDcyMiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmaccdd291573147420566de8be48f8f9d67c2d0bfb52f032dd632c3ea4bfe9f881e
hovercard-subject-tagpull_request:3392459839
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/RustPython/RustPython/pull/7416/commits
twitter:imagehttps://opengraph.githubassets.com/a3a8fe928ff3cb83c01920a51d3ac10ee1e71713e7913a89aaaf75cd001ae1c4/RustPython/RustPython/pull/7416
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/a3a8fe928ff3cb83c01920a51d3ac10ee1e71713e7913a89aaaf75cd001ae1c4/RustPython/RustPython/pull/7416
og:image:altIntroduce vm.state.type_mutex to serialize type mutation and version-tag assignment, matching CPython's free-threading model. Add with_type_lock() helper and split modified/assign_version_tag ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameyouknowone
hostnamegithub.com
expected-hostnamegithub.com
None5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b
turbo-cache-controlno-cache
go-importgithub.com/RustPython/RustPython git https://github.com/RustPython/RustPython.git
octolytics-dimension-user_id39710557
octolytics-dimension-user_loginRustPython
octolytics-dimension-repository_id135201145
octolytics-dimension-repository_nwoRustPython/RustPython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id135201145
octolytics-dimension-repository_network_root_nwoRustPython/RustPython
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release9c975978430e9ad293956f2bbdaf153b1bd84a99
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/RustPython/RustPython/pull/7416/commits#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FRustPython%2FRustPython%2Fpull%2F7416%2Fcommits
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FRustPython%2FRustPython%2Fpull%2F7416%2Fcommits
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Fcommits&source=header-repo&source_repo=RustPython%2FRustPython
Reloadhttps://github.com/RustPython/RustPython/pull/7416/commits
Reloadhttps://github.com/RustPython/RustPython/pull/7416/commits
Reloadhttps://github.com/RustPython/RustPython/pull/7416/commits
Please reload this pagehttps://github.com/RustPython/RustPython/pull/7416/commits
RustPython https://github.com/RustPython
RustPythonhttps://github.com/RustPython/RustPython
Notifications https://github.com/login?return_to=%2FRustPython%2FRustPython
Fork 1.5k https://github.com/login?return_to=%2FRustPython%2FRustPython
Star 22.2k https://github.com/login?return_to=%2FRustPython%2FRustPython
Code https://github.com/RustPython/RustPython
Issues 290 https://github.com/RustPython/RustPython/issues
Pull requests 100 https://github.com/RustPython/RustPython/pulls
Discussions https://github.com/RustPython/RustPython/discussions
Actions https://github.com/RustPython/RustPython/actions
Projects https://github.com/RustPython/RustPython/projects
Models https://github.com/RustPython/RustPython/models
Wiki https://github.com/RustPython/RustPython/wiki
Security and quality 0 https://github.com/RustPython/RustPython/security
Insights https://github.com/RustPython/RustPython/pulse
Code https://github.com/RustPython/RustPython
Issues https://github.com/RustPython/RustPython/issues
Pull requests https://github.com/RustPython/RustPython/pulls
Discussions https://github.com/RustPython/RustPython/discussions
Actions https://github.com/RustPython/RustPython/actions
Projects https://github.com/RustPython/RustPython/projects
Models https://github.com/RustPython/RustPython/models
Wiki https://github.com/RustPython/RustPython/wiki
Security and quality https://github.com/RustPython/RustPython/security
Insights https://github.com/RustPython/RustPython/pulse
youknowonehttps://github.com/youknowone
RustPython:mainhttps://github.com/RustPython/RustPython/tree/main
youknowone:typelockhttps://github.com/youknowone/RustPython/tree/typelock
Conversationhttps://github.com/RustPython/RustPython/pull/7416
Commits92 (92)https://github.com/RustPython/RustPython/pull/7416/commits
Checkshttps://github.com/RustPython/RustPython/pull/7416/checks
Files changedhttps://github.com/RustPython/RustPython/pull/7416/files
Thread-safe type operations: type lock, QSBR type-cache reclamation, GC stop-the-world, and interpreter optimizationshttps://github.com/RustPython/RustPython/pull/7416/commits#top
youknowonehttps://github.com/youknowone
RustPython:mainhttps://github.com/RustPython/RustPython/tree/main
youknowone:typelockhttps://github.com/youknowone/RustPython/tree/typelock
type lockhttps://github.com/RustPython/RustPython/pull/7416/commits/09f99614594371e1fdabda245e6744ce1cd72c6f
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
09f9961https://github.com/RustPython/RustPython/pull/7416/commits/09f99614594371e1fdabda245e6744ce1cd72c6f
https://github.com/RustPython/RustPython/tree/09f99614594371e1fdabda245e6744ce1cd72c6f
Drop old PyObjectRef outside type lock to prevent deadlockhttps://github.com/RustPython/RustPython/pull/7416/commits/2a9b982591e0af65850b337dfe88eeb118806de3
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
2a9b982https://github.com/RustPython/RustPython/pull/7416/commits/2a9b982591e0af65850b337dfe88eeb118806de3
https://github.com/RustPython/RustPython/tree/2a9b982591e0af65850b337dfe88eeb118806de3
Align type lock behavior with CPythonhttps://github.com/RustPython/RustPython/pull/7416/commits/4b71002a632dc919984ee1539abb7321088b8a0b
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
4b71002https://github.com/RustPython/RustPython/pull/7416/commits/4b71002a632dc919984ee1539abb7321088b8a0b
https://github.com/RustPython/RustPython/tree/4b71002a632dc919984ee1539abb7321088b8a0b
Add PUBLISHED flag bit to RefCount state wordhttps://github.com/RustPython/RustPython/pull/7416/commits/9196dd4bae852ba4dc692b14bc434b5c3d09854b
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
9196dd4https://github.com/RustPython/RustPython/pull/7416/commits/9196dd4bae852ba4dc692b14bc434b5c3d09854b
https://github.com/RustPython/RustPython/tree/9196dd4bae852ba4dc692b14bc434b5c3d09854b
Add QSBR module for deferred memory reclamationhttps://github.com/RustPython/RustPython/pull/7416/commits/c32cb0e3693ea4d409b593d73a326ef3ee9146c5
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
c32cb0ehttps://github.com/RustPython/RustPython/pull/7416/commits/c32cb0e3693ea4d409b593d73a326ef3ee9146c5
https://github.com/RustPython/RustPython/tree/c32cb0e3693ea4d409b593d73a326ef3ee9146c5
Defer memory free of cache-published objects via QSBRhttps://github.com/RustPython/RustPython/pull/7416/commits/9bfa0701cf6498c738b93a9680f1bcabdf2a7a5f
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
9bfa070https://github.com/RustPython/RustPython/pull/7416/commits/9bfa0701cf6498c738b93a9680f1bcabdf2a7a5f
https://github.com/RustPython/RustPython/tree/9bfa0701cf6498c738b93a9680f1bcabdf2a7a5f
Wire QSBR checkpoints into thread lifecycle and eval breakerhttps://github.com/RustPython/RustPython/pull/7416/commits/59a31276fc313ede19a8edf2c095626f983ec859
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
59a3127https://github.com/RustPython/RustPython/pull/7416/commits/59a31276fc313ede19a8edf2c095626f983ec859
https://github.com/RustPython/RustPython/tree/59a31276fc313ede19a8edf2c095626f983ec859
Publish type-cache values to QSBR and bypass cache without a VMhttps://github.com/RustPython/RustPython/pull/7416/commits/3f93b63bdb5a2369aef767688a006fdf1de18683
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
3f93b63https://github.com/RustPython/RustPython/pull/7416/commits/3f93b63bdb5a2369aef767688a006fdf1de18683
https://github.com/RustPython/RustPython/tree/3f93b63bdb5a2369aef767688a006fdf1de18683
Use try-incref reads and QSBR-backed swaps in specialization cachehttps://github.com/RustPython/RustPython/pull/7416/commits/06871c432e4d98c500eb3ec9899367d9b434fbf1
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
06871c4https://github.com/RustPython/RustPython/pull/7416/commits/06871c432e4d98c500eb3ec9899367d9b434fbf1
https://github.com/RustPython/RustPython/tree/06871c432e4d98c500eb3ec9899367d9b434fbf1
Reset QSBR thread registry after fork in the childhttps://github.com/RustPython/RustPython/pull/7416/commits/6eecfe8494ff649af664e8de6423dcb994cd22e0
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
6eecfe8https://github.com/RustPython/RustPython/pull/7416/commits/6eecfe8494ff649af664e8de6423dcb994cd22e0
https://github.com/RustPython/RustPython/tree/6eecfe8494ff649af664e8de6423dcb994cd22e0
Add threaded stress test for type cache mutation raceshttps://github.com/RustPython/RustPython/pull/7416/commits/020edd33d5849be7de78a1d9dd68b33ec6030578
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
020edd3https://github.com/RustPython/RustPython/pull/7416/commits/020edd33d5849be7de78a1d9dd68b33ec6030578
https://github.com/RustPython/RustPython/tree/020edd33d5849be7de78a1d9dd68b33ec6030578
Restrict qsbr internals to pub(crate) and fix clippy lintshttps://github.com/RustPython/RustPython/pull/7416/commits/d565da5aee3fd3fdb3ba35cda4df89c02e3219cf
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
d565da5https://github.com/RustPython/RustPython/pull/7416/commits/d565da5aee3fd3fdb3ba35cda4df89c02e3219cf
https://github.com/RustPython/RustPython/tree/d565da5aee3fd3fdb3ba35cda4df89c02e3219cf
Gate per-instruction QSBR check behind a global pending flaghttps://github.com/RustPython/RustPython/pull/7416/commits/cbd20c0575c3c5e2ed16ba81f6f916804319457f
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
cbd20c0https://github.com/RustPython/RustPython/pull/7416/commits/cbd20c0575c3c5e2ed16ba81f6f916804319457f
https://github.com/RustPython/RustPython/tree/cbd20c0575c3c5e2ed16ba81f6f916804319457f
Merge signal and QSBR eval-breaker flags into one atomic wordhttps://github.com/RustPython/RustPython/pull/7416/commits/eb633b2167f1efefcbac2f9a7930babec582e828
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
eb633b2https://github.com/RustPython/RustPython/pull/7416/commits/eb633b2167f1efefcbac2f9a7930babec582e828
https://github.com/RustPython/RustPython/tree/eb633b2167f1efefcbac2f9a7930babec582e828
Skip freelist reuse for published objects in default_deallochttps://github.com/RustPython/RustPython/pull/7416/commits/9baa344c1381a9c70da5bef4dd4752f1fe55f99f
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
9baa344https://github.com/RustPython/RustPython/pull/7416/commits/9baa344c1381a9c70da5bef4dd4752f1fe55f99f
https://github.com/RustPython/RustPython/tree/9baa344c1381a9c70da5bef4dd4752f1fe55f99f
Use itoa for PyInt::to_str_radix_10 i64 fast pathhttps://github.com/RustPython/RustPython/pull/7416/commits/97dbfcc0687e6c4e4e47f8026b71a28f4e11e7b0
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
97dbfcchttps://github.com/RustPython/RustPython/pull/7416/commits/97dbfcc0687e6c4e4e47f8026b71a28f4e11e7b0
https://github.com/RustPython/RustPython/tree/97dbfcc0687e6c4e4e47f8026b71a28f4e11e7b0
Make object attribute dunders wrapper descriptorshttps://github.com/RustPython/RustPython/pull/7416/commits/e4ddae6ff88a52733de60118e789806a813d245f
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
e4ddae6https://github.com/RustPython/RustPython/pull/7416/commits/e4ddae6ff88a52733de60118e789806a813d245f
https://github.com/RustPython/RustPython/tree/e4ddae6ff88a52733de60118e789806a813d245f
Resolve TpSetattro pair on attribute deletion, not just additionhttps://github.com/RustPython/RustPython/pull/7416/commits/1ac47f358705a526118283914369261cd4041590
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
1ac47f3https://github.com/RustPython/RustPython/pull/7416/commits/1ac47f358705a526118283914369261cd4041590
https://github.com/RustPython/RustPython/tree/1ac47f358705a526118283914369261cd4041590
Generate Opcode::cache_entries/deopt as table lookupshttps://github.com/RustPython/RustPython/pull/7416/commits/8f3245006e6c6867652844306c6fa9dd30241838
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
8f32450https://github.com/RustPython/RustPython/pull/7416/commits/8f3245006e6c6867652844306c6fa9dd30241838
https://github.com/RustPython/RustPython/tree/8f3245006e6c6867652844306c6fa9dd30241838
Make Opcode/Instruction numeric conversions O(1)https://github.com/RustPython/RustPython/pull/7416/commits/efc62e31861367295f6b4cd26aedd44d7b513242
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
efc62e3https://github.com/RustPython/RustPython/pull/7416/commits/efc62e31861367295f6b4cd26aedd44d7b513242
https://github.com/RustPython/RustPython/tree/efc62e31861367295f6b4cd26aedd44d7b513242
Pop CallIsinstance arguments directly instead of collecting into Vecshttps://github.com/RustPython/RustPython/pull/7416/commits/7e4c76595fe7a34189bf55f7153916da0e9c68fe
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
7e4c765https://github.com/RustPython/RustPython/pull/7416/commits/7e4c76595fe7a34189bf55f7153916da0e9c68fe
https://github.com/RustPython/RustPython/tree/7e4c76595fe7a34189bf55f7153916da0e9c68fe
Inherit tp_new instead of always installing new_wrapperhttps://github.com/RustPython/RustPython/pull/7416/commits/d9796eafefac2c95144f28f61a98d7180e17315e
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
d9796eahttps://github.com/RustPython/RustPython/pull/7416/commits/d9796eafefac2c95144f28f61a98d7180e17315e
https://github.com/RustPython/RustPython/tree/d9796eafefac2c95144f28f61a98d7180e17315e
Skip locals dict allocation for the init-cleanup shim framehttps://github.com/RustPython/RustPython/pull/7416/commits/dd72583e2cb98762c56a68b6a52267a0f9a9175d
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
dd72583https://github.com/RustPython/RustPython/pull/7416/commits/dd72583e2cb98762c56a68b6a52267a0f9a9175d
https://github.com/RustPython/RustPython/tree/dd72583e2cb98762c56a68b6a52267a0f9a9175d
Guard CALL_ALLOC_AND_ENTER_INIT with cached function versionhttps://github.com/RustPython/RustPython/pull/7416/commits/da6633d67ccab95926f1a72ca78683ce47f4262c
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
da6633dhttps://github.com/RustPython/RustPython/pull/7416/commits/da6633d67ccab95926f1a72ca78683ce47f4262c
https://github.com/RustPython/RustPython/tree/da6633d67ccab95926f1a72ca78683ce47f4262c
Apply rustfmt and ruff-format fixes to files from earlier commitshttps://github.com/RustPython/RustPython/pull/7416/commits/6fe1fed40c0fd5c3e9c64b64fbeba989309156fb
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
6fe1fedhttps://github.com/RustPython/RustPython/pull/7416/commits/6fe1fed40c0fd5c3e9c64b64fbeba989309156fb
https://github.com/RustPython/RustPython/tree/6fe1fed40c0fd5c3e9c64b64fbeba989309156fb
Add frame object freelisthttps://github.com/RustPython/RustPython/pull/7416/commits/d26a55387bf68a31839b61a8d86ac30b0bd1b9b7
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
d26a553https://github.com/RustPython/RustPython/pull/7416/commits/d26a55387bf68a31839b61a8d86ac30b0bd1b9b7
https://github.com/RustPython/RustPython/tree/d26a55387bf68a31839b61a8d86ac30b0bd1b9b7
Drop frame children directly in tp_clear instead of extractinghttps://github.com/RustPython/RustPython/pull/7416/commits/4c3bb64b247e8b3177d89813d2e826a24eb28ca6
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
4c3bb64https://github.com/RustPython/RustPython/pull/7416/commits/4c3bb64b247e8b3177d89813d2e826a24eb28ca6
https://github.com/RustPython/RustPython/tree/4c3bb64b247e8b3177d89813d2e826a24eb28ca6
Untrack objects before tp_clear and guard cross-thread f_localshttps://github.com/RustPython/RustPython/pull/7416/commits/c197615e57ce2812809078a0cafbde0b72d4a11f
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
c197615https://github.com/RustPython/RustPython/pull/7416/commits/c197615e57ce2812809078a0cafbde0b72d4a11f
https://github.com/RustPython/RustPython/tree/c197615e57ce2812809078a0cafbde0b72d4a11f
Skip localsplus heap copy for uniquely referenced dying frameshttps://github.com/RustPython/RustPython/pull/7416/commits/cff6798786961c53a6d01cb1ef308ff6df7a200b
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
cff6798https://github.com/RustPython/RustPython/pull/7416/commits/cff6798786961c53a6d01cb1ef308ff6df7a200b
https://github.com/RustPython/RustPython/tree/cff6798786961c53a6d01cb1ef308ff6df7a200b
Stage exact-args call arguments in stack slot buffershttps://github.com/RustPython/RustPython/pull/7416/commits/1888e7df28937083727feac8049a73ee4d5fb127
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
1888e7dhttps://github.com/RustPython/RustPython/pull/7416/commits/1888e7df28937083727feac8049a73ee4d5fb127
https://github.com/RustPython/RustPython/tree/1888e7df28937083727feac8049a73ee4d5fb127
Reduce allocations in generic call pathshttps://github.com/RustPython/RustPython/pull/7416/commits/7517364e471ea07f18b3ff60a04c052876c0a84f
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
7517364https://github.com/RustPython/RustPython/pull/7416/commits/7517364e471ea07f18b3ff60a04c052876c0a84f
https://github.com/RustPython/RustPython/tree/7517364e471ea07f18b3ff60a04c052876c0a84f
Skip redundant exc_info restore on frame exithttps://github.com/RustPython/RustPython/pull/7416/commits/71197eb9113336711046be8b5d698c10cb19ae44
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
71197ebhttps://github.com/RustPython/RustPython/pull/7416/commits/71197eb9113336711046be8b5d698c10cb19ae44
https://github.com/RustPython/RustPython/tree/71197eb9113336711046be8b5d698c10cb19ae44
Apply rustfmt to gc_state.rshttps://github.com/RustPython/RustPython/pull/7416/commits/bc2927ce9a792c2b316b56005797758acf86c279
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
bc2927chttps://github.com/RustPython/RustPython/pull/7416/commits/bc2927ce9a792c2b316b56005797758acf86c279
https://github.com/RustPython/RustPython/tree/bc2927ce9a792c2b316b56005797758acf86c279
Avoid empty FuncArgs clone in PyType::callhttps://github.com/RustPython/RustPython/pull/7416/commits/de52aea08f4333b7a2825ef84f6721a8ef9a4166
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
de52aeahttps://github.com/RustPython/RustPython/pull/7416/commits/de52aea08f4333b7a2825ef84f6721a8ef9a4166
https://github.com/RustPython/RustPython/tree/de52aea08f4333b7a2825ef84f6721a8ef9a4166
Push freelist husks only after tp_clear and child dropshttps://github.com/RustPython/RustPython/pull/7416/commits/e10c44d89e152c91f8bd522a49e912646abe538e
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
e10c44dhttps://github.com/RustPython/RustPython/pull/7416/commits/e10c44d89e152c91f8bd522a49e912646abe538e
https://github.com/RustPython/RustPython/tree/e10c44d89e152c91f8bd522a49e912646abe538e
Resolve __set__ and __delete__ together for the descr_set slothttps://github.com/RustPython/RustPython/pull/7416/commits/ebc56c91973a0c71b80904b27ca4a408dc2f7218
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
ebc56c9https://github.com/RustPython/RustPython/pull/7416/commits/ebc56c91973a0c71b80904b27ca4a408dc2f7218
https://github.com/RustPython/RustPython/tree/ebc56c91973a0c71b80904b27ca4a408dc2f7218
Update type base on __bases__ assignmenthttps://github.com/RustPython/RustPython/pull/7416/commits/e902ad1942a920a94153c6c6ef92efd22dd874a4
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
e902ad1https://github.com/RustPython/RustPython/pull/7416/commits/e902ad1942a920a94153c6c6ef92efd22dd874a4
https://github.com/RustPython/RustPython/tree/e902ad1942a920a94153c6c6ef92efd22dd874a4
Fix rollback order, dead weakrefs, and lock-held drops in set_baseshttps://github.com/RustPython/RustPython/pull/7416/commits/bc2aba2c19d4b157aedac82eab4032f2c2e0419a
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
bc2aba2https://github.com/RustPython/RustPython/pull/7416/commits/bc2aba2c19d4b157aedac82eab4032f2c2e0419a
https://github.com/RustPython/RustPython/tree/bc2aba2c19d4b157aedac82eab4032f2c2e0419a
Reify number sub-slot wrapper once in update_one_slothttps://github.com/RustPython/RustPython/pull/7416/commits/b8d11f23e6171011a77736843bb35c2ce95f0891
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
b8d11f2https://github.com/RustPython/RustPython/pull/7416/commits/b8d11f23e6171011a77736843bb35c2ce95f0891
https://github.com/RustPython/RustPython/tree/b8d11f23e6171011a77736843bb35c2ce95f0891
Restrict type_cache_after_fork visibility and guard type-cache readshttps://github.com/RustPython/RustPython/pull/7416/commits/a7fc01a2a0064a669f76d6e31993d8b5deecb3d4
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
a7fc01ahttps://github.com/RustPython/RustPython/pull/7416/commits/a7fc01a2a0064a669f76d6e31993d8b5deecb3d4
https://github.com/RustPython/RustPython/tree/a7fc01a2a0064a669f76d6e31993d8b5deecb3d4
Guard BinaryOpSubscrGetitem with the cached type versionhttps://github.com/RustPython/RustPython/pull/7416/commits/4d7126a6c2c9df4ab1e70f43db2d2a07e6572929
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
4d7126ahttps://github.com/RustPython/RustPython/pull/7416/commits/4d7126a6c2c9df4ab1e70f43db2d2a07e6572929
https://github.com/RustPython/RustPython/tree/4d7126a6c2c9df4ab1e70f43db2d2a07e6572929
Call __abstractmethods__ __len__ once in object.__new__https://github.com/RustPython/RustPython/pull/7416/commits/18e847480e683eb6fab388ddab1f9c8dc71aaa0b
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
18e8474https://github.com/RustPython/RustPython/pull/7416/commits/18e847480e683eb6fab388ddab1f9c8dc71aaa0b
https://github.com/RustPython/RustPython/tree/18e847480e683eb6fab388ddab1f9c8dc71aaa0b
Use i64 fast paths for specialized int add/sub/mulhttps://github.com/RustPython/RustPython/pull/7416/commits/6133908d565ae2ef2844dedc887f51743d1d2e91
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
6133908https://github.com/RustPython/RustPython/pull/7416/commits/6133908d565ae2ef2844dedc887f51743d1d2e91
https://github.com/RustPython/RustPython/tree/6133908d565ae2ef2844dedc887f51743d1d2e91
Use i64 fast paths for exact int floordiv and remainderhttps://github.com/RustPython/RustPython/pull/7416/commits/1499b31022a205c99163473a6f0f18b5c93bbd4a
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
1499b31https://github.com/RustPython/RustPython/pull/7416/commits/1499b31022a205c99163473a6f0f18b5c93bbd4a
https://github.com/RustPython/RustPython/tree/1499b31022a205c99163473a6f0f18b5c93bbd4a
Skip trashcan and untrack for non-GC-tracked objects in deallochttps://github.com/RustPython/RustPython/pull/7416/commits/70409fab3309336d81179a64af2a80d8a41c1560
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
70409fahttps://github.com/RustPython/RustPython/pull/7416/commits/70409fab3309336d81179a64af2a80d8a41c1560
https://github.com/RustPython/RustPython/tree/70409fab3309336d81179a64af2a80d8a41c1560
Merge trashcan depth and defer queue into one thread-local structhttps://github.com/RustPython/RustPython/pull/7416/commits/1b8683bf4a652ea0e4055e79c0ef9ac830ecbce0
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
1b8683bhttps://github.com/RustPython/RustPython/pull/7416/commits/1b8683bf4a652ea0e4055e79c0ef9ac830ecbce0
https://github.com/RustPython/RustPython/tree/1b8683bf4a652ea0e4055e79c0ef9ac830ecbce0
Check object layout compatibility on __bases__ and __class__ assignmenthttps://github.com/RustPython/RustPython/pull/7416/commits/f85c30dec3b34eaa83323724f7db353f9d0e6506
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
f85c30dhttps://github.com/RustPython/RustPython/pull/7416/commits/f85c30dec3b34eaa83323724f7db353f9d0e6506
https://github.com/RustPython/RustPython/tree/f85c30dec3b34eaa83323724f7db353f9d0e6506
Stop the world around GC pointer-reading phaseshttps://github.com/RustPython/RustPython/pull/7416/commits/f7dda037d700ca5f79540cd0f710fd1ce0363cd5
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
f7dda03https://github.com/RustPython/RustPython/pull/7416/commits/f7dda037d700ca5f79540cd0f710fd1ce0363cd5
https://github.com/RustPython/RustPython/tree/f7dda037d700ca5f79540cd0f710fd1ce0363cd5
Add threaded GC vs executing-frame stress snippethttps://github.com/RustPython/RustPython/pull/7416/commits/bca1ad9674e29e1199bbd1587e34a5cbd805fe6c
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
bca1ad9https://github.com/RustPython/RustPython/pull/7416/commits/bca1ad9674e29e1199bbd1587e34a5cbd805fe6c
https://github.com/RustPython/RustPython/tree/bca1ad9674e29e1199bbd1587e34a5cbd805fe6c
Serialize fork and GC stop-the-world requestershttps://github.com/RustPython/RustPython/pull/7416/commits/2769945e3ca9d9f85d67e22e454c3090cfd44307
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
2769945https://github.com/RustPython/RustPython/pull/7416/commits/2769945e3ca9d9f85d67e22e454c3090cfd44307
https://github.com/RustPython/RustPython/tree/2769945e3ca9d9f85d67e22e454c3090cfd44307
Add fork under concurrent GC stop-the-world snippethttps://github.com/RustPython/RustPython/pull/7416/commits/a33d16f955897d35f0a8e0a330cf204c84df25b4
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
a33d16fhttps://github.com/RustPython/RustPython/pull/7416/commits/a33d16f955897d35f0a8e0a330cf204c84df25b4
https://github.com/RustPython/RustPython/tree/a33d16f955897d35f0a8e0a330cf204c84df25b4
Detach while acquiring the import lockhttps://github.com/RustPython/RustPython/pull/7416/commits/1b0fa99bf4a4426d9f50f1cfddfdf60dc85aa5a8
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
1b0fa99https://github.com/RustPython/RustPython/pull/7416/commits/1b0fa99bf4a4426d9f50f1cfddfdf60dc85aa5a8
https://github.com/RustPython/RustPython/tree/1b0fa99bf4a4426d9f50f1cfddfdf60dc85aa5a8
Add concurrent-import vs GC deadlock snippethttps://github.com/RustPython/RustPython/pull/7416/commits/92a4d0001512a147d3e057ddce30c571c7e8c750
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
92a4d00https://github.com/RustPython/RustPython/pull/7416/commits/92a4d0001512a147d3e057ddce30c571c7e8c750
https://github.com/RustPython/RustPython/tree/92a4d0001512a147d3e057ddce30c571c7e8c750
Create call frames untracked and track generators explicitlyhttps://github.com/RustPython/RustPython/pull/7416/commits/d1e5e97531cdf53264b61a27857e3c029fc51f55
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
d1e5e97https://github.com/RustPython/RustPython/pull/7416/commits/d1e5e97531cdf53264b61a27857e3c029fc51f55
https://github.com/RustPython/RustPython/tree/d1e5e97531cdf53264b61a27857e3c029fc51f55
Track escaped call frames lazily at datastack releasehttps://github.com/RustPython/RustPython/pull/7416/commits/ee948401f1cbe85c5b2a14557bd13bdd6299c1f0
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
ee94840https://github.com/RustPython/RustPython/pull/7416/commits/ee948401f1cbe85c5b2a14557bd13bdd6299c1f0
https://github.com/RustPython/RustPython/tree/ee948401f1cbe85c5b2a14557bd13bdd6299c1f0
Guard the tracked-frame localsplus invarianthttps://github.com/RustPython/RustPython/pull/7416/commits/2982b66397b00454b7f1d4f12769e77822501727
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
2982b66https://github.com/RustPython/RustPython/pull/7416/commits/2982b66397b00454b7f1d4f12769e77822501727
https://github.com/RustPython/RustPython/tree/2982b66397b00454b7f1d4f12769e77822501727
Reword frame/dealloc invariant comments and drop needless borrowhttps://github.com/RustPython/RustPython/pull/7416/commits/1fa2d5f5b8c58ed94ab3702904c74394c2d8361b
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
1fa2d5fhttps://github.com/RustPython/RustPython/pull/7416/commits/1fa2d5f5b8c58ed94ab3702904c74394c2d8361b
https://github.com/RustPython/RustPython/tree/1fa2d5f5b8c58ed94ab3702904c74394c2d8361b
Move type SetAttr slot rewrite inside the type lock and tighten cache readshttps://github.com/RustPython/RustPython/pull/7416/commits/bd4b3718bfbfb780cc3e192ba55c8a54247d6a96
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
bd4b371https://github.com/RustPython/RustPython/pull/7416/commits/bd4b3718bfbfb780cc3e192ba55c8a54247d6a96
https://github.com/RustPython/RustPython/tree/bd4b3718bfbfb780cc3e192ba55c8a54247d6a96
Capture the type version before reading mutable slots in specializershttps://github.com/RustPython/RustPython/pull/7416/commits/2ae9fb83dffa738082a1a248d4b958062f6a70f8
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
2ae9fb8https://github.com/RustPython/RustPython/pull/7416/commits/2ae9fb83dffa738082a1a248d4b958062f6a70f8
https://github.com/RustPython/RustPython/tree/2ae9fb83dffa738082a1a248d4b958062f6a70f8
Use _get_method_dict for the test_type check in the test runnerhttps://github.com/RustPython/RustPython/pull/7416/commits/68e8b91d11859e273f2388d465ca695ff4fd311f
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
68e8b91https://github.com/RustPython/RustPython/pull/7416/commits/68e8b91d11859e273f2388d465ca695ff4fd311f
https://github.com/RustPython/RustPython/tree/68e8b91d11859e273f2388d465ca695ff4fd311f
Fix lint hooks: cspell dictionary entries, spelling fix, formattinghttps://github.com/RustPython/RustPython/pull/7416/commits/ec8b128c74e5c6bc2d7659a8dd8af3f63b21a294
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
ec8b128https://github.com/RustPython/RustPython/pull/7416/commits/ec8b128c74e5c6bc2d7659a8dd8af3f63b21a294
https://github.com/RustPython/RustPython/tree/ec8b128c74e5c6bc2d7659a8dd8af3f63b21a294
Rebuild all slots for type and descendants on __bases__ reassignmenthttps://github.com/RustPython/RustPython/pull/7416/commits/9d44aaf62ffda29d644b6aff5bb7ea81e81306e9
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
9d44aafhttps://github.com/RustPython/RustPython/pull/7416/commits/9d44aaf62ffda29d644b6aff5bb7ea81e81306e9
https://github.com/RustPython/RustPython/tree/9d44aaf62ffda29d644b6aff5bb7ea81e81306e9
Derive the thread-local frame stack from the frame chainhttps://github.com/RustPython/RustPython/pull/7416/commits/ab0cddb3f6402b95b2761098ecb663b5e733abb2
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
ab0cddbhttps://github.com/RustPython/RustPython/pull/7416/commits/ab0cddb3f6402b95b2761098ecb663b5e733abb2
https://github.com/RustPython/RustPython/tree/ab0cddb3f6402b95b2761098ecb663b5e733abb2
Inherit sub-slot fallback into the field being resolvedhttps://github.com/RustPython/RustPython/pull/7416/commits/ae106abb4ad03b911bac4de4f74326a47cd04b16
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
ae106abhttps://github.com/RustPython/RustPython/pull/7416/commits/ae106abb4ad03b911bac4de4f74326a47cd04b16
https://github.com/RustPython/RustPython/tree/ae106abb4ad03b911bac4de4f74326a47cd04b16
Gate type_cache_after_fork to its fork caller and use Self in downcasthttps://github.com/RustPython/RustPython/pull/7416/commits/8f4f7a5e5449269c7f229d16bb7f80164d190cb3
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
8f4f7a5https://github.com/RustPython/RustPython/pull/7416/commits/8f4f7a5e5449269c7f229d16bb7f80164d190cb3
https://github.com/RustPython/RustPython/tree/8f4f7a5e5449269c7f229d16bb7f80164d190cb3
Unmark test_attr and test_method_call_error in test_monitoringhttps://github.com/RustPython/RustPython/pull/7416/commits/5f43c79422b6a8811925d387cc0cdaab1870591b
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
5f43c79https://github.com/RustPython/RustPython/pull/7416/commits/5f43c79422b6a8811925d387cc0cdaab1870591b
https://github.com/RustPython/RustPython/tree/5f43c79422b6a8811925d387cc0cdaab1870591b
Run tp_new specialization __init__ without a trampoline framehttps://github.com/RustPython/RustPython/pull/7416/commits/a3f92432e59367bf1a03c8cc7a02686b5fa8d331
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
a3f9243https://github.com/RustPython/RustPython/pull/7416/commits/a3f92432e59367bf1a03c8cc7a02686b5fa8d331
https://github.com/RustPython/RustPython/tree/a3f92432e59367bf1a03c8cc7a02686b5fa8d331
Replace per-call thread-frame mutex with an atomic top-of-stack (unix)https://github.com/RustPython/RustPython/pull/7416/commits/df702842532b3856a8fd2c94ec1bd9e620073e45
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
df70284https://github.com/RustPython/RustPython/pull/7416/commits/df702842532b3856a8fd2c94ec1bd9e620073e45
https://github.com/RustPython/RustPython/tree/df702842532b3856a8fd2c94ec1bd9e620073e45
Skip exc_info save/restore for callees that never touch the slothttps://github.com/RustPython/RustPython/pull/7416/commits/f525b380de794dc9b709c1c79f19646f34cf6a13
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
f525b38https://github.com/RustPython/RustPython/pull/7416/commits/f525b380de794dc9b709c1c79f19646f34cf6a13
https://github.com/RustPython/RustPython/tree/f525b380de794dc9b709c1c79f19646f34cf6a13
Return a write-through FrameLocalsProxy from frame.f_localshttps://github.com/RustPython/RustPython/pull/7416/commits/98351a58d1fe688b327b2ce287f0f690d249763c
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
98351a5https://github.com/RustPython/RustPython/pull/7416/commits/98351a58d1fe688b327b2ce287f0f690d249763c
https://github.com/RustPython/RustPython/tree/98351a58d1fe688b327b2ce287f0f690d249763c
Retain the caller frame so f_back resolves after it returnshttps://github.com/RustPython/RustPython/pull/7416/commits/a9f8b61e7949f3e023ce7ce9ae1e79d723ee743a
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
a9f8b61https://github.com/RustPython/RustPython/pull/7416/commits/a9f8b61e7949f3e023ce7ce9ae1e79d723ee743a
https://github.com/RustPython/RustPython/tree/a9f8b61e7949f3e023ce7ce9ae1e79d723ee743a
Fix debug-build native stack overflow on deep recursionhttps://github.com/RustPython/RustPython/pull/7416/commits/f05926a280ef2f9bdc6633002fca4af3a302249a
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
f05926ahttps://github.com/RustPython/RustPython/pull/7416/commits/f05926a280ef2f9bdc6633002fca4af3a302249a
https://github.com/RustPython/RustPython/tree/f05926a280ef2f9bdc6633002fca4af3a302249a
Allocate exception instance __dict__ lazilyhttps://github.com/RustPython/RustPython/pull/7416/commits/4a92aadaed7e6f728ba1468cb17c75f9bd6ce0cc
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
4a92aadhttps://github.com/RustPython/RustPython/pull/7416/commits/4a92aadaed7e6f728ba1468cb17c75f9bd6ce0cc
https://github.com/RustPython/RustPython/tree/4a92aadaed7e6f728ba1468cb17c75f9bd6ce0cc
Allocate exception __dict__ lazily in vm.new_exceptionhttps://github.com/RustPython/RustPython/pull/7416/commits/072bc2ac5dcd3585a2f945094b4dcfca6dfc90bb
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
072bc2ahttps://github.com/RustPython/RustPython/pull/7416/commits/072bc2ac5dcd3585a2f945094b4dcfca6dfc90bb
https://github.com/RustPython/RustPython/tree/072bc2ac5dcd3585a2f945094b4dcfca6dfc90bb
Validate FrameLocalsProxy.update() argumentshttps://github.com/RustPython/RustPython/pull/7416/commits/c172c74c2e421cff69ca4b0e0241d7fafe62e379
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
c172c74https://github.com/RustPython/RustPython/pull/7416/commits/c172c74c2e421cff69ca4b0e0241d7fafe62e379
https://github.com/RustPython/RustPython/tree/c172c74c2e421cff69ca4b0e0241d7fafe62e379
Address review nits in frame and faulthandlerhttps://github.com/RustPython/RustPython/pull/7416/commits/2652f4d29e1173cdc5cf609ec6d865c9e4fb5aed
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
2652f4dhttps://github.com/RustPython/RustPython/pull/7416/commits/2652f4d29e1173cdc5cf609ec6d865c9e4fb5aed
https://github.com/RustPython/RustPython/tree/2652f4d29e1173cdc5cf609ec6d865c9e4fb5aed
Use scopeguard for start_the_world in faulthandler dump_all_threadshttps://github.com/RustPython/RustPython/pull/7416/commits/0499c0a1f39c9bd0bc0772155fca0736de494f5a
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
0499c0ahttps://github.com/RustPython/RustPython/pull/7416/commits/0499c0a1f39c9bd0bc0772155fca0736de494f5a
https://github.com/RustPython/RustPython/tree/0499c0a1f39c9bd0bc0772155fca0736de494f5a
Gitignore docs/superpowershttps://github.com/RustPython/RustPython/pull/7416/commits/811f23040e922bc8b42dae3776141dc10d5f3cf9
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
811f230https://github.com/RustPython/RustPython/pull/7416/commits/811f23040e922bc8b42dae3776141dc10d5f3cf9
https://github.com/RustPython/RustPython/tree/811f23040e922bc8b42dae3776141dc10d5f3cf9
Rename type_bases_slot_rebuild.py to builtin_type_bases.pyhttps://github.com/RustPython/RustPython/pull/7416/commits/7982da8cb52c64bea6c28327c0da55ec622e7cd1
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
7982da8https://github.com/RustPython/RustPython/pull/7416/commits/7982da8cb52c64bea6c28327c0da55ec622e7cd1
https://github.com/RustPython/RustPython/tree/7982da8cb52c64bea6c28327c0da55ec622e7cd1
Apply rustfmt, ruff, and cspell lint fixeshttps://github.com/RustPython/RustPython/pull/7416/commits/683f16490d269cff6367e857f03704bb368781e9
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
683f164https://github.com/RustPython/RustPython/pull/7416/commits/683f16490d269cff6367e857f03704bb368781e9
https://github.com/RustPython/RustPython/tree/683f16490d269cff6367e857f03704bb368781e9
Gate unix-only QSBR methods to their call siteshttps://github.com/RustPython/RustPython/pull/7416/commits/ac2ce2bf3ef48e00c4856aca1467f4f1a349096c
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
ac2ce2bhttps://github.com/RustPython/RustPython/pull/7416/commits/ac2ce2bf3ef48e00c4856aca1467f4f1a349096c
https://github.com/RustPython/RustPython/tree/ac2ce2bf3ef48e00c4856aca1467f4f1a349096c
Visit the function closure tuple as a GC edgehttps://github.com/RustPython/RustPython/pull/7416/commits/f843473f99efe965def5e0a6cd21de5641a05e51
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
f843473https://github.com/RustPython/RustPython/pull/7416/commits/f843473f99efe965def5e0a6cd21de5641a05e51
https://github.com/RustPython/RustPython/tree/f843473f99efe965def5e0a6cd21de5641a05e51
Apply formatting hook fix to builtin_type_bases.pyhttps://github.com/RustPython/RustPython/pull/7416/commits/7ab5f768ea2bfdbfa87d4bc0d1afb85d2f19eccc
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
7ab5f76https://github.com/RustPython/RustPython/pull/7416/commits/7ab5f768ea2bfdbfa87d4bc0d1afb85d2f19eccc
https://github.com/RustPython/RustPython/tree/7ab5f768ea2bfdbfa87d4bc0d1afb85d2f19eccc
Unmark asyncgen finalization-by-gc tests in test_base_eventshttps://github.com/RustPython/RustPython/pull/7416/commits/6626177711182c7334706672a604411aa6a06132
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
6626177https://github.com/RustPython/RustPython/pull/7416/commits/6626177711182c7334706672a604411aa6a06132
https://github.com/RustPython/RustPython/tree/6626177711182c7334706672a604411aa6a06132
Unmark test_sni_callback_refcycle in test_sslhttps://github.com/RustPython/RustPython/pull/7416/commits/77e6d31fedb09286808c7bf7a669c0f8262582c1
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
77e6d31https://github.com/RustPython/RustPython/pull/7416/commits/77e6d31fedb09286808c7bf7a669c0f8262582c1
https://github.com/RustPython/RustPython/tree/77e6d31fedb09286808c7bf7a669c0f8262582c1
Widen GC stop-the-world gates from unix-only to all threading buildshttps://github.com/RustPython/RustPython/pull/7416/commits/d2720037c2704d3c5a7bfa3187d33e8c293c47f1
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
d272003https://github.com/RustPython/RustPython/pull/7416/commits/d2720037c2704d3c5a7bfa3187d33e8c293c47f1
https://github.com/RustPython/RustPython/tree/d2720037c2704d3c5a7bfa3187d33e8c293c47f1
Detach current thread around blocking _winapi/_overlapped waitshttps://github.com/RustPython/RustPython/pull/7416/commits/e590e3b40a4cb41f24405f55ef6049e59f04f032
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
e590e3bhttps://github.com/RustPython/RustPython/pull/7416/commits/e590e3b40a4cb41f24405f55ef6049e59f04f032
https://github.com/RustPython/RustPython/tree/e590e3b40a4cb41f24405f55ef6049e59f04f032
Format WaitForMultipleObjects allow_threads closurehttps://github.com/RustPython/RustPython/pull/7416/commits/cdd89083fdf7aa272b47a1b6e0cb11fbedef9cfa
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
cdd8908https://github.com/RustPython/RustPython/pull/7416/commits/cdd89083fdf7aa272b47a1b6e0cb11fbedef9cfa
https://github.com/RustPython/RustPython/tree/cdd89083fdf7aa272b47a1b6e0cb11fbedef9cfa
Treat concurrent sni_callback removal as no-op in invoke_sni_callbackhttps://github.com/RustPython/RustPython/pull/7416/commits/b6e8cbf678013c24f3b830800c973d749bf3a6e9
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
b6e8cbfhttps://github.com/RustPython/RustPython/pull/7416/commits/b6e8cbf678013c24f3b830800c973d749bf3a6e9
https://github.com/RustPython/RustPython/tree/b6e8cbf678013c24f3b830800c973d749bf3a6e9
Assert capi refcount on a fresh mortal list instead of the int type objecthttps://github.com/RustPython/RustPython/pull/7416/commits/5e2d09506ee35800f9ce6e5a3de27cba2e753b11
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
5e2d095https://github.com/RustPython/RustPython/pull/7416/commits/5e2d09506ee35800f9ce6e5a3de27cba2e753b11
https://github.com/RustPython/RustPython/tree/5e2d09506ee35800f9ce6e5a3de27cba2e753b11
Traverse and GC-track PyOSError instanceshttps://github.com/RustPython/RustPython/pull/7416/commits/4f8116d3d2f2d7d9ff5a191aa288e118ac70a06f
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
4f8116dhttps://github.com/RustPython/RustPython/pull/7416/commits/4f8116d3d2f2d7d9ff5a191aa288e118ac70a06f
https://github.com/RustPython/RustPython/tree/4f8116d3d2f2d7d9ff5a191aa288e118ac70a06f
Unmark test_blockingioerror in test_iohttps://github.com/RustPython/RustPython/pull/7416/commits/db737e1865bf74473fde73591c8dd6cfcd0a1173
https://github.com/youknowone
youknowonehttps://github.com/RustPython/RustPython/commits?author=youknowone
db737e1https://github.com/RustPython/RustPython/pull/7416/commits/db737e1865bf74473fde73591c8dd6cfcd0a1173
https://github.com/RustPython/RustPython/tree/db737e1865bf74473fde73591c8dd6cfcd0a1173
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.