Skip to main content

jit_v2_array_push

Function jit_v2_array_push 

Source
#[unsafe(no_mangle)]
pub extern "C" fn jit_v2_array_push( arr: *mut HeapHeader, bits: u64, elem_size: u8, )
Expand description

Generic typed-array push dispatcher (R7.2).

Accepts an erased typed-array pointer, the element’s bit pattern zero/sign- extended to 64 bits, and the element’s byte size. Dispatches to the matching TypedArray<T>::push instantiation by elem_size.

TypedArray<T> has identical struct layout regardless of T (the T only appears behind a *mut T), and Layout::array::<T> is identical for types of the same size & alignment, so routing 8-byte pushes through TypedArray<i64> is byte-equivalent to going through TypedArray<f64>.

§Safety

arr must point to a live TypedArray<T> whose element type has size elem_size (1, 4, or 8). bits must contain the value to store in the low elem_size bytes.