Browse the docs

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.

View the source of this page