Module netsblox_vm::process

source ·
Expand description

ByteCode execution utilities.

Because the NetsBlox runtime allows for the creation of cycles, all program-accessible objects must be garbage collected. To do this, we use the gc-arena crate, which allows a simple and correct mechanism for provably disjoint garbage collected runtime environments. However, gc-arena makes this guarantee by forbidding garbage collected objects from leaving the arena. Thus, many types in this module, such as Value and Process, are branded with an invariant 'gc lifetime and can only be access by callback. Some utilities are provided to export these values from the runtime environment if needed.

Structs

Enums