GraalvmHostFunctionInstaller
Emscripten / WASI Preview 1 module installer.
This class is responsible for installing Emscripten and WASI Preview 1 host functions. It prepares the environment and installs WebAssembly modules with the Emscripten env host functions and WASI Preview 1 host functions into the GraalVM context.
To create a new instance, use either GraalvmHostFunctionInstaller() or Builder.
Usage example:
// Setup host
val embedderHost = EmbeddeerHost {
…
}
// Setup modules
val installer = GraalvmHostFunctionInstaller(context) {
host = embedderHost
…
}
installer.setupWasiPreview1Module()
val emscriptenInstaller = installer.setupEmscriptenFunctions()
// Evaluate the WebAssembly module
context.eval(source)
// Finish initialization after module instantiation
emscriptenInstaller.finalize(moduleName).use { emscriptenEnv ->
// Initialize Emscripten runtime environment
emscriptenEnv.emscriptenRuntime.initMainThread()
// Execute code
run(context)
}
Content copied to clipboard
Functions
Link copied to clipboard
fun setupEmscriptenFunctions(moduleName: String = ENV_MODULE_NAME, memory: MemorySource = ExportedMemory(spec = DEFAULT_MEMORY_SPEC)): GraalvmHostFunctionInstaller.GraalvmEmscriptenFinalizer
Link copied to clipboard
fun setupWasiPreview1Module(moduleName: String = WASI_SNAPSHOT_PREVIEW1_MODULE_NAME, memory: MemorySource.ImportedMemory? = ImportedMemory())