-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
bpo-44337: Port LOAD_ATTR to PEP 659 adaptive interpreter #26595
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
bpo-44337: Port LOAD_ATTR to PEP 659 adaptive interpreter #26595
Conversation
… in dictionary when specializing.
🤖 New build scheduled with the buildbot fleet by @markshannon for commit f9e999c 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
🤖 New build scheduled with the buildbot fleet by @markshannon for commit b07f219 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 6d9ef8d 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
@markshannon You may want to check out https://bugs.python.org/msg395432 . This shows that the ASAN failures are not false positives as there is obviously something corrupted and we are reading that memory. |
Hopefully #26626 will fix the address sanitizer failures |
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 41cb98f 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
DEOPT_IF(res == NULL, LOAD_ATTR); | ||
STAT_INC(loadattr_hit); | ||
record_cache_hit(cache0); | ||
STAT_INC(loadattr_hit); |
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.
Just casually reading through some of the code, it looks like the STAT_INC(loadattr_hit);
is duplicated here (see two lines up).
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.
Thanks Carl. #26718
Implements four specializations of
LOAD_ATTR
:LOAD_ATTR_SLOT
for slots.LOAD_ATTR_SPLIT_KEYS
for attributes in instance dictionaries that have split keys.LOAD_ATTR_HINT
for attributes in instance dictionaries that do not have split keys.LOAD_ATTR_MODULE
for module attributesThere are more specializations of
LOAD_ATTR
that we want to implement, but this PR is large enough already.https://bugs.python.org/issue44337