Crate zingen

Source
Expand description

Code generation library for zink.

Modules§

asm πŸ”’
Low level assembler implementation for EVM.
backtrace πŸ”’
Backtrace support for the code generation.
codegen πŸ”’
Code generators
control πŸ”’
Data structures for control flow emission.
jump πŸ”’
Jump table implementation.
local πŸ”’
WASM local slot.
masm πŸ”’
MacroAssembler used by the code generation.
result πŸ”’
Codegen results
validator πŸ”’
Pre-visitor for parsing WASM.
visitor πŸ”’
This module is the central place for machine code emission.
wasm
WASM related primitives.

Structs§

Assembler
Low level assembler implementation for EVM.
Code
Code section for EVM.
Constructor
Contract constructor.
ControlStack
The control stack.
ControlStackFrame
Holds the necessary metadata to support the smission of control flow instructions.
Dispatcher
Code generator for EVM dispatcher.
Function
The code generation abstraction.
JumpTable
Jump table implementation.
LocalSlot
A local slot.
Locals
Solidity’s implementation uses 16 slots for locals. ref: https://docs.soliditylang.org/en/v0.8.20/internals/optimizer.html#stackcompressor
MacroAssembler
EVM MacroAssembler.

Enums§

ControlStackFrameType
The type of the control stack frame.
Error
Codegen error

Constants§

BUFFER_LIMIT
Maximum size of a evm bytecode in bytes.

Type Aliases§

Buffer
Code generation buffer.
InitStorage
Initial storage of contracts
Result
Codegen result