Skip to main content

Module jit_array

Module jit_array 

Source
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_mark field 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.

Enums§

ArrayElementKind

Constants§

CAP_OFFSET
DATA_OFFSET
ELEMENT_KIND_OFFSET
LEN_OFFSET
TYPED_DATA_OFFSET