Skip to content
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

Further Improve JumpDestAnalysis (x20 improvement) #6554

Merged
merged 13 commits into from
Jan 18, 2024
Merged

Further Improve JumpDestAnalysis (x20 improvement) #6554

merged 13 commits into from
Jan 18, 2024

Conversation

benaadams
Copy link
Member

@benaadams benaadams commented Jan 17, 2024

Changes

  • Don't Keccak code on Create until it returns sucessfully and both account and cache are being updated (rather than always keccaking)
  • Cache code in Transation processor when inserting code
  • Change JumpDest Bitmap to 64bit
  • Accumulate the bits in register before writing on array element change
  • Use initcode in-place rather than .ToArraying a copy

Types of changes

What types of changes does your code introduce?

  • Bugfix (a non-breaking change that fixes an issue)
  • New feature (a non-breaking change that adds functionality)
  • Breaking change (a change that causes existing functionality not to work as expected)
  • Optimization
  • Refactoring
  • Documentation update
  • Build-related changes
  • Other: Description

Testing

Requires testing

  • Yes
  • No

If yes, did you write tests?

  • Yes
  • No

@benaadams benaadams changed the title Further Improve JumpDestAnalysis Further Improve JumpDestAnalysis (x20 improvement) Jan 18, 2024
Copy link
Member

@LukaszRozmej LukaszRozmej left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really great! Just few things to make it more maintainable.

@benaadams benaadams merged commit 4dda6d2 into master Jan 18, 2024
67 checks passed
@benaadams benaadams deleted the JumpDest branch January 18, 2024 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants