@grain/binaryen.ml 0.8.1 → 0.11.0
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/.gitignore +1 -0
- binaryen-archive/CHANGELOG.md +93 -0
- binaryen-archive/README.md +29 -11
- binaryen-archive/binaryen.opam +8 -8
- binaryen-archive/dune-project +1 -1
- binaryen-archive/dune-workspace +1 -1
- binaryen-archive/esy.lock/index.json +537 -460
- binaryen-archive/esy.lock/opam/{base.v0.14.1 → base.v0.14.2}/opam +4 -4
- binaryen-archive/esy.lock/opam/biniou.1.2.1/opam +1 -1
- binaryen-archive/esy.lock/opam/{cppo.1.6.7 → cppo.1.6.8}/opam +4 -6
- binaryen-archive/esy.lock/opam/{csexp.1.4.0 → csexp.1.5.1}/opam +11 -9
- binaryen-archive/esy.lock/opam/{dune-build-info.2.8.2 → dune-build-info.2.9.1}/opam +5 -5
- binaryen-archive/esy.lock/opam/{dune-configurator.2.8.2 → dune-configurator.2.9.1}/opam +5 -5
- binaryen-archive/esy.lock/opam/{dune.2.8.2 → dune.2.9.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/easy-format.1.3.2/opam +1 -1
- binaryen-archive/esy.lock/opam/{fix.20201120 → fix.20211231}/opam +7 -5
- binaryen-archive/esy.lock/opam/js_of_ocaml-compiler.3.11.0/opam +54 -0
- binaryen-archive/esy.lock/opam/js_of_ocaml-ppx.3.11.0/opam +44 -0
- binaryen-archive/esy.lock/opam/js_of_ocaml.3.11.0/opam +45 -0
- binaryen-archive/esy.lock/opam/{menhir.20201216 → menhir.20211128}/opam +8 -6
- binaryen-archive/esy.lock/opam/{menhirLib.20201216 → menhirLib.20211128}/opam +8 -6
- binaryen-archive/esy.lock/opam/{menhirSdk.20201216 → menhirSdk.20211128}/opam +8 -6
- binaryen-archive/esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam +39 -0
- binaryen-archive/esy.lock/opam/{ocaml-lsp-server.1.4.0 → ocaml-lsp-server.1.9.0}/opam +15 -12
- binaryen-archive/esy.lock/opam/{ocaml-migrate-parsetree.2.1.0 → ocaml-migrate-parsetree.2.3.0}/opam +13 -10
- binaryen-archive/esy.lock/opam/ocaml-version.3.4.0/opam +49 -0
- binaryen-archive/esy.lock/opam/ocamlbuild.0.14.0/opam +1 -1
- binaryen-archive/esy.lock/opam/{ocamlfind.1.8.1 → ocamlfind.1.9.1}/opam +19 -39
- binaryen-archive/esy.lock/opam/ocamlformat-rpc-lib.0.19.0/opam +40 -0
- binaryen-archive/esy.lock/opam/ocamlformat.0.18.0/opam +56 -0
- binaryen-archive/esy.lock/opam/{odoc.1.5.2 → odoc.1.5.3}/opam +12 -12
- binaryen-archive/esy.lock/opam/pp.1.1.2/opam +58 -0
- binaryen-archive/esy.lock/opam/ppx_derivers.1.2.1/opam +1 -1
- binaryen-archive/esy.lock/opam/ppx_yojson_conv_lib.v0.14.0/opam +2 -2
- binaryen-archive/esy.lock/opam/{ppxlib.0.21.0 → ppxlib.0.22.2}/opam +40 -32
- binaryen-archive/esy.lock/opam/{re.1.9.0 → re.1.10.3}/opam +8 -4
- binaryen-archive/esy.lock/opam/result.1.5/opam +2 -2
- binaryen-archive/esy.lock/opam/sexplib0.v0.14.0/opam +2 -2
- binaryen-archive/esy.lock/opam/spawn.v0.15.0/opam +56 -0
- binaryen-archive/esy.lock/opam/stdio.v0.14.0/opam +2 -2
- binaryen-archive/esy.lock/opam/{topkg.1.0.3 → topkg.1.0.4}/opam +18 -22
- binaryen-archive/esy.lock/opam/tyxml.4.5.0/opam +42 -0
- binaryen-archive/esy.lock/opam/uucp.14.0.0/opam +41 -0
- binaryen-archive/esy.lock/opam/{uuseg.13.0.0 → uuseg.14.0.0}/opam +22 -28
- binaryen-archive/esy.lock/opam/yojson.1.7.0/opam +1 -1
- binaryen-archive/esy.lock/overrides/{opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch → 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 → opam__s__ocamlfind_opam__c__1.9.1_opam_override}/package.json +1 -1
- binaryen-archive/js/binaryen.es5.js +5 -0
- binaryen-archive/js/dune +4 -6
- binaryen-archive/js/element_segment.ml +33 -0
- binaryen-archive/js/export.ml +37 -0
- binaryen-archive/js/expression.ml +935 -178
- binaryen-archive/js/function.ml +31 -0
- binaryen-archive/js/global.ml +29 -0
- binaryen-archive/js/import.ml +24 -0
- binaryen-archive/js/literal.ml +8 -4
- binaryen-archive/js/module.ml +40 -64
- binaryen-archive/js/op.ml +9 -78
- binaryen-archive/js/settings.ml +60 -0
- binaryen-archive/js/stubs.c +15 -0
- binaryen-archive/js/table.ml +29 -0
- binaryen-archive/js/type.ml +3 -0
- binaryen-archive/package.json +15 -21
- binaryen-archive/src/binaryen_stubs_exports.c +78 -0
- binaryen-archive/src/binaryen_stubs_expressions.c +1300 -0
- binaryen-archive/src/binaryen_stubs_features.c +7 -0
- binaryen-archive/src/binaryen_stubs_functions.c +78 -0
- binaryen-archive/src/binaryen_stubs_globals.c +63 -0
- binaryen-archive/src/binaryen_stubs_imports.c +29 -0
- binaryen-archive/src/binaryen_stubs_memory.c +1 -1
- binaryen-archive/src/binaryen_stubs_modules.c +0 -122
- binaryen-archive/src/binaryen_stubs_ops.c +19 -173
- binaryen-archive/src/binaryen_stubs_settings.c +145 -0
- binaryen-archive/src/binaryen_stubs_tables.c +145 -0
- binaryen-archive/src/binaryen_stubs_types.c +18 -0
- binaryen-archive/src/dune +5 -43
- binaryen-archive/src/element_segment.ml +13 -0
- binaryen-archive/src/export.ml +33 -0
- binaryen-archive/src/expression.ml +808 -73
- binaryen-archive/src/function.ml +18 -0
- binaryen-archive/src/global.ml +14 -0
- binaryen-archive/src/import.ml +12 -0
- binaryen-archive/src/literal.ml +2 -2
- binaryen-archive/src/module.ml +62 -38
- binaryen-archive/src/ocaml_helpers.c +0 -8
- binaryen-archive/src/ocaml_helpers.h +2 -3
- binaryen-archive/src/op.ml +18 -131
- binaryen-archive/src/settings.ml +45 -0
- binaryen-archive/src/table.ml +26 -0
- binaryen-archive/src/type.ml +2 -0
- binaryen-archive/test/config/dune +8 -0
- binaryen-archive/test/config/ocamlopt_flags.ml +16 -0
- binaryen-archive/test/dune +6 -9
- binaryen-archive/test/test.expected +76 -0
- binaryen-archive/test/test.ml +110 -8
- binaryen-archive/virtual/dune +2 -2
- binaryen-archive/virtual/element_segment.mli +11 -0
- binaryen-archive/virtual/export.mli +22 -0
- binaryen-archive/virtual/expression.mli +389 -33
- binaryen-archive/virtual/function.mli +16 -0
- binaryen-archive/virtual/global.mli +12 -0
- binaryen-archive/virtual/import.mli +8 -0
- binaryen-archive/virtual/literal.mli +2 -2
- binaryen-archive/virtual/module.mli +25 -27
- binaryen-archive/virtual/op.mli +9 -53
- binaryen-archive/virtual/settings.mli +35 -0
- binaryen-archive/virtual/table.mli +19 -0
- binaryen-archive/virtual/type.mli +2 -0
- 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/features.ml +0 -27
- binaryen-archive/js/function_table.ml +0 -11
- binaryen-archive/src/binaryen_stubs_function_tables.c +0 -25
- binaryen-archive/src/config/dune +0 -8
- binaryen-archive/src/config/library_flags.ml +0 -17
- binaryen-archive/src/features.ml +0 -49
- binaryen-archive/src/function_table.ml +0 -4
- 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/features.mli +0 -23
- binaryen-archive/virtual/function_table.mli +0 -2
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
#include <caml/mlvalues.h>
|
|
3
3
|
#include <caml/fail.h>
|
|
4
4
|
#include <caml/memory.h>
|
|
5
|
+
#include <caml/alloc.h>
|
|
5
6
|
|
|
6
7
|
#include "binaryen-c.h"
|
|
7
8
|
#include "ocaml_helpers.h"
|
|
@@ -55,6 +56,15 @@ caml_binaryen_add_global_export(value _module, value _internalName, value _exter
|
|
|
55
56
|
CAMLreturn(alloc_BinaryenExportRef(exp));
|
|
56
57
|
}
|
|
57
58
|
|
|
59
|
+
CAMLprim value
|
|
60
|
+
caml_binaryen_get_export(value _module, value _externalName) {
|
|
61
|
+
CAMLparam2(_module, _externalName);
|
|
62
|
+
BinaryenModuleRef module = BinaryenModuleRef_val(_module);
|
|
63
|
+
char* externalName = Safe_String_val(_externalName);
|
|
64
|
+
BinaryenExportRef exp = BinaryenGetExport(module, externalName);
|
|
65
|
+
CAMLreturn(alloc_BinaryenExportRef(exp));
|
|
66
|
+
}
|
|
67
|
+
|
|
58
68
|
CAMLprim value
|
|
59
69
|
caml_binaryen_remove_export(value _module, value _externalName) {
|
|
60
70
|
CAMLparam2(_module, _externalName);
|
|
@@ -63,3 +73,71 @@ caml_binaryen_remove_export(value _module, value _externalName) {
|
|
|
63
73
|
BinaryenRemoveExport(module, externalName);
|
|
64
74
|
CAMLreturn(Val_unit);
|
|
65
75
|
}
|
|
76
|
+
|
|
77
|
+
CAMLprim value
|
|
78
|
+
caml_binaryen_get_num_exports(value _module) {
|
|
79
|
+
CAMLparam1(_module);
|
|
80
|
+
BinaryenModuleRef module = BinaryenModuleRef_val(_module);
|
|
81
|
+
BinaryenIndex num = BinaryenGetNumExports(module);
|
|
82
|
+
CAMLreturn(Val_int(num));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
CAMLprim value
|
|
86
|
+
caml_binaryen_get_export_by_index(value _module, value _index) {
|
|
87
|
+
CAMLparam2(_module, _index);
|
|
88
|
+
BinaryenModuleRef module = BinaryenModuleRef_val(_module);
|
|
89
|
+
BinaryenIndex index = Int_val(_index);
|
|
90
|
+
BinaryenExportRef exp = BinaryenGetExportByIndex(module, index);
|
|
91
|
+
CAMLreturn(alloc_BinaryenExportRef(exp));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
CAMLprim value
|
|
95
|
+
caml_binaryen_export_get_name(value _exp) {
|
|
96
|
+
CAMLparam1(_exp);
|
|
97
|
+
BinaryenExportRef exp = BinaryenExportRef_val(_exp);
|
|
98
|
+
CAMLreturn(caml_copy_string(BinaryenExportGetName(exp)));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
CAMLprim value
|
|
102
|
+
caml_binaryen_export_get_value(value _exp) {
|
|
103
|
+
CAMLparam1(_exp);
|
|
104
|
+
BinaryenExportRef exp = BinaryenExportRef_val(_exp);
|
|
105
|
+
CAMLreturn(caml_copy_string(BinaryenExportGetValue(exp)));
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
CAMLprim value
|
|
109
|
+
caml_binaryen_external_function(value _unit) {
|
|
110
|
+
CAMLparam1(_unit);
|
|
111
|
+
CAMLreturn(Val_int(BinaryenExternalFunction()));
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
CAMLprim value
|
|
115
|
+
caml_binaryen_external_table(value _unit) {
|
|
116
|
+
CAMLparam1(_unit);
|
|
117
|
+
CAMLreturn(Val_int(BinaryenExternalTable()));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
CAMLprim value
|
|
121
|
+
caml_binaryen_external_memory(value _unit) {
|
|
122
|
+
CAMLparam1(_unit);
|
|
123
|
+
CAMLreturn(Val_int(BinaryenExternalMemory()));
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
CAMLprim value
|
|
127
|
+
caml_binaryen_external_global(value _unit) {
|
|
128
|
+
CAMLparam1(_unit);
|
|
129
|
+
CAMLreturn(Val_int(BinaryenExternalGlobal()));
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
CAMLprim value
|
|
133
|
+
caml_binaryen_external_event(value _unit) {
|
|
134
|
+
CAMLparam1(_unit);
|
|
135
|
+
CAMLreturn(Val_int(BinaryenExternalEvent()));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
CAMLprim value
|
|
139
|
+
caml_binaryen_export_get_kind(value _exp) {
|
|
140
|
+
CAMLparam1(_exp);
|
|
141
|
+
BinaryenExportRef exp = BinaryenExportRef_val(_exp);
|
|
142
|
+
CAMLreturn(Val_int(BinaryenExportGetKind(exp)));
|
|
143
|
+
}
|