miden_objects::assembly

Module mast

Source

Structs§

BasicBlockNode
Block for a linear sequence of operations (i.e., no branching or loops).
CallNode
A Call node describes a function call such that the callee is executed in a different execution context from the currently executing code.
DecoratorId
An opaque handle to a Decorator in some MastForest. It is the responsibility of the user to use a given DecoratorId with the corresponding MastForest.
DynNode
A Dyn node specifies that the node to be executed next is defined dynamically via the stack.
ExternalNode
Node for referencing procedures not present in a given MastForest (hence “external”).
JoinNode
A Join node describe sequential execution. When the VM encounters a Join node, it executes the first child first and the second child second.
LoopNode
A Loop node defines condition-controlled iterative execution. When the VM encounters a Loop node, it will keep executing the body of the loop as long as the top of the stack is `1``.
MastForest
Represents one or more procedures, represented as a collection of MastNodes.
MastForestRootMap
A mapping for the new location of the roots of a MastForest after a merge.
MastNodeFingerprint
Represents the hash used to test for equality between MastNodes.
MastNodeId
An opaque handle to a MastNode in some MastForest. It is the responsibility of the user to use a given MastNodeId with the corresponding MastForest.
OpBatch
A batch of operations in a span block.
SplitNode
A Split node defines conditional execution. When the VM encounters a Split node it executes either the on_true child or on_false child.

Enums§

MastForestError
Represents the types of errors that can occur when dealing with MAST forest.
MastNode
OperationOrDecorator
Encodes either an Operation or a crate::Decorator.

Constants§

OP_BATCH_SIZE
Maximum number of groups per batch.
OP_GROUP_SIZE
Maximum number of operations per group.

Type Aliases§

DecoratorFingerprint