0xPolygonZero / erigon

Ethereum implementation on the efficiency frontier
GNU Lesser General Public License v3.0
0 stars 4 forks source link

Collect transaction jumps #1

Closed 4l0n50 closed 1 month ago

4l0n50 commented 8 months ago

Rationale

In order to improve the performance of jumpdest analysis during plonky2 evm witness generation, it is necessary to provide the list of all jump destinations with their respective contexts.

Implementation

It should involve storing the top of the stack when the program counter points to a JUMP, or storing the element below the top of the stack if the top of the stack is not equal to zero in a JUMPI, along with the current context.

Nashtare commented 3 months ago

Hey @cffls! Friendly ping on this issue, do you think this is something we could see coming in the coming weeks? It'd be really nice if the prover didn't have to do all the JD analysis work on its own 🙂

cffls commented 3 months ago

Hey @4l0n50 @Nashtare , this is something not traced in opcode tracer? If we want to include this in zero tracer, the trace output format might need to change quite a bit.

Nashtare commented 1 month ago

Moved to https://github.com/0xPolygonZero/zk_evm/issues/290.