fork | group |
---|---|
Frontier |
Stack Memory Storage and Flow Operations |
Index 1 is top of the stack. See PUSH.
The program counter (PC) is a byte offset in the deployed code. It indicates which instruction will be executed next. When an ADD is executed, for example, the PC is incremented by 1, since the instruction is 1 byte. The PUSH instructions are bigger than one byte, and so will increment the counter accordingly.
The JUMP instruction alters the program counter, thus breaking the linear path of the execution to another point in the deployed code. It is used to implement functionalities like functions.
counter
: byte offset in the deployed code where execution will continue from. Must be a JUMPDEST instruction.
The state changes done by the current context are reverted in those cases:
- Not enough gas.
- Not enough values on the stack.
Counter
offset is not a JUMPDEST. The error is generated even if the JUMP would not have been done.