-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
eof: Support functions (CALLF
, RETF
, JUMPF
)
#15550
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
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
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.