FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[mypyc] Track definedness of native int attributes using a bitmap by JukkaL · Pull Request #13532 · python/mypy · GitHub

Repository navigation

[mypyc] Track definedness of native int attributes using a bitmap - #13532

Merged
JukkaL merged 1 commit into
masterfrom
native-int-attr-3
Aug 31, 2022
Merged

JukkaL merged 1 commit into
masterfrom
native-int-attr-3

Conversation

JukkaL commented Aug 27, 2022

Copy link
Copy Markdown
Collaborator

Since native ints can't support a reserved value to mark an undefined
attribute, use a separate bitmap attribute (or attributes) to store
information about defined/undefined attributes with native int types.

The bitmap is only defined if we can't infer that an attribute is
always defined, and it's only needed for native int attributes.

We only access the bitmap if the runtime value of an attribute is
equal to the (overlapping) error value. This way the performance cost
of the bitmap is pretty low on average.

I'll add support for traits in a follow-up PR to keep this PR simple.

Work on mypyc/mypyc#837.

Since native ints can't support a reserved value to mark an undefined
attribute, use a separate bitmap attribute (or attributes) to store
information about defined/undefined attributes with native int types.

The bitmap is only defined if we can't infer that an attribute is
always defined, and it's only needed for native int attributes.

We only access the bitmap if the runtime value of an attribute is
equal to the (overlapping) error value. This way the performance cost
of the bitmap is pretty low on average.

I'll add support for traits in a follow-up PR to keep this PR simple.

Work on mypyc/mypyc#837.
JukkaL merged commit 9393fa1 into master Aug 31, 2022
JukkaL deleted the native-int-attr-3 branch August 31, 2022 16:24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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


Back | FazBrowse Home | New Git URL