-
Notifications
You must be signed in to change notification settings - Fork 39
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
Add non jumpdests #36
Conversation
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'm not sure that the test coverage is complete for this PR. Do you plan to add more tests in a different PR? Or…?
evm_arithmetization/src/cpu/kernel/asm/core/jumpdest_analysis.asm
Outdated
Show resolved
Hide resolved
evm_arithmetization/src/cpu/kernel/asm/core/jumpdest_analysis.asm
Outdated
Show resolved
Hide resolved
I actually forgot to add this test and I discovered some small bugs. Thanks! |
Co-authored-by: David <[email protected]>
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.
Not an actual review, but because this touches the jumpdest analysis logic, could you address the comment of the previous PR that got forgotten? 😅
log::debug!("jdt = {:?}", interpreter.jumpdest_table);
Move it to log::trace!
and not abbreviate jdt
for clarity. Thanks!
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, thanks!
evm_arithmetization/src/cpu/kernel/asm/core/jumpdest_analysis.asm
Outdated
Show resolved
Hide resolved
Fixed proof gen debug script not forcing `1` worker
This PR adds an extra verification to
invalid_jump_jumpi_destination_common
that verifies that the jump destination is indeed not a jumpdest. This is done by non-deterministically guessing the closest previous opcode and verifying that after callingwrite_table_if_jumpdest
, the corresponding bit in@SEGMENT_JUMPDEST_BITS
is still 0.Closes #27.