package wax-lib
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Libraries for Wax, a Rust-like syntax for WebAssembly
Install
dune-project
Dependency
Authors
Maintainers
Sources
wax-v0.2.0.tbz
sha256=4361e1324b7754a4c08ab5b505df32061f3ce0cea60443fd0d3699e0fa796b32
sha512=fcc756d2f160ba90a9aa1131f2ab22ed7f45466ccd658c21cf9df6868a6aab0cee7f404719d698a379958802f9820398f2fe0685ecc4dda018ca4f653294e39b
doc/wax-lib.wasm/Wax_wasm/Ast/Binary/index.html
Module Ast.BinarySource
include sig ... end
Source
type functype = Make_types(X).functype = {params : valtype opt_annotated_array;results : valtype array;
}Source
type comptype = Make_types(X).comptype = | Func of functype| Struct of fieldtype annotated_array| Array of fieldtype| Cont of idx
include sig ... end
Source
type nonrec float_un_op = float_un_op = | Neg| Abs| Ceil| Floor| Trunc| Nearest| Sqrt| Convert of [ `I32 | `I64 ] * signage| Reinterpret
Source
type nonrec vec_un_op = vec_un_op = | VecNeg of vec_shape| VecAbs of vec_shape| VecSqrt of [ `F32 | `F64 ]| VecNot| VecTruncSat of [ `F32 | `F64 ] * signage| VecConvert of [ `F32 | `F64 ] * signage| VecExtend of [ `High | `Low ] * [ `_16 | `_32 | `_8 ] * signage| VecPromote| VecDemote| VecCeil of [ `F32 | `F64 ]| VecFloor of [ `F32 | `F64 ]| VecTrunc of [ `F32 | `F64 ]| VecNearest of [ `F32 | `F64 ]| VecPopcnt| VecExtAddPairwise of signage * [ `I16 | `I8 ]| VecRelaxedTrunc of signage| VecRelaxedTruncZero of signage
Source
type nonrec vec_bin_op = vec_bin_op = | VecAdd of vec_shape| VecSub of vec_shape| VecMul of vec_shape| VecDiv of [ `F32 | `F64 ]| VecMin of signage option * vec_shape| VecMax of signage option * vec_shape| VecPMin of [ `F32 | `F64 ]| VecPMax of [ `F32 | `F64 ]| VecAvgr of [ `I16 | `I8 ]| VecQ15MulrSat| VecAddSat of signage * [ `I16 | `I8 ]| VecSubSat of signage * [ `I16 | `I8 ]| VecDot| VecEq of vec_shape| VecNe of vec_shape| VecLt of signage option * vec_shape| VecGt of signage option * vec_shape| VecLe of signage option * vec_shape| VecGe of signage option * vec_shape| VecAnd| VecOr| VecXor| VecAndNot| VecNarrow of signage * [ `I16 | `I8 ]| VecSwizzle| VecExtMulLow of signage * [ `_16 | `_32 | `_8 ]| VecExtMulHigh of signage * [ `_16 | `_32 | `_8 ]| VecRelaxedSwizzle| VecRelaxedMin of vec_shape| VecRelaxedMax of vec_shape| VecRelaxedQ15Mulr| VecRelaxedDot
Source
type nonrec vec_tern_op = vec_tern_op = | VecRelaxedMAdd of [ `F32 | `F64 ]| VecRelaxedNMAdd of [ `F32 | `F64 ]| VecRelaxedLaneSelect of vec_shape| VecRelaxedDotAdd
Source
type !'info instr_desc = | Block of {}| Loop of {}| If of {label : unit;typ : blocktype option;if_block : ('info instr list, location) annotated;else_block : ('info instr list, location) annotated;
}| TryTable of {label : unit;typ : blocktype option;catches : catch list;block : ('info instr list, location) annotated;
}| Try of {label : unit;typ : blocktype option;block : ('info instr list, location) annotated;catches : (idx * ('info instr list, location) annotated) list;catch_all : ('info instr list, location) annotated option;
}| Unreachable| Nop| Throw of idx| ThrowRef| ContNew of idx| ContBind of idx * idx| Suspend of idx| Resume of idx * on_clause list| ResumeThrow of idx * idx * on_clause list| ResumeThrowRef of idx * on_clause list| Switch of idx * idx| Br of idx| Br_if of idx| Br_table of idx list * idx| Br_on_null of idx| Br_on_non_null of idx| Br_on_cast of idx * Make_types(X).reftype * Make_types(X).reftype| Br_on_cast_fail of idx * Make_types(X).reftype * Make_types(X).reftype| Br_on_cast_desc_eq of idx * Make_types(X).reftype * Make_types(X).reftype| Br_on_cast_desc_eq_fail of idx * Make_types(X).reftype * Make_types(X).reftype| Return| Call of idx| CallRef of idx| CallIndirect of idx * typeuse| ReturnCall of idx| ReturnCallRef of idx| ReturnCallIndirect of idx * typeuse| Drop| Select of Make_types(X).valtype list option| LocalGet of idx| LocalSet of idx| LocalTee of idx| GlobalGet of idx| GlobalSet of idx| Load of idx * memarg * num_type| LoadS of idx * memarg * [ `I32 | `I64 ] * [ `I16 | `I32 | `I8 ] * signage| Store of idx * memarg * num_type| StoreS of idx * memarg * [ `I32 | `I64 ] * [ `I16 | `I32 | `I8 ]| Atomic of idx * atomicop * memarg| AtomicFence| MemorySize of idx| MemoryGrow of idx| MemoryFill of idx| MemoryCopy of idx * idx| MemoryInit of idx * idx| DataDrop of idx| TableGet of idx| TableSet of idx| TableSize of idx| TableGrow of idx| TableFill of idx| TableCopy of idx * idx| TableInit of idx * idx| ElemDrop of idx| RefNull of Make_types(X).heaptype| RefFunc of idx| RefIsNull| RefAsNonNull| RefEq| RefTest of Make_types(X).reftype| RefCast of Make_types(X).reftype| RefCastDescEq of Make_types(X).reftype| RefGetDesc of idx| StructNew of idx| StructNewDefault of idx| StructNewDesc of idx| StructNewDefaultDesc of idx| StructGet of signage option * idx * idx| StructSet of idx * idx| ArrayNew of idx| ArrayNewDefault of idx| ArrayNewFixed of idx * Uint32.t| ArrayNewData of idx * idx| ArrayNewElem of idx * idx| ArrayGet of signage option * idx| ArraySet of idx| ArrayLen| ArrayFill of idx| ArrayCopy of idx * idx| ArrayInitData of idx * idx| ArrayInitElem of idx * idx| RefI31| I31Get of signage| Const of (Int32.t, Int64.t, Int32.t, float) op| BinOp of (int_bin_op, int_bin_op, float_bin_op, float_bin_op) op| UnOp of (int_un_op, int_un_op, float_un_op, float_un_op) op| Add128| Sub128| MulWide of signage| VecConst of string| VecUnOp of vec_un_op| VecBinOp of vec_bin_op| VecTest of vec_test_op| VecShift of vec_shift_op| VecBitmask of vec_bitmask_op| VecTernOp of vec_tern_op| VecBitselect| VecLoad of idx * vec_load_op * memarg| VecStore of idx * memarg| VecLoadLane of idx * [ `I16 | `I32 | `I64 | `I8 ] * memarg * int| VecStoreLane of idx * [ `I16 | `I32 | `I64 | `I8 ] * memarg * int| VecLoadSplat of idx * [ `I16 | `I32 | `I64 | `I8 ] * memarg| VecExtract of vec_shape * signage option * int| VecReplace of vec_shape * int| VecSplat of vec_shape| VecShuffle of string| I32WrapI64| I64ExtendI32 of signage| F32DemoteF64| F64PromoteF32| ExternConvertAny| AnyConvertExtern| Folded of 'info instr * 'info instr list| String of idx option * (string, location) annotated list| Char of Uchar.t| If_annotation of {cond : cond;then_body : ('info instr list, location) annotated;else_body : ('info instr list, location) annotated option;
}
Source
and !'info instr = {desc : 'info instr_desc;info : 'info;hints : idx Hints.t;(*The advisory
*)metadata.code.*metadata of this instruction (branch-hinting and compilation-hints proposals). A field rather than a wrapper node, so that the matches ondesc— which is nearly every match on an instruction — neither see it nor have to see through it.
}A synthesized instruction: no source location, no hints. The instruction counterpart of Ast.no_loc, which builds an annotated and so cannot serve a record that carries hints as well.
Source
type import_entry = | Single of import| Group1 of {module_ : string;items : (string * importdesc) list;
}| Group2 of {module_ : string;desc : importdesc;names : string list;
}
Source
type 'info code = {locals : valtype list;instrs : 'info instr list;loc : location;(*The defining function's source span; its
*)loc_endlocates the body's terminatingendopcode (closing brace) in a source map.dummy_locfor a function decoded from a binary.priority : Hints.priority option;(*compilation-hints: this function's
*)metadata.code.compilation_priorityentry.
}Source
type names = {module_ : string option;functions : name_map;locals : indirect_name_map;labels : indirect_name_map;types : name_map;fields : indirect_name_map;globals : name_map;tables : name_map;memories : name_map;data : name_map;elem : name_map;
}Source
type 'info module_ = {types : rectype list;imports : import_entry list;functions : idx list;tables : 'info table list;memories : limits list;globals : 'info global list;exports : export list;start : idx option;elem : 'info elem list;code : 'info code list;data : 'info data list;names : names;target_features : (char * string) list;
}A Wasm module in binary format.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>