Skip to main content

Module bytecode

Module bytecode 

Source
Expand description

Bytecode Traits Module Bytecode Traits

Abstract translating state into bytecode.

Structs§

AssertPcPlaceholderData
Data for an __ASSERT_PC placeholder This placeholder generates no bytecode but validates the PC during bytecode generation
Bytecode
Full Bytecode
BytecodeRes
Result type for huff_codegen’s recurse_bytecode
BytecodeSegment
A segment of bytecode with its offset
BytecodeSegments
Collection of bytecode segments with helper methods
CircularCodesizePlaceholderData
Data for a circular codesize placeholder
IRBytecode
Full Intermediate Bytecode Representation
IRBytes
Intermediate Bytecode Representation
Jump
A Jump
JumpPlaceholderData
Data for a jump placeholder that needs label resolution
ScopedLabel
Scoped label information
ScopedLabelIndices
Scoped label indices that track labels with their scope information

Enums§

Bytes
Bytecode with different types for placeholders
IRByteType
IRBytes Type
LabelError
Error type for label operations
PushOpcode
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
ToIRBytecode
ToIRBytecode

Type Aliases§

JumpTable
Type for a map of bytecode indexes to Jumps. Represents a Jump Table.
Jumps
Type for a vec of Jumps
LabelIndices
Type to map Jump labels to their bytecode indices (for backward compatibility)