Warning: This is the manual of the legacy Guile 2.2 series. You may want to read the manual of the current stable series instead.
Next: Unboxed Integer Arithmetic, Previous: Inlined Mathematical Instructions, Up: Instruction Set [Contents][Index]
Bytevector operations correspond closely to what the current hardware can do, so it makes sense to inline them to VM instructions, providing a clear path for eventual native compilation. Without this, Scheme programs would need other primitives for accessing raw bytes – but these primitives are as good as any.
Store the length of the bytevector in src in dst, as an unboxed unsigned 64-bit integer.
Fetch the item at byte offset idx in the bytevector src, and store it in dst. All accesses use native endianness.
The idx value should be an unboxed unsigned 64-bit integer.
The results are all written to the stack as unboxed values, either as signed 64-bit integers, unsigned 64-bit integers, or IEEE double floating point numbers.
Store src into the bytevector dst at byte offset idx. Multibyte values are written using native endianness.
The idx value should be an unboxed unsigned 64-bit integer.
The src values are all unboxed, either as signed 64-bit integers, unsigned 64-bit integers, or IEEE double floating point numbers.
Next: Unboxed Integer Arithmetic, Previous: Inlined Mathematical Instructions, Up: Instruction Set [Contents][Index]