-
Notifications
You must be signed in to change notification settings - Fork 3
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
Remove statements with not reliable libfunc #96
Conversation
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.
These are libfuncs that are meaningful only at the CASM level, and sometimes the VM does not execute them.
Wdym by that? Looking at the libfuncs you selected like drop
, didn't you mean "meaningful only at Sierra level"?
"enum_init", | ||
"struct_construct", | ||
"store_temp", | ||
"return", |
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.
One Sierra return should map to one CASM return, no? How is that libfunc not reliable?
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.
Correct me if I'm wrong, but it's because it has no cost. The libfunc that has no cost seems (sometimes?) not to be executed. It needs more investigation definitely in #98
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.
It has a cost at CASM level https://docs.cairo-lang.org/how_cairo_works/functions.html#under-the-hood
Yep my bad. Should be "libfuncs that are meaningful only at the Sierra level (no cost at CASM)" corrected |
[nit] since they are Sierra libfuncs, VM doesn't execute them. You can say that they don't have a corresponding instruction at CASM lvl or sth |
Closes #
Introduced changes
Checklist
CHANGELOG.md