GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — bpo-46006: Revert "bpo-40521: Per-interpreter interned strings (GH-20085)" by vstinner · Pull Request #30422 · python/cpython

Conversation

@vstinner

@vstinner vstinner commented Jan 5, 2022 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

This reverts commit ea25180.

Keep "assert(interned == NULL);" in _PyUnicode_Fini() but only for
the main interpreter.

Keep _PyUnicode_ClearInterned() changes avoiding the creation of a
temporary Python list object.

https://bugs.python.org/issue46006

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@vstinner
vstinner requested a review from markshannon as a code owner January 5, 2022 16:26
@the-knights-who-say-ni the-knights-who-say-ni added the CLA signed label Jan 5, 2022
@bedevere-bot bedevere-bot added the awaiting core review label Jan 5, 2022
@vstinner vstinner changed the title Revert "bpo-40521: Per-interpreter interned strings (GH-20085)" bpo-46006: Revert "bpo-40521: Per-interpreter interned strings (GH-20085)" Jan 5, 2022
@vstinner vstinner mentioned this pull request Jan 5, 2022
bpo-46006: Move the interned strings and identifiers to _PyRuntimeState. #30131
Closed
@vstinner
bpo-46006: Revert "bpo-40521: Per-interpreter interned strings (GH-20085
8ae5d43
)"

This reverts commit ea25180.

Keep "assert(interned == NULL);" in _PyUnicode_Fini() but only for
the main interpreter.

Keep _PyUnicode_ClearInterned() changes avoiding the creation of a
temporary Python list object.
@vstinner

vstinner commented Jan 5, 2022

Copy link
Copy Markdown
Member Author

Python 3.10 is also affected by https://bugs.python.org/issue46006. So I propose to revert the commit ea25180 in the 3.10 and main branches with this PR.

This change is not a simple revert, I made manual changes to make the commit as small as possible, but keep interesting changes of the reverted commit, and not regression in bugs at the Python finalization (clear Python objects in the correct order).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@pablogsal
pablogsal requested review from encukou and ericsnowcurrently January 5, 2022 17:43
ericsnowcurrently
ericsnowcurrently approved these changes Jan 5, 2022
View reviewed changes

@ericsnowcurrently ericsnowcurrently left a comment

Copy link
Copy Markdown
Member

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.

LGTM

FWIW, moving it to _PyRuntimeState instead of back to a static would make sense. However, in the interest of the release that can be dealt with separately.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting core review labels Jan 5, 2022
@vstinner
vstinner merged commit 35d6540 into python:main Jan 6, 2022
@bedevere-bot bedevere-bot removed the awaiting merge label Jan 6, 2022
@vstinner
vstinner deleted the revert_interned branch January 6, 2022 07:53
vstinner added a commit that referenced this pull request Jan 6, 2022
@vstinner
[3.10] bpo-46006: Revert "bpo-40521: Per-interpreter interned strings (…
72c260c
…GH-20085)" (GH-30422) (GH-30425)

This reverts commit ea25180.

Keep "assert(interned == NULL);" in _PyUnicode_Fini(), but only for
the main interpreter.

Keep _PyUnicode_ClearInterned() changes avoiding the creation of a
temporary Python list object.

Leave the PyInterpreterState structure unchanged to keep the ABI
backward compatibility with Python 3.10.0: rename the "interned"
member to "unused_interned".

(cherry picked from commit 35d6540)
@vstinner vstinner mentioned this pull request Apr 10, 2022
[subinterpreters] Make free lists and unicode caches per-interpreter #84701
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@ericsnowcurrently ericsnowcurrently ericsnowcurrently approved these changes
@markshannon markshannon Awaiting requested review from markshannon markshannon is a code owner
@encukou encukou Awaiting requested review from encukou

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@vstinner @ericsnowcurrently @the-knights-who-say-ni @bedevere-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.