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

Summarize all the EVM opcodes #2705

Open
Stevengre opened this issue Feb 13, 2025 · 2 comments
Open

Summarize all the EVM opcodes #2705

Stevengre opened this issue Feb 13, 2025 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@Stevengre
Copy link
Contributor

What is an opcode summary

For this opcode, the backend can rewrite one step to execute it. It could be several rules.

Why we need summaries

It's important to provide summaries for all EVM opcodes, because:

  1. prove semantics equivalence between different implementations.
  2. improve the performance for both interpretation and verification.
@Stevengre
Copy link
Contributor Author

Stevengre commented Feb 14, 2025

Remaining TODOs

  • summarize all the unpassed opcodes
  • refine specifications for better summary
  • provide a way to generate optimization.md automatically
  • evaluate the effectiveness of the summary

@Stevengre
Copy link
Contributor Author

Remaining Issues in the summary rules

  • The stack overflow check is in the ensures clause which will lead to ndbranches or unexpected branches.
  • We don't need the revert summary rules like EVMC_STACK_OVERFLOW.
  • We need a better rule name for the summary rules, like XX-SUMMARY-USEGAS and XX-SUMMARY-NOGAS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant