silk.platform.wasm.support.
The C library of every wasm32 executable: the heap entry points, the byte routines, the 128-bit multiply, the floating remainder and the fused multiply-add.
When to use#
The standard library's catalog names this module as the wasm32 targets' support module, so
every wasm32 executable links its C exports, whatever its runtime. Sealed core storage and
LLVM's lowering call malloc, free, memcpy, __multi3, fmod, fma and the rest, and
WebAssembly has no libc or compiler-rt to supply them. Applications do not call these functions.
Details#
The heap functions forward to WasmHeap. LLVM expands its own copies and fills into
memory.copy and memory.fill, so the byte routines serve only calls by name: an unoptimized
build's sealed storage calls. memmove handles overlapping ranges, so it implements memcpy
too.
Gotchas#
These C exports are link symbols only: unlike other C exports on WebAssembly, the module does not export them to its host.
Public declarations: 0.
This module declares no public items.
Category: Native platform.
Profiles: aarch64-apple-darwin, aarch64-unknown-linux-gnu, aarch64-unknown-linux-gnu-no-libc, x86_64-unknown-linux-gnu, x86_64-unknown-linux-gnu-no-libc, x86_64-pc-windows-msvc.