-
Notifications
You must be signed in to change notification settings - Fork 6.3k
eof: Support functions (CALLF, RETF, JUMPF)
#15550
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
Conversation
|
Thank you for your contribution to the Solidity compiler! A team member will follow up shortly. If you haven't read our contributing guidelines and our review checklist before, please do it now, this makes the reviewing process and accepting your contribution smoother. If you have any questions or need our help, feel free to post them in the PR or talk to us directly on the #solidity-dev channel on Matrix. |
19c3760 to
aa13c9c
Compare
fd78a06 to
8ceb5c4
Compare
8ceb5c4 to
9787050
Compare
436f00e to
e4ab717
Compare
cameel
left a comment
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 a few minor things from a quick pass over the PR.
libevmasm/Instruction.cpp
Outdated
| {Instruction::RETF, {"RETF", 0, 0, 0, true, Tier::Special}}, | ||
| {Instruction::CALLF, {"CALLF", 2, 0, 0, true, Tier::Special}}, | ||
| {Instruction::JUMPF, {"JUMPF", 2, 0, 0, true, Tier::Special}}, |
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 should get dedicated tiers too, to match execution specs.
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.
We should have it also for DATALOADN. https://github.com/ethereum/execution-specs/blob/eips/prague/eof/src/ethereum/prague/vm/gas.py#L78
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.
True. You could change that here or submit a separate PR to change that.
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.
BTW, one more thing that we should do for DATALOADN is hasInstruction(). And then it should be going into the branches that handle Operation in those AssemblyItem helpers that return various properties like number of returns.
9a5d5a1 to
0b94103
Compare
This comment was marked as resolved.
This comment was marked as resolved.
0b94103 to
0abfe7e
Compare
This comment was marked as resolved.
This comment was marked as resolved.
3f55fc7 to
d43a66a
Compare
182293d to
e4d974c
Compare
cameel
left a comment
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.
I pushed some final fixups a copy of the eof-functions branch to avoid adding more comments. If you don't have any objections, you can pull in the last commit and squash with yours. Then we're done.
Please rebase on develop, squash review comments and we can merge this.
The merge-base changed after approval.
e4d974c to
63d892c
Compare
…ubcontainers tests
63d892c to
363f3dd
Compare
Implement support for functions calls and returns for EOF.
Depends on: #15547.Merged.Depends on: #15595.Merged.