Skip to main content

slot_to_serializable

Function slot_to_serializable 

Source
pub fn slot_to_serializable(
    bits: u64,
    kind: NativeKind,
    _store: &SnapshotStore,
) -> Result<SerializableVMValue, String>
Expand description

Project a (bits, kind) slot pair into its SerializableVMValue arm.

Per ADR-006 §2.7.5.1: scalar kinds project from raw u64 bits via the canonical sign-extension / bitcast rules; heap kinds (Ptr(HeapKind::*)) recover their typed Arc<T> via ValueSlot::from_raw(bits).as_heap_value()

  • HeapValue::* match, then serialize per-arm. Heap kinds whose deep payload requires the Arc<HeapValue> generic serializer shape (§2.7.5.1 forbidden) project to their opaque-stub arm instead.

The _store parameter is reserved for chunked-blob arms that off-line large payloads (DataTable IPC, TypedArray binary). Scalar

  • simple-heap arms do not touch the store.