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

Build OpCode analyzer #11

Open
4 tasks
Scooletz opened this issue Oct 25, 2023 · 0 comments
Open
4 tasks

Build OpCode analyzer #11

Scooletz opened this issue Oct 25, 2023 · 0 comments
Assignees

Comments

@Scooletz
Copy link
Contributor

Scooletz commented Oct 25, 2023

Build an analyzer that walks through the opcodes of the given contract and analyzes it and finds chunks of opcodes that match a sequence that is ILed and known to be optimized. That would result in creation of ILInfo for the given byte code.

The decision whether or when the given CodeInfo should be a subject of analysis would be left for later.

Plan of Action

  • create IlInfo component that is constructed from the byte code
  • make IlInfo dense and small, for example (ushort[] pcs, byte[] iledMethods) for storing all the data
  • add HasOverride(int pc) and the delegating method
  • the analysis, it would be great if it was fast and single pass. We could consider storing sequences of opcodes that are optimized in a Trie or other approach that would allow to track multiple sequences (starting from PC_i it can be one sequence, but PC_i+1 can start another one) etc. Still in the initial phase, as the analysis will be done asynchronously, we can make it work first and then optimize
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants