Expand description
Bytecode Traits Module Bytecode Traits
Abstract translating state into bytecode.
Structs§
- Assert
PcPlaceholder Data - Data for an __ASSERT_PC placeholder This placeholder generates no bytecode but validates the PC during bytecode generation
- Bytecode
- Full Bytecode
- Bytecode
Res - Result type for huff_codegen’s
recurse_bytecode - Bytecode
Segment - A segment of bytecode with its offset
- Bytecode
Segments - Collection of bytecode segments with helper methods
- Circular
Codesize Placeholder Data - Data for a circular codesize placeholder
- IRBytecode
- Full Intermediate Bytecode Representation
- IRBytes
- Intermediate Bytecode Representation
- Jump
- A Jump
- Jump
Placeholder Data - Data for a jump placeholder that needs label resolution
- Scoped
Label - Scoped label information
- Scoped
Label Indices - Scoped label indices that track labels with their scope information
Enums§
- Bytes
- Bytecode with different types for placeholders
- IRByte
Type - IRBytes Type
- Label
Error - Error type for label operations
- Push
Opcode - Push opcode for jump instructions
Constants§
- ARGS_
START_ PLACEHOLDER - The bytecode of
__argsstart()until the layout is known: a PUSH2 whose value the compiler fills in. Its value is not hex, so it cannot be mistaken for code or for a jump placeholder.
Traits§
- ToBytecode
- ToBytecode
- ToIR
Bytecode - ToIRBytecode
Type Aliases§
- Jump
Table - Type for a map of bytecode indexes to
Jumps. Represents a Jump Table. - Jumps
- Type for a vec of
Jumps - Label
Indices - Type to map
Jumplabels to their bytecode indices (for backward compatibility)