parent
929ac564a5
commit
0409913a26
|
@ -26,7 +26,7 @@ impl ::std::ops::Deref for FuncRef {
|
|||
|
||||
/// Runtime representation of a function.
|
||||
///
|
||||
/// Functions are the unit of orgianization of code in WebAssembly. Each function takes a sequence of values
|
||||
/// Functions are the unit of organization of code in WebAssembly. Each function takes a sequence of values
|
||||
/// as parameters and either optionally return a value or trap.
|
||||
/// Functions can call other function including itself (i.e recursive calls are allowed) and imported functions
|
||||
/// (i.e functions defined in another module or by the host environment).
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
//! # Locals
|
||||
//!
|
||||
//! In a plain stack machine local variables and arguments live on the stack. Instead of
|
||||
//! accessing predifined locals slots in a plain stack machine locals are addressed relative
|
||||
//! accessing predefined locals slots in a plain stack machine locals are addressed relative
|
||||
//! to the current stack pointer. Because of this instead of taking an index of a local
|
||||
//! in {get,set,tee}_local operations, they take a relative depth as immediate. This works
|
||||
//! because at each instruction we always know the current stack height.
|
||||
|
@ -59,7 +59,7 @@
|
|||
//! # Differences from Wasm
|
||||
//!
|
||||
//! - There is no `nop` instruction.
|
||||
//! - All control flow strucutres are flattened to plain gotos.
|
||||
//! - All control flow structures are flattened to plain gotos.
|
||||
//! - Implicit returns via reaching function scope `End` are replaced with an explicit `return` instruction.
|
||||
//! - Locals live on the value stack now.
|
||||
//! - Load/store instructions doesn't take `align` parameter.
|
||||
|
|
|
@ -565,7 +565,7 @@ impl ModuleInstance {
|
|||
///
|
||||
/// - there are no export with a given name or this export is not a function,
|
||||
/// - given arguments doesn't match to function signature,
|
||||
/// - trap occured at the execution time,
|
||||
/// - trap occurred at the execution time,
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
|
@ -643,7 +643,7 @@ impl ModuleInstance {
|
|||
///
|
||||
/// You can still access not fully initialized instance by calling [`not_started_instance`],
|
||||
/// but keep in mind, that this is sort of escape hatch: module really might depend on initialization
|
||||
/// done in `start` function. It's definetely not recommended to call any exports on [`ModuleRef`]
|
||||
/// done in `start` function. It's definitely not recommended to call any exports on [`ModuleRef`]
|
||||
/// returned by this function.
|
||||
///
|
||||
/// If you sure, that there is no `start` function (e.g. because you created it without one), you can
|
||||
|
|
Loading…
Reference in New Issue