Expand description
Native JIT array with guaranteed C-compatible layout.
Replaces Box<Vec<u64>> for all JIT array operations, giving us:
- Guaranteed memory layout — offsets are ABI-stable, no
repr(Rust)surprises - Zero-FFI array access — inline AND + 2 LOADs instead of calling
jit_array_info - Typed element tracking — optional kind + side-buffer for strict numeric/bool fast paths
- GC-ready — can add
gc_markfield when needed
Memory layout (#[repr(C)], all offsets guaranteed):
offset 0: data — *mut u64 (boxed element buffer)
offset 8: len — u64 (number of elements)
offset 16: cap — u64 (allocated capacity)
offset 24: typed_data — *mut u64 (raw typed payload mirror, optional)
offset 32: element_kind — u8 (ArrayElementKind tag)Structs§
- JitArray
- Native JIT array with guaranteed C-compatible layout.