-
Notifications
You must be signed in to change notification settings - Fork 1
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
[WIP] Implementation of EOF static relative jumps and functions #1
base: master
Are you sure you want to change the base?
Conversation
…resent the new functionality environment
* store pc for all instructions * calculate offsets for RJUMP and emit bytecode
* add JUMPF and CALLF output * throw exception when unknown opcode encountered to avoid the cryptic "KeyError" exception
@@ -26,6 +26,7 @@ | |||
"berlin": 3, | |||
"paris": 4, | |||
"shanghai": 5, |
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.
shanghai
is not needed anymore I think, as we are introducing it in this PR.
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.
What is the proper way to handle this here? Should I skip shanghai completely? I was worried it might cause problems somewhere else. For example the --evm-version parameter will not accept it anymore (not that it changes anything). If other forks are missing I guess it's totally ok to remove it.
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.
@charles-cooper I think mentioned it's fine if we don't have all forks defined here.
!!!This is WIP!!!
What I did
RJUMP
,RJUMPI
,JUMPF
,CALLF
,RETF
JUMPF
PC
CALLF
, andRETF
operate on the new execution stack automaticallyCALLF
What is next
label
,goto
,exit_to
and possibly add acall
andreturn
node to make it for cleaner, more understandable code.