@grain/binaryen.ml 0.9.1 → 0.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {binaryen-archive → binaryen-archive-v0.11.2}/.gitattributes +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/.gitignore +1 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/.gitmodules +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/CHANGELOG.md +73 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/LICENSE +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/README.md +27 -3
- {binaryen-archive → binaryen-archive-v0.11.2}/binaryen.opam +8 -8
- {binaryen-archive → binaryen-archive-v0.11.2}/dune +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/dune-project +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/dune-workspace +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/.gitattributes +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/.gitignore +0 -0
- binaryen-archive-v0.11.2/esy.lock/index.json +1365 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/astring.0.8.5/opam +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/base-threads.base/opam +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/base-unix.base/opam +0 -0
- {binaryen-archive/esy.lock/opam/base.v0.14.1 → binaryen-archive-v0.11.2/esy.lock/opam/base.v0.14.2}/opam +4 -4
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/biniou.1.2.1/opam +1 -1
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/cmdliner.1.0.4/opam +0 -0
- {binaryen-archive/esy.lock/opam/cppo.1.6.7 → binaryen-archive-v0.11.2/esy.lock/opam/cppo.1.6.8}/opam +4 -6
- {binaryen-archive/esy.lock/opam/csexp.1.4.0 → binaryen-archive-v0.11.2/esy.lock/opam/csexp.1.5.1}/opam +11 -9
- {binaryen-archive/esy.lock/opam/dune-build-info.2.8.2 → binaryen-archive-v0.11.2/esy.lock/opam/dune-build-info.2.9.1}/opam +5 -5
- {binaryen-archive/esy.lock/opam/dune-configurator.2.8.2 → binaryen-archive-v0.11.2/esy.lock/opam/dune-configurator.2.9.1}/opam +5 -5
- {binaryen-archive/esy.lock/opam/dune.2.8.2 → binaryen-archive-v0.11.2/esy.lock/opam/dune.2.9.1}/opam +4 -4
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/easy-format.1.3.2/opam +1 -1
- {binaryen-archive/esy.lock/opam/fix.20201120 → binaryen-archive-v0.11.2/esy.lock/opam/fix.20211231}/opam +7 -5
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/fpath.0.7.3/opam +0 -0
- binaryen-archive-v0.11.2/esy.lock/opam/js_of_ocaml-compiler.3.11.0/opam +54 -0
- binaryen-archive-v0.11.2/esy.lock/opam/js_of_ocaml-ppx.3.11.0/opam +44 -0
- binaryen-archive-v0.11.2/esy.lock/opam/js_of_ocaml.3.11.0/opam +45 -0
- {binaryen-archive/esy.lock/opam/menhir.20201216 → binaryen-archive-v0.11.2/esy.lock/opam/menhir.20211128}/opam +8 -6
- {binaryen-archive/esy.lock/opam/menhirLib.20201216 → binaryen-archive-v0.11.2/esy.lock/opam/menhirLib.20211128}/opam +8 -6
- {binaryen-archive/esy.lock/opam/menhirSdk.20201216 → binaryen-archive-v0.11.2/esy.lock/opam/menhirSdk.20211128}/opam +8 -6
- binaryen-archive-v0.11.2/esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam +39 -0
- {binaryen-archive/esy.lock/opam/ocaml-lsp-server.1.4.0 → binaryen-archive-v0.11.2/esy.lock/opam/ocaml-lsp-server.1.9.0}/opam +15 -12
- {binaryen-archive/esy.lock/opam/ocaml-migrate-parsetree.2.1.0 → binaryen-archive-v0.11.2/esy.lock/opam/ocaml-migrate-parsetree.2.3.0}/opam +13 -10
- binaryen-archive-v0.11.2/esy.lock/opam/ocaml-version.3.4.0/opam +49 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/ocamlbuild.0.14.0/opam +1 -1
- {binaryen-archive/esy.lock/opam/ocamlfind.1.8.1 → binaryen-archive-v0.11.2/esy.lock/opam/ocamlfind.1.9.1}/opam +19 -39
- binaryen-archive-v0.11.2/esy.lock/opam/ocamlformat-rpc-lib.0.19.0/opam +40 -0
- binaryen-archive-v0.11.2/esy.lock/opam/ocamlformat.0.18.0/opam +56 -0
- {binaryen-archive/esy.lock/opam/odoc.1.5.2 → binaryen-archive-v0.11.2/esy.lock/opam/odoc.1.5.3}/opam +12 -12
- binaryen-archive-v0.11.2/esy.lock/opam/pp.1.1.2/opam +58 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/ppx_derivers.1.2.1/opam +1 -1
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/ppx_yojson_conv_lib.v0.14.0/opam +2 -2
- {binaryen-archive/esy.lock/opam/ppxlib.0.21.0 → binaryen-archive-v0.11.2/esy.lock/opam/ppxlib.0.22.2}/opam +40 -32
- {binaryen-archive/esy.lock/opam/re.1.9.0 → binaryen-archive-v0.11.2/esy.lock/opam/re.1.10.3}/opam +8 -4
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/result.1.5/opam +2 -2
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/seq.base/files/META.seq +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/seq.base/files/seq.install +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/seq.base/opam +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/sexplib0.v0.14.0/opam +2 -2
- binaryen-archive-v0.11.2/esy.lock/opam/spawn.v0.15.0/opam +56 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/stdio.v0.14.0/opam +2 -2
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/stdlib-shims.0.3.0/opam +0 -0
- {binaryen-archive/esy.lock/opam/topkg.1.0.3 → binaryen-archive-v0.11.2/esy.lock/opam/topkg.1.0.4}/opam +18 -22
- binaryen-archive-v0.11.2/esy.lock/opam/tyxml.4.5.0/opam +42 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/uchar.0.0.2/opam +0 -0
- binaryen-archive-v0.11.2/esy.lock/opam/uucp.14.0.0/opam +41 -0
- {binaryen-archive/esy.lock/opam/uuseg.13.0.0 → binaryen-archive-v0.11.2/esy.lock/opam/uuseg.14.0.0}/opam +22 -28
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/uutf.1.0.2/opam +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/opam/yojson.1.7.0/opam +1 -1
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json +0 -0
- binaryen-archive/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch → binaryen-archive-v0.11.2/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.1_opam_override/files/findlib-1.9.1.patch +0 -0
- {binaryen-archive/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override → binaryen-archive-v0.11.2/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.1_opam_override}/package.json +1 -1
- binaryen-archive-v0.11.2/js/binaryen.es5.js +5 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/js/dune +1 -6
- binaryen-archive-v0.11.2/js/element_segment.ml +33 -0
- binaryen-archive-v0.11.2/js/export.ml +60 -0
- binaryen-archive-v0.11.2/js/expression.ml +944 -0
- binaryen-archive-v0.11.2/js/function.ml +60 -0
- binaryen-archive-v0.11.2/js/global.ml +48 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/js/import.ml +24 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/js/literal.ml +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/js/memory.ml +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/js/module.ml +42 -46
- {binaryen-archive → binaryen-archive-v0.11.2}/js/op.ml +9 -78
- binaryen-archive-v0.11.2/js/postlude.js +2 -0
- binaryen-archive-v0.11.2/js/prelude.js +11 -0
- binaryen-archive-v0.11.2/js/settings.ml +60 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/js/stubs.c +0 -0
- binaryen-archive-v0.11.2/js/table.ml +29 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/js/type.ml +3 -0
- binaryen-archive-v0.11.2/package.json +37 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/binaryen_stubs_exports.c +78 -0
- binaryen-archive-v0.11.2/src/binaryen_stubs_expressions.c +1710 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/binaryen_stubs_features.c +7 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/binaryen_stubs_functions.c +78 -0
- binaryen-archive-v0.11.2/src/binaryen_stubs_globals.c +109 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/binaryen_stubs_imports.c +29 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/binaryen_stubs_literals.c +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/binaryen_stubs_memory.c +1 -1
- {binaryen-archive → binaryen-archive-v0.11.2}/src/binaryen_stubs_modules.c +0 -122
- {binaryen-archive → binaryen-archive-v0.11.2}/src/binaryen_stubs_ops.c +19 -173
- binaryen-archive-v0.11.2/src/binaryen_stubs_settings.c +145 -0
- binaryen-archive-v0.11.2/src/binaryen_stubs_tables.c +145 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/binaryen_stubs_types.c +18 -0
- binaryen-archive-v0.11.2/src/dune +14 -0
- binaryen-archive-v0.11.2/src/element_segment.ml +13 -0
- binaryen-archive-v0.11.2/src/export.ml +54 -0
- binaryen-archive-v0.11.2/src/expression.ml +844 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/function.ml +18 -0
- binaryen-archive-v0.11.2/src/global.ml +24 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/import.ml +12 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/literal.ml +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/memory.ml +0 -0
- binaryen-archive-v0.11.2/src/module.ml +115 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/ocaml_helpers.c +0 -8
- {binaryen-archive → binaryen-archive-v0.11.2}/src/ocaml_helpers.h +2 -3
- {binaryen-archive → binaryen-archive-v0.11.2}/src/op.ml +18 -131
- binaryen-archive-v0.11.2/src/settings.ml +45 -0
- binaryen-archive-v0.11.2/src/table.ml +26 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/src/type.ml +2 -0
- binaryen-archive-v0.11.2/test/config/dune +8 -0
- binaryen-archive-v0.11.2/test/config/ocamlopt_flags.ml +16 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/test/dune +4 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/test/test.expected +38 -5
- binaryen-archive-v0.11.2/test/test.ml +147 -0
- binaryen-archive-v0.11.2/virtual/dune +6 -0
- binaryen-archive-v0.11.2/virtual/element_segment.mli +11 -0
- binaryen-archive-v0.11.2/virtual/export.mli +33 -0
- binaryen-archive-v0.11.2/virtual/expression.mli +423 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/virtual/function.mli +16 -0
- binaryen-archive-v0.11.2/virtual/global.mli +19 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/virtual/import.mli +8 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/virtual/literal.mli +0 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/virtual/memory.mli +0 -0
- binaryen-archive-v0.11.2/virtual/module.mli +65 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/virtual/op.mli +9 -53
- binaryen-archive-v0.11.2/virtual/settings.mli +35 -0
- binaryen-archive-v0.11.2/virtual/table.mli +19 -0
- {binaryen-archive → binaryen-archive-v0.11.2}/virtual/type.mli +2 -0
- binaryen-archive/esy.lock/index.json +0 -1288
- binaryen-archive/esy.lock/opam/conf-m4.1/opam +0 -22
- binaryen-archive/esy.lock/opam/dot-merlin-reader.4.1/opam +0 -30
- binaryen-archive/esy.lock/opam/js_of_ocaml-compiler.3.9.1/opam +0 -40
- binaryen-archive/esy.lock/opam/js_of_ocaml-ppx.3.9.0/opam +0 -30
- binaryen-archive/esy.lock/opam/js_of_ocaml.3.9.0/opam +0 -31
- binaryen-archive/esy.lock/opam/ocaml-compiler-libs.v0.12.3/opam +0 -29
- binaryen-archive/esy.lock/opam/ocamlfind.1.8.1/files/ocaml-stub +0 -4
- binaryen-archive/esy.lock/opam/ocamlfind.1.8.1/files/ocamlfind.install +0 -6
- binaryen-archive/esy.lock/opam/ocamlformat.0.15.1/opam +0 -41
- binaryen-archive/esy.lock/opam/tyxml.4.4.0/opam +0 -47
- binaryen-archive/esy.lock/opam/uucp.13.0.0/opam +0 -44
- binaryen-archive/esy.lock/overrides/opam__s__conf_m4_opam__c__1_opam_override/package.json +0 -6
- binaryen-archive/js/export.ml +0 -23
- binaryen-archive/js/expression.ml +0 -185
- binaryen-archive/js/features.ml +0 -27
- binaryen-archive/js/function.ml +0 -29
- binaryen-archive/js/function_table.ml +0 -13
- binaryen-archive/js/global.ml +0 -19
- binaryen-archive/js/postlude.js +0 -2
- binaryen-archive/js/table.ml +0 -12
- binaryen-archive/package.json +0 -43
- binaryen-archive/src/binaryen_stubs_expressions.c +0 -410
- binaryen-archive/src/binaryen_stubs_function_tables.c +0 -25
- binaryen-archive/src/binaryen_stubs_globals.c +0 -46
- binaryen-archive/src/binaryen_stubs_tables.c +0 -31
- binaryen-archive/src/config/dune +0 -8
- binaryen-archive/src/config/library_flags.ml +0 -16
- binaryen-archive/src/dune +0 -53
- binaryen-archive/src/export.ml +0 -21
- binaryen-archive/src/expression.ml +0 -115
- binaryen-archive/src/features.ml +0 -49
- binaryen-archive/src/function_table.ml +0 -6
- binaryen-archive/src/global.ml +0 -10
- binaryen-archive/src/module.ml +0 -89
- binaryen-archive/src/table.ml +0 -4
- binaryen-archive/test/test.ml +0 -83
- binaryen-archive/vendor/binaryen-c.h +0 -2647
- binaryen-archive/vendor/js/index.es5.js +0 -5
- binaryen-archive/vendor/linux/libbinaryen.a +0 -0
- binaryen-archive/vendor/linux/libbinaryen.so +0 -0
- binaryen-archive/vendor/macosx/libbinaryen.a +0 -0
- binaryen-archive/vendor/macosx/libbinaryen.dylib +0 -0
- binaryen-archive/vendor/mingw64/libbinaryen.a +0 -0
- binaryen-archive/vendor/mingw64/libbinaryen.dll +0 -0
- binaryen-archive/vendor/wasm-delegations.h +0 -85
- binaryen-archive/virtual/dune +0 -6
- binaryen-archive/virtual/export.mli +0 -11
- binaryen-archive/virtual/expression.mli +0 -68
- binaryen-archive/virtual/features.mli +0 -23
- binaryen-archive/virtual/function_table.mli +0 -4
- binaryen-archive/virtual/global.mli +0 -7
- binaryen-archive/virtual/module.mli +0 -67
- binaryen-archive/virtual/table.mli +0 -2
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
type t
|
|
2
|
-
|
|
3
|
-
external block : Module.t -> string -> t list -> Type.t -> t
|
|
4
|
-
= "caml_binaryen_block"
|
|
5
|
-
|
|
6
|
-
(** Module, block name, expression list. *)
|
|
7
|
-
let block ?(return_type = Type.auto) wasm_mod name exprs =
|
|
8
|
-
block wasm_mod name exprs return_type
|
|
9
|
-
|
|
10
|
-
external if_ : Module.t -> t -> t -> t -> t = "caml_binaryen_if"
|
|
11
|
-
(** Module, condition, true branch, false branch. False branch may be null. *)
|
|
12
|
-
|
|
13
|
-
external loop : Module.t -> string -> t -> t = "caml_binaryen_loop"
|
|
14
|
-
(** Module, loop name, body. *)
|
|
15
|
-
|
|
16
|
-
external break : Module.t -> string -> t -> t -> t = "caml_binaryen_break"
|
|
17
|
-
(** Module, block name, condition, result. Value and condition may be null. *)
|
|
18
|
-
|
|
19
|
-
external switch : Module.t -> string list -> string -> t -> t -> t
|
|
20
|
-
= "caml_binaryen_switch"
|
|
21
|
-
(** Module, branch names, default branch name, condition, value. Value may be null. *)
|
|
22
|
-
|
|
23
|
-
external call : Module.t -> string -> t list -> Type.t -> t
|
|
24
|
-
= "caml_binaryen_call"
|
|
25
|
-
(** Module, function name, params, return type. *)
|
|
26
|
-
|
|
27
|
-
external call_indirect :
|
|
28
|
-
Module.t -> string -> t -> t list -> Type.t -> Type.t -> t
|
|
29
|
-
= "caml_binaryen_call_indirect__bytecode" "caml_binaryen_call_indirect"
|
|
30
|
-
(** Module, table, function value, params, params type, return type. *)
|
|
31
|
-
|
|
32
|
-
external return_call : Module.t -> string -> t list -> Type.t -> t
|
|
33
|
-
= "caml_binaryen_return_call"
|
|
34
|
-
(** Module, function name, params, return type. *)
|
|
35
|
-
|
|
36
|
-
external return_call_indirect :
|
|
37
|
-
Module.t -> string -> t -> t list -> Type.t -> Type.t -> t
|
|
38
|
-
= "caml_binaryen_return_call_indirect__bytecode" "caml_binaryen_return_call_indirect"
|
|
39
|
-
(** Module, table, function value, params, params type, return type. *)
|
|
40
|
-
|
|
41
|
-
external local_get : Module.t -> int -> Type.t -> t = "caml_binaryen_local_get"
|
|
42
|
-
(** Module, slot, type. *)
|
|
43
|
-
|
|
44
|
-
external local_set : Module.t -> int -> t -> t = "caml_binaryen_local_set"
|
|
45
|
-
(** Module, slot, value. *)
|
|
46
|
-
|
|
47
|
-
external local_tee : Module.t -> int -> t -> Type.t -> t
|
|
48
|
-
= "caml_binaryen_local_tee"
|
|
49
|
-
(** Module, slot, value, type. *)
|
|
50
|
-
|
|
51
|
-
external global_get : Module.t -> string -> Type.t -> t
|
|
52
|
-
= "caml_binaryen_global_get"
|
|
53
|
-
(** Module, name, type. *)
|
|
54
|
-
|
|
55
|
-
external global_set : Module.t -> string -> t -> t = "caml_binaryen_global_set"
|
|
56
|
-
(** Module, name, value. *)
|
|
57
|
-
|
|
58
|
-
external load : Module.t -> int -> bool -> int -> int -> Type.t -> t -> t
|
|
59
|
-
= "caml_binaryen_load__bytecode" "caml_binaryen_load"
|
|
60
|
-
|
|
61
|
-
(** Module, num_bytes, ?signed, offset, align, type, ptr. *)
|
|
62
|
-
let load wasm_mod bytes ?(signed = false) offset align ty ptr =
|
|
63
|
-
load wasm_mod bytes signed offset align ty ptr
|
|
64
|
-
|
|
65
|
-
external store : Module.t -> int -> int -> int -> t -> t -> Type.t -> t
|
|
66
|
-
= "caml_binaryen_store__bytecode" "caml_binaryen_store"
|
|
67
|
-
(** Module, num_bytes, offset, align, ptr, value, type. *)
|
|
68
|
-
|
|
69
|
-
external const : Module.t -> Literal.t -> t = "caml_binaryen_const"
|
|
70
|
-
|
|
71
|
-
external unary : Module.t -> Op.t -> t -> t = "caml_binaryen_unary"
|
|
72
|
-
|
|
73
|
-
external binary : Module.t -> Op.t -> t -> t -> t = "caml_binaryen_binary"
|
|
74
|
-
|
|
75
|
-
external select : Module.t -> t -> t -> t -> Type.t -> t
|
|
76
|
-
= "caml_binaryen_select"
|
|
77
|
-
|
|
78
|
-
(** Module, condition, true branch, false branch. *)
|
|
79
|
-
let select wasm_mod cond tru fals = select wasm_mod cond tru fals Type.auto
|
|
80
|
-
|
|
81
|
-
external drop : Module.t -> t -> t = "caml_binaryen_drop"
|
|
82
|
-
|
|
83
|
-
external return : Module.t -> t -> t = "caml_binaryen_return"
|
|
84
|
-
|
|
85
|
-
external memory_size : Module.t -> t = "caml_binaryen_memory_size"
|
|
86
|
-
|
|
87
|
-
external memory_grow : Module.t -> t -> t = "caml_binaryen_memory_grow"
|
|
88
|
-
|
|
89
|
-
external nop : Module.t -> t = "caml_binaryen_nop"
|
|
90
|
-
|
|
91
|
-
external unreachable : Module.t -> t = "caml_binaryen_unreachable"
|
|
92
|
-
|
|
93
|
-
external memory_copy : Module.t -> t -> t -> t -> t
|
|
94
|
-
= "caml_binaryen_memory_copy"
|
|
95
|
-
(** Module, destination, source, size. *)
|
|
96
|
-
|
|
97
|
-
external memory_fill : Module.t -> t -> t -> t -> t
|
|
98
|
-
= "caml_binaryen_memory_fill"
|
|
99
|
-
(** Module, destination, value, size. *)
|
|
100
|
-
|
|
101
|
-
external tuple_make : Module.t -> t list -> t = "caml_binaryen_tuple_make"
|
|
102
|
-
(** Module, items *)
|
|
103
|
-
|
|
104
|
-
external tuple_extract : Module.t -> t -> int -> t
|
|
105
|
-
= "caml_binaryen_tuple_extract"
|
|
106
|
-
(** Module, tuple, index *)
|
|
107
|
-
|
|
108
|
-
external pop : Module.t -> Type.t -> t = "caml_binaryen_pop"
|
|
109
|
-
(** Module, type *)
|
|
110
|
-
|
|
111
|
-
external null : unit -> t = "caml_binaryen_null_expression"
|
|
112
|
-
(** A null reference. *)
|
|
113
|
-
|
|
114
|
-
external print : t -> unit = "caml_binaryen_expression_print"
|
|
115
|
-
(** Print an expression to the console. *)
|
binaryen-archive/src/features.ml
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
external mvp : unit -> int = "caml_binaryen_feature_mvp"
|
|
2
|
-
|
|
3
|
-
let mvp = mvp ()
|
|
4
|
-
|
|
5
|
-
external atomics : unit -> int = "caml_binaryen_feature_atomics"
|
|
6
|
-
|
|
7
|
-
let atomics = atomics ()
|
|
8
|
-
|
|
9
|
-
external bulk_memory : unit -> int = "caml_binaryen_feature_bulk_memory"
|
|
10
|
-
|
|
11
|
-
let bulk_memory = bulk_memory ()
|
|
12
|
-
|
|
13
|
-
external mutable_globals : unit -> int = "caml_binaryen_feature_mutable_globals"
|
|
14
|
-
|
|
15
|
-
let mutable_globals = mutable_globals ()
|
|
16
|
-
|
|
17
|
-
external nontrapping_fp_to_int : unit -> int
|
|
18
|
-
= "caml_binaryen_feature_nontrapping_fp_to_int"
|
|
19
|
-
|
|
20
|
-
let nontrapping_fp_to_int = nontrapping_fp_to_int ()
|
|
21
|
-
|
|
22
|
-
external sign_ext : unit -> int = "caml_binaryen_feature_sign_ext"
|
|
23
|
-
|
|
24
|
-
let sign_ext = sign_ext ()
|
|
25
|
-
|
|
26
|
-
external simd128 : unit -> int = "caml_binaryen_feature_simd128"
|
|
27
|
-
|
|
28
|
-
let simd128 = simd128 ()
|
|
29
|
-
|
|
30
|
-
external exception_handling : unit -> int
|
|
31
|
-
= "caml_binaryen_feature_exception_handling"
|
|
32
|
-
|
|
33
|
-
let exception_handling = exception_handling ()
|
|
34
|
-
|
|
35
|
-
external tail_call : unit -> int = "caml_binaryen_feature_tail_call"
|
|
36
|
-
|
|
37
|
-
let tail_call = tail_call ()
|
|
38
|
-
|
|
39
|
-
external reference_types : unit -> int = "caml_binaryen_feature_reference_types"
|
|
40
|
-
|
|
41
|
-
let reference_types = reference_types ()
|
|
42
|
-
|
|
43
|
-
external multivalue : unit -> int = "caml_binaryen_feature_multivalue"
|
|
44
|
-
|
|
45
|
-
let multivalue = multivalue ()
|
|
46
|
-
|
|
47
|
-
external all : unit -> int = "caml_binaryen_feature_all"
|
|
48
|
-
|
|
49
|
-
let all = all ()
|
binaryen-archive/src/global.ml
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
type t
|
|
2
|
-
|
|
3
|
-
external add_global : Module.t -> string -> Type.t -> bool -> Expression.t -> t
|
|
4
|
-
= "caml_binaryen_add_global"
|
|
5
|
-
(** Module, name, type, mutable, value. *)
|
|
6
|
-
|
|
7
|
-
external get_global : Module.t -> string -> t = "caml_binaryen_get_global"
|
|
8
|
-
|
|
9
|
-
external remove_global : Module.t -> string -> unit
|
|
10
|
-
= "caml_binaryen_remove_global"
|
binaryen-archive/src/module.ml
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
let _ = Callback.register "array_of_list" Array.of_list
|
|
2
|
-
|
|
3
|
-
let _ = Callback.register "array_length" Array.length
|
|
4
|
-
|
|
5
|
-
type t
|
|
6
|
-
|
|
7
|
-
external create : unit -> t = "caml_binaryen_module_create"
|
|
8
|
-
|
|
9
|
-
external dispose : t -> unit = "caml_binaryen_module_dispose"
|
|
10
|
-
|
|
11
|
-
external add_custom_section : t -> string -> string -> unit
|
|
12
|
-
= "caml_binaryen_add_custom_section"
|
|
13
|
-
|
|
14
|
-
external parse : string -> t = "caml_binaryen_module_parse"
|
|
15
|
-
|
|
16
|
-
external print : t -> unit = "caml_binaryen_module_print"
|
|
17
|
-
|
|
18
|
-
external print_asmjs : t -> unit = "caml_binaryen_module_print_asmjs"
|
|
19
|
-
|
|
20
|
-
external validate : t -> int = "caml_binaryen_module_validate"
|
|
21
|
-
|
|
22
|
-
external optimize : t -> unit = "caml_binaryen_module_optimize"
|
|
23
|
-
|
|
24
|
-
external set_features : t -> int -> unit = "caml_binaryen_module_set_features"
|
|
25
|
-
|
|
26
|
-
let set_features wasm_mod features =
|
|
27
|
-
set_features wasm_mod (List.fold_left ( lor ) 0 features)
|
|
28
|
-
|
|
29
|
-
external get_optimize_level : unit -> int = "caml_binaryen_get_optimize_level"
|
|
30
|
-
|
|
31
|
-
external set_optimize_level : int -> unit = "caml_binaryen_set_optimize_level"
|
|
32
|
-
|
|
33
|
-
external get_shrink_level : unit -> int = "caml_binaryen_get_shrink_level"
|
|
34
|
-
|
|
35
|
-
external set_shrink_level : int -> unit = "caml_binaryen_set_shrink_level"
|
|
36
|
-
|
|
37
|
-
external get_debug_info : unit -> int = "caml_binaryen_get_debug_info"
|
|
38
|
-
|
|
39
|
-
external set_debug_info : int -> unit = "caml_binaryen_set_debug_info"
|
|
40
|
-
|
|
41
|
-
external get_low_memory_unused : unit -> int
|
|
42
|
-
= "caml_binaryen_get_low_memory_unused"
|
|
43
|
-
|
|
44
|
-
external set_low_memory_unused : int -> unit
|
|
45
|
-
= "caml_binaryen_set_low_memory_unused"
|
|
46
|
-
|
|
47
|
-
external get_pass_argument : string -> string
|
|
48
|
-
= "caml_binaryen_get_pass_argument"
|
|
49
|
-
|
|
50
|
-
external set_pass_argument : string -> string -> unit
|
|
51
|
-
= "caml_binaryen_set_pass_argument"
|
|
52
|
-
|
|
53
|
-
external get_always_inline_max_size : unit -> int
|
|
54
|
-
= "caml_binaryen_get_always_inline_max_size"
|
|
55
|
-
|
|
56
|
-
external set_always_inline_max_size : int -> unit
|
|
57
|
-
= "caml_binaryen_set_always_inline_max_size"
|
|
58
|
-
|
|
59
|
-
external get_flexible_inline_max_size : unit -> int
|
|
60
|
-
= "caml_binaryen_get_flexible_inline_max_size"
|
|
61
|
-
|
|
62
|
-
external set_flexible_inline_max_size : int -> unit
|
|
63
|
-
= "caml_binaryen_set_flexible_inline_max_size"
|
|
64
|
-
|
|
65
|
-
external get_one_caller_inline_max_size : unit -> int
|
|
66
|
-
= "caml_binaryen_get_one_caller_inline_max_size"
|
|
67
|
-
|
|
68
|
-
external set_one_caller_inline_max_size : int -> unit
|
|
69
|
-
= "caml_binaryen_set_one_caller_inline_max_size"
|
|
70
|
-
|
|
71
|
-
external run_passes : t -> string list -> unit
|
|
72
|
-
= "caml_binaryen_module_run_passes"
|
|
73
|
-
|
|
74
|
-
external auto_drop : t -> unit = "caml_binaryen_module_auto_drop"
|
|
75
|
-
|
|
76
|
-
external write : t -> string option -> bytes * string option
|
|
77
|
-
= "caml_binaryen_module_write"
|
|
78
|
-
|
|
79
|
-
external write_text : t -> string = "caml_binaryen_module_write_text"
|
|
80
|
-
|
|
81
|
-
external read : bytes -> t = "caml_binaryen_module_read"
|
|
82
|
-
|
|
83
|
-
external interpret : t -> unit = "caml_binaryen_module_interpret"
|
|
84
|
-
|
|
85
|
-
external add_debug_info_filename : t -> string -> int
|
|
86
|
-
= "caml_binaryen_module_add_debug_info_filename"
|
|
87
|
-
|
|
88
|
-
external get_debug_info_filename : t -> int -> string
|
|
89
|
-
= "caml_binaryen_module_get_debug_info_filename"
|
binaryen-archive/src/table.ml
DELETED
binaryen-archive/test/test.ml
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
open Binaryen
|
|
2
|
-
|
|
3
|
-
let wasm_mod = Module.create ()
|
|
4
|
-
|
|
5
|
-
(* Create function type for i32 (i32, i32) *)
|
|
6
|
-
let params () = Type.create [| Type.int32; Type.int32 |]
|
|
7
|
-
|
|
8
|
-
let results = Type.int32
|
|
9
|
-
|
|
10
|
-
let x () = Expression.local_get wasm_mod 0 Type.int32
|
|
11
|
-
|
|
12
|
-
let y () = Expression.local_get wasm_mod 1 Type.int32
|
|
13
|
-
|
|
14
|
-
let load = Expression.load wasm_mod 1 ~signed:true 0 0 Type.int32 (y ())
|
|
15
|
-
|
|
16
|
-
let select =
|
|
17
|
-
Expression.select wasm_mod
|
|
18
|
-
(Expression.const wasm_mod (Literal.int32 1l))
|
|
19
|
-
(x ()) load
|
|
20
|
-
|
|
21
|
-
let bin = Expression.binary wasm_mod Op.add_int32 select (y ())
|
|
22
|
-
|
|
23
|
-
let add =
|
|
24
|
-
Expression.block wasm_mod ~return_type:Type.int32 "add"
|
|
25
|
-
[
|
|
26
|
-
Expression.if_ wasm_mod
|
|
27
|
-
(Expression.const wasm_mod (Literal.int32 0l))
|
|
28
|
-
(Expression.unreachable wasm_mod)
|
|
29
|
-
(Expression.null ());
|
|
30
|
-
bin;
|
|
31
|
-
]
|
|
32
|
-
|
|
33
|
-
(* Create the add function *)
|
|
34
|
-
let adder = Function.add_function wasm_mod "adder" (params ()) results [||] add
|
|
35
|
-
|
|
36
|
-
let call_adder =
|
|
37
|
-
Expression.call_indirect wasm_mod "table"
|
|
38
|
-
(Expression.const wasm_mod (Literal.int32 0l))
|
|
39
|
-
[
|
|
40
|
-
Expression.const wasm_mod (Literal.int32 3l);
|
|
41
|
-
Expression.const wasm_mod (Literal.int32 5l);
|
|
42
|
-
]
|
|
43
|
-
(params ()) Type.int32
|
|
44
|
-
|
|
45
|
-
let start =
|
|
46
|
-
Function.add_function wasm_mod "start" Type.none Type.none [||]
|
|
47
|
-
(Expression.drop wasm_mod call_adder)
|
|
48
|
-
|
|
49
|
-
let _ = Export.add_function_export wasm_mod "adder" "adder"
|
|
50
|
-
|
|
51
|
-
let _ =
|
|
52
|
-
Global.add_global wasm_mod "max_int64" Type.int64 false
|
|
53
|
-
(Expression.const wasm_mod (Literal.int64 Int64.max_int))
|
|
54
|
-
|
|
55
|
-
let _ =
|
|
56
|
-
Global.add_global wasm_mod "test_float64_bits" Type.float64 false
|
|
57
|
-
(Expression.const wasm_mod (Literal.float64_bits 0x3FF3AE147AE147AEL))
|
|
58
|
-
|
|
59
|
-
let _ =
|
|
60
|
-
Table.add_table wasm_mod "table" 1 1 [ "adder" ]
|
|
61
|
-
(Expression.const wasm_mod (Literal.int32 0l))
|
|
62
|
-
|
|
63
|
-
let _ = Function.set_start wasm_mod start
|
|
64
|
-
|
|
65
|
-
let _ = Memory.set_memory wasm_mod 1 Memory.unlimited "memory" [] false
|
|
66
|
-
|
|
67
|
-
let _ = Module.print wasm_mod
|
|
68
|
-
|
|
69
|
-
let _ = Module.optimize wasm_mod
|
|
70
|
-
|
|
71
|
-
let _ = Module.print wasm_mod
|
|
72
|
-
|
|
73
|
-
let byts, _ = Module.write wasm_mod None
|
|
74
|
-
|
|
75
|
-
let new_mod = Module.read byts
|
|
76
|
-
|
|
77
|
-
let _ = Module.validate new_mod
|
|
78
|
-
|
|
79
|
-
let _ = Module.print new_mod
|
|
80
|
-
|
|
81
|
-
let _ = Module.dispose wasm_mod
|
|
82
|
-
|
|
83
|
-
let _ = Module.dispose new_mod
|