-
Notifications
You must be signed in to change notification settings - Fork 149
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
Typed exceptions #187
Typed exceptions #187
Conversation
VMTests disabled because: ethereum/tests#444 |
7ce0f31
to
acdfbb9
Compare
@dwightguth should be ready for review. The failing proofs are because the proof submodule has not been updated, doing that now but they should go through fine once that's done. |
cd8f97d
to
f74bad3
Compare
a9f4747
to
2753176
Compare
Jenkins: test mantis |
c47f1a8
to
5af1a7c
Compare
Jenkins: test this please |
Jenkins: test mantis |
Jenkins: test this please |
5af1a7c
to
80e73f5
Compare
@dwightguth ready for review. @pirapira you may also be interested, this PR adds typed exceptions to KEVM, see file |
80e73f5
to
4871723
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.
looks good but there's one minor thing you should fix before you merge.
network.md
Outdated
- `EVMC_BAD_JUMP_DESTINATION` indicates a `JUMP*` to a non-`JUMPDEST` location. | ||
- `EVMC_STACK_OVERFLOW` indicates pushing more than 1024 elements onto the wordstack. | ||
- `EVMC_STACK_UNDERFLOW` indicates popping elements off an empty wordstack. | ||
- `EVMC_CALL_DEPTH_EXCEDED` indicates that we have executed too deeply a nested sequence of `CALL*` or `CREATE` opcodes. |
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.
pretty sure exceeded has two es.
4871723
to
abc14fa
Compare
…eption, sets `statusCode`
…end => #halt, remove Exception Now instead of using #revert, #end, or #exception, using #end_ to set the status code as well. Code `#halt` is named different than `#end` so that people must explicitely decide not to set the status code if they want to #end.
Jenkins: test this please |
Simplest steps towards typed exceptions, makes refactoring the control flow simpler.