[issue45233] Allow split key dictionaries with values owned by other objects.

2021-09-21 Thread Mark Shannon
Mark Shannon added the comment: Experiments show that using `stride` just makes the code more complex, `dk_kind` is sufficient. We will still need ownership flags for split dicts, though. A single flag may suffice. -- ___ Python tracker

[issue45233] Allow split key dictionaries with values owned by other objects.

2021-09-17 Thread Mark Shannon
Mark Shannon added the comment: An alternative placement for the flag bits: Stride bits in the dictkeys. Ownership bits in the low bits of ma_used. This would still allow us to remove the version tag at some point. -- ___ Python tracker

[issue45233] Allow split key dictionaries with values owned by other objects.

2021-09-17 Thread Mark Shannon
New submission from Mark Shannon : Currently, if a dictionary is split, then the dictionary owns the memory for the values. Unless the values is the unique empty-values array. In order to support lazily created dictionaries for objects (see https://github.com/faster-cpython/ideas/issues/72#is