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

Remove statements with not reliable libfunc #96

Merged
merged 1 commit into from
Nov 21, 2024
Merged

Remove statements with not reliable libfunc #96

merged 1 commit into from
Nov 21, 2024

Conversation

ksew1
Copy link
Member

@ksew1 ksew1 commented Nov 21, 2024

Closes #

Introduced changes

  • Remove statements with unreliable libfuncs. These are libfuncs that are meaningful only at the Sierra level (no cost at CASM) level, and sometimes the VM does not execute them.

Checklist

  • Linked relevant issue
  • Updated relevant documentation
  • Added relevant tests
  • Performed self-review of the code
  • Added changes to CHANGELOG.md

@ksew1 ksew1 requested a review from THenry14 November 21, 2024 13:23
@ksew1 ksew1 merged commit e30ee39 into main Nov 21, 2024
5 checks passed
@ksew1 ksew1 deleted the bug-fixes branch November 21, 2024 14:05
Copy link

@piotmag769 piotmag769 left a 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",

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?

Copy link
Member Author

@ksew1 ksew1 Nov 22, 2024

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ksew1
Copy link
Member Author

ksew1 commented Nov 22, 2024

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"?

Yep my bad. Should be "libfuncs that are meaningful only at the Sierra level (no cost at CASM)" corrected

@piotmag769
Copy link

and sometimes the VM does not execute them.

[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

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.

3 participants