-
Notifications
You must be signed in to change notification settings - Fork 154
fix(tests/benchmark): update jump seq for valid dest #1710
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
21bb88d
to
09f9ca4
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.
This looks good to me, but CI is failing 😅
I've tried rebased for several times, but i will give it a try again. |
8e1c300
to
c2d8f01
Compare
Thanks @marioevz for explanation, we've checked the reason for the failing CI. There are two issues in the evmone coverage. 0 : state.status = EVMC_BAD_JUMP_DESTINATION;753
0 : return nullptr; This originates from the previous test case, since the code sequence will jump to an invalid destination.
This also originates from the previous test, it uses Since this PR intends to fix the issue in the ![]() |
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.
LGTM. Not sure why CI fails.
🗒️ Description
There is an issue with the original test case: the jump target is not a valid
JUMPDEST
operation.More details could be found in the discussion.
The updated version precomputes valid jump destinations to improve the density of
JUMP
operations.The repeated pattern is structured as follows:
The first
JUMPDEST
is at offset0x04
. Since each pattern occupies 5 bytes, subsequentJUMPDEST
locations can be calculated as4 + 5 * i
, where i is the pattern index. The total code size must remain within the allowed limit.🔗 Related Issues
✅ Checklist
mkdocs serve
locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.