Expand description
Raw functions which are actually called from compiled code.
Invocation of a builtin currently looks like:
- A wasm function calls a cranelift-compiled trampoline that’s generated once-per-builtin.
- The cranelift-compiled trampoline performs any necessary actions to exit wasm, such as dealing with fp/pc/etc.
- The cranelift-compiled trampoline loads a function pointer from an array
stored in
VMContext
That function pointer is defined in this module. - This module runs, handling things like
catch_unwind
andResult
and such. - This module delegates to the outer module (this file) which has the actual implementation.
Functions§
- check_
free ⚠ - check_
load ⚠ - check_
malloc ⚠ - check_
store ⚠ - data_
drop ⚠ - drop_
gc_ ⚠ref - elem_
drop ⚠ - free_
start ⚠ - gc⚠
- gc_
ref_ ⚠global_ get - gc_
ref_ ⚠global_ set - malloc_
start ⚠ - memory32_
grow ⚠ - memory_
atomic_ ⚠notify - memory_
atomic_ ⚠wait32 - memory_
atomic_ ⚠wait64 - memory_
copy ⚠ - memory_
fill ⚠ - memory_
init ⚠ - new_
epoch ⚠ - out_
of_ ⚠gas - ref_
func ⚠ - table_
copy ⚠ - table_
fill_ ⚠func_ ref - table_
fill_ ⚠gc_ ref - table_
get_ ⚠lazy_ init_ func_ ref - table_
grow_ ⚠func_ ref - table_
grow_ ⚠gc_ ref - table_
init ⚠ - update_
mem_ ⚠size - update_
stack_ ⚠pointer