| [ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
10.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 February 3, 2012 using texi2html 5.0.
