writeWASIComponentMemoryStringRecord function
void
writeWASIComponentMemoryStringRecord(
- Memory memory,
- int pointer,
- WASIComponentMemoryString result
Writes a canonical (ptr, len) string record into memory.
Implementation
void writeWASIComponentMemoryStringRecord(
wasm.Memory memory,
int pointer,
WASIComponentMemoryString result,
) {
RangeError.checkNotNegative(pointer, 'pointer');
_checkAligned(pointer, _memoryStringRecordAlignment, 'pointer');
_checkU32(result.pointer, 'pointer value');
_checkU32(result.canonicalLength, 'length value');
final bytes = Uint8List.view(memory.buffer);
_checkMemoryRange(
bytes,
pointer,
_memoryStringRecordByteLength,
'pointer + 8',
);
final data = ByteData.view(memory.buffer);
data.setUint32(pointer, result.pointer, Endian.little);
data.setUint32(pointer + 4, result.canonicalLength, Endian.little);
}