@grain/binaryen.ml 0.11.2 → 0.12.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.
Files changed (134) hide show
  1. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/.gitattributes +0 -0
  2. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/.gitignore +0 -0
  3. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/.gitmodules +0 -0
  4. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/CHANGELOG.md +15 -0
  5. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/LICENSE +0 -0
  6. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/README.md +1 -1
  7. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/binaryen.opam +2 -2
  8. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/dune +0 -0
  9. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/dune-project +0 -0
  10. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/dune-workspace +0 -0
  11. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/.gitattributes +0 -0
  12. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/.gitignore +0 -0
  13. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/index.json +111 -111
  14. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/astring.0.8.5/opam +0 -0
  15. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/base-threads.base/opam +0 -0
  16. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/base-unix.base/opam +0 -0
  17. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/base.v0.14.2/opam +0 -0
  18. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/biniou.1.2.1/opam +0 -0
  19. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/cmdliner.1.0.4/opam +0 -0
  20. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/cppo.1.6.8/opam +0 -0
  21. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/csexp.1.5.1/opam +0 -0
  22. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/dune-build-info.2.9.1/opam +0 -0
  23. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/dune-configurator.2.9.1/opam +0 -0
  24. {binaryen-archive-v0.11.2/esy.lock/opam/dune.2.9.1 → binaryen-archive-v0.12.0/esy.lock/opam/dune.2.9.2}/opam +5 -4
  25. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/easy-format.1.3.2/opam +0 -0
  26. {binaryen-archive-v0.11.2/esy.lock/opam/fix.20211231 → binaryen-archive-v0.12.0/esy.lock/opam/fix.20220121}/opam +3 -3
  27. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/fpath.0.7.3/opam +0 -0
  28. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/js_of_ocaml-compiler.3.11.0/opam +0 -0
  29. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/js_of_ocaml-ppx.3.11.0/opam +0 -0
  30. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/js_of_ocaml.3.11.0/opam +0 -0
  31. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/menhir.20211128/opam +1 -1
  32. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/menhirLib.20211128/opam +0 -0
  33. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/menhirSdk.20211128/opam +0 -0
  34. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam +0 -0
  35. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/ocaml-lsp-server.1.9.0/opam +0 -0
  36. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/ocaml-migrate-parsetree.2.3.0/opam +0 -0
  37. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/ocaml-version.3.4.0/opam +0 -0
  38. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/ocamlbuild.0.14.0/opam +0 -0
  39. {binaryen-archive-v0.11.2/esy.lock/opam/ocamlfind.1.9.1 → binaryen-archive-v0.12.0/esy.lock/opam/ocamlfind.1.9.2}/opam +3 -3
  40. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/ocamlformat-rpc-lib.0.19.0/opam +0 -0
  41. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/ocamlformat.0.18.0/opam +0 -0
  42. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/odoc.1.5.3/opam +0 -0
  43. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/pp.1.1.2/opam +0 -0
  44. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/ppx_derivers.1.2.1/opam +0 -0
  45. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/ppx_yojson_conv_lib.v0.14.0/opam +0 -0
  46. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/ppxlib.0.22.2/opam +0 -0
  47. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/re.1.10.3/opam +0 -0
  48. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/result.1.5/opam +0 -0
  49. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/seq.base/files/META.seq +0 -0
  50. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/seq.base/files/seq.install +0 -0
  51. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/seq.base/opam +0 -0
  52. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/sexplib0.v0.14.0/opam +0 -0
  53. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/spawn.v0.15.0/opam +0 -0
  54. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/stdio.v0.14.0/opam +0 -0
  55. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/stdlib-shims.0.3.0/opam +0 -0
  56. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/topkg.1.0.4/opam +0 -0
  57. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/tyxml.4.5.0/opam +0 -0
  58. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/uchar.0.0.2/opam +0 -0
  59. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/uucp.14.0.0/opam +0 -0
  60. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/uuseg.14.0.0/opam +0 -0
  61. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/uutf.1.0.2/opam +0 -0
  62. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/opam/yojson.1.7.0/opam +0 -0
  63. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch +0 -0
  64. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json +0 -0
  65. binaryen-archive-v0.11.2/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.1_opam_override/files/findlib-1.9.1.patch → binaryen-archive-v0.12.0/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.2_opam_override/files/findlib-1.9.2.patch +0 -0
  66. {binaryen-archive-v0.11.2/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.1_opam_override → binaryen-archive-v0.12.0/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.2_opam_override}/package.json +1 -1
  67. binaryen-archive-v0.12.0/js/binaryen.es5.js +5 -0
  68. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/dune +0 -0
  69. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/element_segment.ml +0 -0
  70. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/export.ml +1 -1
  71. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/expression.ml +0 -0
  72. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/function.ml +0 -0
  73. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/global.ml +0 -0
  74. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/import.ml +0 -0
  75. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/literal.ml +0 -0
  76. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/memory.ml +0 -0
  77. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/module.ml +3 -0
  78. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/op.ml +0 -0
  79. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/postlude.js +0 -0
  80. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/prelude.js +0 -0
  81. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/settings.ml +0 -0
  82. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/stubs.c +0 -0
  83. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/table.ml +2 -2
  84. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/js/type.ml +0 -0
  85. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/package.json +2 -2
  86. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_exports.c +2 -2
  87. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_expressions.c +0 -0
  88. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_features.c +0 -0
  89. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_functions.c +0 -0
  90. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_globals.c +0 -0
  91. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_imports.c +0 -0
  92. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_literals.c +0 -0
  93. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_memory.c +0 -0
  94. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_modules.c +7 -0
  95. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_ops.c +0 -0
  96. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_settings.c +0 -0
  97. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_tables.c +4 -3
  98. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/binaryen_stubs_types.c +0 -0
  99. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/dune +1 -2
  100. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/element_segment.ml +0 -0
  101. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/export.ml +2 -2
  102. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/expression.ml +0 -0
  103. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/function.ml +0 -0
  104. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/global.ml +0 -0
  105. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/import.ml +0 -0
  106. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/literal.ml +0 -0
  107. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/memory.ml +0 -0
  108. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/module.ml +2 -0
  109. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/ocaml_helpers.c +0 -0
  110. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/ocaml_helpers.h +0 -0
  111. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/op.ml +0 -0
  112. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/settings.ml +0 -0
  113. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/table.ml +2 -2
  114. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/src/type.ml +0 -0
  115. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/test/config/dune +0 -0
  116. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/test/config/ocamlopt_flags.ml +0 -0
  117. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/test/dune +0 -0
  118. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/test/test.expected +5 -5
  119. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/test/test.ml +4 -1
  120. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/dune +0 -0
  121. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/element_segment.mli +0 -0
  122. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/export.mli +1 -1
  123. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/expression.mli +0 -0
  124. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/function.mli +0 -0
  125. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/global.mli +0 -0
  126. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/import.mli +0 -0
  127. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/literal.mli +0 -0
  128. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/memory.mli +0 -0
  129. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/module.mli +2 -0
  130. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/op.mli +0 -0
  131. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/settings.mli +0 -0
  132. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/table.mli +1 -1
  133. {binaryen-archive-v0.11.2 → binaryen-archive-v0.12.0}/virtual/type.mli +0 -0
  134. binaryen-archive-v0.11.2/js/binaryen.es5.js +0 -5
@@ -51,7 +51,7 @@ let external_memory = meth_call global##.binaryen "_BinaryenExternalMemory" [||]
51
51
 
52
52
  let external_global = meth_call global##.binaryen "_BinaryenExternalGlobal" [||]
53
53
 
54
- let external_event = meth_call global##.binaryen "_BinaryenExternalEvent" [||]
54
+ let external_tag = meth_call global##.binaryen "_BinaryenExternalTag" [||]
55
55
 
56
56
  let export_get_kind export =
57
57
  let export_info =
@@ -114,3 +114,6 @@ let add_debug_info_filename wasm_mod filename =
114
114
 
115
115
  let get_debug_info_filename wasm_mod index =
116
116
  meth_call wasm_mod "getDebugInfoFileName" [| inject index |]
117
+
118
+ (* The JS version doesn't expose `update_maps` *)
119
+ let update_maps wasm_mod = ()
@@ -3,9 +3,9 @@ open Js_of_ocaml.Js.Unsafe
3
3
 
4
4
  type t = int
5
5
 
6
- let add_table wasm_mod name initial maximum =
6
+ let add_table wasm_mod name initial maximum tableType =
7
7
  meth_call wasm_mod "addTable"
8
- [| inject (string name); inject initial; inject maximum |]
8
+ [| inject (string name); inject initial; inject maximum; inject tableType |]
9
9
 
10
10
  let add_active_element_segment wasm_mod table name funcnames offset =
11
11
  meth_call wasm_mod "addActiveElementSegment"
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@grain/binaryen.ml",
3
- "version": "0.11.2",
3
+ "version": "0.12.0",
4
4
  "description": "OCaml bindings for Binaryen.",
5
5
  "author": "Oscar Spencer <oscar@grain-lang.org>",
6
6
  "license": "Apache-2.0",
7
7
  "dependencies": {
8
8
  "ocaml": ">= 4.12.0 < 4.13.0",
9
- "@grain/libbinaryen": "^101.0.1",
9
+ "@grain/libbinaryen": "^102.0.4",
10
10
  "@opam/dune": "^2.9.1",
11
11
  "@opam/dune-configurator": "^2.9.1",
12
12
  "@opam/js_of_ocaml": "^3.10.0",
@@ -130,9 +130,9 @@ caml_binaryen_external_global(value _unit) {
130
130
  }
131
131
 
132
132
  CAMLprim value
133
- caml_binaryen_external_event(value _unit) {
133
+ caml_binaryen_external_tag(value _unit) {
134
134
  CAMLparam1(_unit);
135
- CAMLreturn(Val_int(BinaryenExternalEvent()));
135
+ CAMLreturn(Val_int(BinaryenExternalTag()));
136
136
  }
137
137
 
138
138
  CAMLprim value
@@ -172,3 +172,10 @@ caml_binaryen_add_custom_section(value _module, value _name, value _contents) {
172
172
  BinaryenAddCustomSection(module, name, contents, contentsLen);
173
173
  CAMLreturn(Val_unit);
174
174
  }
175
+
176
+ CAMLprim value
177
+ caml_binaryen_module_update_maps(value module) {
178
+ CAMLparam1(module);
179
+ BinaryenModuleUpdateMaps(BinaryenModuleRef_val(module));
180
+ CAMLreturn(Val_unit);
181
+ }
@@ -33,13 +33,14 @@ static value alloc_BinaryenExpressionRef(BinaryenExpressionRef exp)
33
33
  }
34
34
 
35
35
  CAMLprim value
36
- caml_binaryen_add_table(value _module, value _table, value _initial, value _maximum) {
37
- CAMLparam4(_module, _table, _initial, _maximum);
36
+ caml_binaryen_add_table(value _module, value _table, value _initial, value _maximum, value _tableType) {
37
+ CAMLparam5(_module, _table, _initial, _maximum, _tableType);
38
38
  BinaryenModuleRef module = BinaryenModuleRef_val(_module);
39
39
  char* table = Safe_String_val(_table);
40
40
  BinaryenIndex initial = Int_val(_initial);
41
41
  BinaryenIndex maximum = Int_val(_maximum);
42
- CAMLreturn(alloc_BinaryenTableRef(BinaryenAddTable(module, table, initial, maximum)));
42
+ BinaryenType tableType = BinaryenType_val(_tableType);
43
+ CAMLreturn(alloc_BinaryenTableRef(BinaryenAddTable(module, table, initial, maximum, tableType)));
43
44
  }
44
45
 
45
46
  CAMLprim value
@@ -10,5 +10,4 @@
10
10
  binaryen_stubs_imports binaryen_stubs_exports binaryen_stubs_globals
11
11
  binaryen_stubs_tables binaryen_stubs_memory binaryen_stubs_features
12
12
  binaryen_stubs_modules binaryen_stubs_settings ocaml_helpers)
13
- (flags :standard -O2 -Wall -Wextra))
14
- (c_library_flags :standard -lstdc++ -lpthread))
13
+ (flags :standard -O2 -Wall -Wextra)))
@@ -47,8 +47,8 @@ external external_global : unit -> int = "caml_binaryen_external_global"
47
47
 
48
48
  let external_global = external_global ()
49
49
 
50
- external external_event : unit -> int = "caml_binaryen_external_event"
50
+ external external_tag : unit -> int = "caml_binaryen_external_tag"
51
51
 
52
- let external_event = external_event ()
52
+ let external_tag = external_tag ()
53
53
 
54
54
  external export_get_kind : t -> int = "caml_binaryen_export_get_kind"
@@ -113,3 +113,5 @@ external add_debug_info_filename : t -> string -> int
113
113
 
114
114
  external get_debug_info_filename : t -> int -> string
115
115
  = "caml_binaryen_module_get_debug_info_filename"
116
+
117
+ external update_maps : t -> unit = "caml_binaryen_module_update_maps"
@@ -1,8 +1,8 @@
1
1
  type t
2
2
 
3
- external add_table : Module.t -> string -> int -> int -> t
3
+ external add_table : Module.t -> string -> int -> int -> Type.t -> t
4
4
  = "caml_binaryen_add_table"
5
- (** Module, name, initial size, maximum size. *)
5
+ (** Module, name, initial size, maximum size, table type *)
6
6
 
7
7
  external add_active_element_segment :
8
8
  Module.t ->
@@ -1,8 +1,8 @@
1
1
  (module
2
2
  (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
3
3
  (type $none_=>_none (func))
4
- (type $externref_=>_i32 (func (param externref) (result i32)))
5
4
  (type $externref_i32_i32_=>_i32 (func (param externref i32 i32) (result i32)))
5
+ (type $externref_=>_i32 (func (param externref) (result i32)))
6
6
  (import "future-wasi" "write" (func $write (param externref i32 i32) (result i32)))
7
7
  (global $max_int64 i64 (i64.const 9223372036854775807))
8
8
  (global $test_float64_bits f64 (f64.const 1.23))
@@ -49,10 +49,10 @@
49
49
  )
50
50
  )
51
51
  (module
52
- (type $none_=>_none (func))
53
- (type $externref_=>_i32 (func (param externref) (result i32)))
54
52
  (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
53
+ (type $none_=>_none (func))
55
54
  (type $externref_i32_i32_=>_i32 (func (param externref i32 i32) (result i32)))
55
+ (type $externref_=>_i32 (func (param externref) (result i32)))
56
56
  (import "future-wasi" "write" (func $write (param externref i32 i32) (result i32)))
57
57
  (memory $0 1)
58
58
  (table $table 1 1 funcref)
@@ -90,10 +90,10 @@
90
90
  )
91
91
  )
92
92
  (module
93
+ (type $externref_i32_i32_=>_i32 (func (param externref i32 i32) (result i32)))
94
+ (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
93
95
  (type $none_=>_none (func))
94
96
  (type $externref_=>_i32 (func (param externref) (result i32)))
95
- (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
96
- (type $externref_i32_i32_=>_i32 (func (param externref i32 i32) (result i32)))
97
97
  (import "future-wasi" "write" (func $fimport$0 (param externref i32 i32) (result i32)))
98
98
  (memory $0 1)
99
99
  (table $0 1 1 funcref)
@@ -77,7 +77,7 @@ let start =
77
77
 
78
78
  let _ = Export.add_function_export wasm_mod "adder" "adder"
79
79
 
80
- let _ = Table.add_table wasm_mod "table" 1 1
80
+ let _ = Table.add_table wasm_mod "table" 1 1 Type.funcref
81
81
 
82
82
  let _ =
83
83
  Global.add_global wasm_mod "max_int64" Type.int64 false
@@ -116,6 +116,9 @@ let _ =
116
116
 
117
117
  let _ = Export.add_function_export wasm_mod "hello" "hello"
118
118
 
119
+ (* Shouldn't actually do anything since we aren't doing function renames *)
120
+ let _ = Module.update_maps wasm_mod
121
+
119
122
  (* Finally, we print 3 versions of the module to be checked against test.expected *)
120
123
 
121
124
  (* 1. Print the the module as-is *)
@@ -28,6 +28,6 @@ val external_memory : int
28
28
 
29
29
  val external_global : int
30
30
 
31
- val external_event : int
31
+ val external_tag : int
32
32
 
33
33
  val export_get_kind : t -> int
@@ -63,3 +63,5 @@ val interpret : t -> unit
63
63
  val add_debug_info_filename : t -> string -> int
64
64
 
65
65
  val get_debug_info_filename : t -> int -> string
66
+
67
+ val update_maps : t -> unit
@@ -1,6 +1,6 @@
1
1
  type t
2
2
 
3
- val add_table : Module.t -> string -> int -> int -> t
3
+ val add_table : Module.t -> string -> int -> int -> Type.t -> t
4
4
 
5
5
  val add_active_element_segment :
6
6
  Module.t ->