[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
9.3.6.13 Inlined Bytevector Instructions
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.
As in the previous section, the definitions below show stack parameters instead of instruction stream parameters.
The multibyte formats (u16
, f64
, etc) take an extra
endianness argument. Only aligned native accesses are currently
fast-pathed in Guile’s VM.
- Instruction: bv-u8-ref bv n
- Instruction: bv-s8-ref bv n
- Instruction: bv-u16-native-ref bv n
- Instruction: bv-s16-native-ref bv n
- Instruction: bv-u32-native-ref bv n
- Instruction: bv-s32-native-ref bv n
- Instruction: bv-u64-native-ref bv n
- Instruction: bv-s64-native-ref bv n
- Instruction: bv-f32-native-ref bv n
- Instruction: bv-f64-native-ref bv n
- Instruction: bv-u16-ref bv n endianness
- Instruction: bv-s16-ref bv n endianness
- Instruction: bv-u32-ref bv n endianness
- Instruction: bv-s32-ref bv n endianness
- Instruction: bv-u64-ref bv n endianness
- Instruction: bv-s64-ref bv n endianness
- Instruction: bv-f32-ref bv n endianness
- Instruction: bv-f64-ref bv n endianness
- Instruction: bv-u8-set bv n val
- Instruction: bv-s8-set bv n val
- Instruction: bv-u16-native-set bv n val
- Instruction: bv-s16-native-set bv n val
- Instruction: bv-u32-native-set bv n val
- Instruction: bv-s32-native-set bv n val
- Instruction: bv-u64-native-set bv n val
- Instruction: bv-s64-native-set bv n val
- Instruction: bv-f32-native-set bv n val
- Instruction: bv-f64-native-set bv n val
- Instruction: bv-u16-set bv n val endianness
- Instruction: bv-s16-set bv n val endianness
- Instruction: bv-u32-set bv n val endianness
- Instruction: bv-s32-set bv n val endianness
- Instruction: bv-u64-set bv n val endianness
- Instruction: bv-s64-set bv n val endianness
- Instruction: bv-f32-set bv n val endianness
- Instruction: bv-f64-set bv n val endianness
Inlined implementations of the corresponding bytevector operations.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on April 20, 2013 using texi2html 5.0.