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

[smart_holder] clone of PR #3275 #3282

Conversation

rwgk
Copy link
Collaborator

@rwgk rwgk commented Sep 19, 2021

Scratch PR for running CI: PR #3275 cherry-picked to smart_holder branch.
The cherry-pick leads to a merge conflict in detail/internals.h. This scratch PR introduces a new PYBIND11_INTERNALS_SH_DEF to accommodate the new internals logic introduced by PR #3275. This needs to be broken out as a small PR against the smart_holder branch.

This revises the existing fix for
pybind#2765 in
pybind#3237 to reduce the amount of
TLS storage used.

The shared TLS key is stored in two different ways, depending on
`PYBIND11_INTERNALS_VERSION`.  If `PYBIND11_INTERNALS_VERSION ==
4` (as is currently set), the TLS key is stored in the
`internal::shared_data` map to avoid breaking ABI compatibility.  If
`PYBIND11_INTERNALS_VERSION > 4`, the TLS key is stored directly in
the `internals` struct.

Fix test_pytypes.py::test_issue2361 failure on PyPy3.7

Add github actions tests for unstable ABI
@rwgk rwgk changed the base branch from master to smart_holder September 19, 2021 19:06
@rwgk rwgk closed this Sep 19, 2021
@rwgk
Copy link
Collaborator Author

rwgk commented Sep 19, 2021

I made a mistake: forgot to change the base from master to smart_holder. Fixing.

@rwgk
Copy link
Collaborator Author

rwgk commented Sep 20, 2021

This PR is obsolete. (Nearly) identical changes will be merged via PR #3284 (PR #3283 was merged already).

@rwgk rwgk closed this Sep 20, 2021
@rwgk rwgk deleted the loader-life-support-reduce-tls-usage_sh_scratch branch September 20, 2021 13:07
Sign up for free to 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