Skip to content
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

corrections for issue 3 #3

Open
mraleph opened this issue Sep 10, 2021 · 2 comments
Open

corrections for issue 3 #3

mraleph opened this issue Sep 10, 2021 · 2 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@mraleph
Copy link
Collaborator

mraleph commented Sep 10, 2021

The section for loops over variable iterables misinterprets the meaning of call qword [rax+rcx*8+0x60], this is how interface calls work in the code produced by Dart AOT compiler. We use an approach called "global dispatch table". In the sequence above rax would be a pointer to the dispatch table, rcx would be class id of the receiver object and 0x60 is a selector id (which determines which virtual method we are looking up).

Based on the call sequence I'd say this is an invocation of get current on the iterator object which is implicitly created by the for-in loops.

@vandadnp
Copy link
Owner

Hi @mraleph and thank you so much for chiming in with such detailed and authentic information. I'm really thankful for this and what an honor.

That's great to know, I would love to update that text and write a better description. Do you have any suggestions as to how I should phrase that description? If not, I could send my suggestion for your review?

Thank you again
/v

@vandadnp vandadnp self-assigned this Sep 10, 2021
@vandadnp vandadnp added the documentation Improvements or additions to documentation label Sep 10, 2021
@mraleph
Copy link
Collaborator Author

mraleph commented Sep 11, 2021

Feel free to send me the new phrasing for review - I will be happy to take a look. I don't use my computer so much so I can only guarantee to look at it on Monday

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants