Thanks to visit codestin.com
Credit goes to github.com

Skip to content

gh-104909: Make LOAD_ATTR_PROPERTY a viable uop #110560

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

Closed
wants to merge 3 commits into from

Conversation

gvanrossum
Copy link
Member

@gvanrossum gvanrossum commented Oct 9, 2023

There are severe problems here.

LOAD_ATTR_PROPERTY takes a func_version cache entry an an fget cache entry, which need to be cross-checked (fget->func_version == func_version) but a single uop cannot reference two cache entries.

The immediate fix (after rearranging the cache entries) is to load fget onto the stack. However, this isn't safe, because it will break when DEOPT_IF() jumps back to the unspecialized opcode (since the stack is different).

Moreover, I needed to disable two assertions from the code generator. It's possible there's a better way, but I'd have to think, and it's not worth it unless we solve the other problem.

This draft PR just exists to find out what else CI finds.

@gvanrossum gvanrossum force-pushed the load-attr-uops branch 2 times, most recently from 2deceef to 067b489 Compare November 1, 2023 22:59
@gvanrossum gvanrossum changed the title DRAFT: Load attr uops gh-104909: Make LOAD_ATTR_PROPERTY a viable uop Nov 18, 2023
@gvanrossum
Copy link
Member Author

Alas, this will go nowhere. (See issue.)

@gvanrossum gvanrossum closed this Nov 18, 2023
@gvanrossum gvanrossum deleted the load-attr-uops branch February 22, 2024 00:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant