@grain/binaryen.ml 0.20.1 → 0.22.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 (111) hide show
  1. binaryen-archive/CHANGELOG.md +64 -0
  2. binaryen-archive/binaryen.opam +3 -3
  3. binaryen-archive/esy.lock/index.json +491 -426
  4. binaryen-archive/esy.lock/opam/{base.v0.15.1 → base.v0.16.1}/opam +7 -4
  5. binaryen-archive/esy.lock/opam/{chrome-trace.3.6.1 → chrome-trace.3.9.1}/opam +4 -4
  6. binaryen-archive/esy.lock/opam/{cmdliner.1.1.1 → cmdliner.1.2.0}/opam +2 -2
  7. binaryen-archive/esy.lock/opam/{csexp.1.5.1 → csexp.1.5.2}/opam +7 -9
  8. binaryen-archive/esy.lock/opam/{dune-build-info.3.6.1 → dune-build-info.3.9.1}/opam +4 -4
  9. binaryen-archive/esy.lock/opam/{dune-configurator.3.6.1 → dune-configurator.3.9.1}/opam +4 -4
  10. binaryen-archive/esy.lock/opam/{dune-rpc.3.6.1 → dune-rpc.3.9.1}/opam +4 -4
  11. binaryen-archive/esy.lock/opam/{dune.3.6.1 → dune.3.9.1}/opam +5 -5
  12. binaryen-archive/esy.lock/opam/{dyn.3.6.1 → dyn.3.9.1}/opam +4 -4
  13. binaryen-archive/esy.lock/opam/fiber.3.7.0/opam +39 -0
  14. binaryen-archive/esy.lock/opam/{fix.20220121 → fix.20230505}/opam +3 -3
  15. binaryen-archive/esy.lock/opam/gen.1.1/opam +31 -0
  16. binaryen-archive/esy.lock/opam/{js_of_ocaml-compiler.4.1.0 → js_of_ocaml-compiler.5.4.0}/opam +10 -10
  17. binaryen-archive/esy.lock/opam/{menhir.20220210 → menhir.20230608}/opam +4 -4
  18. binaryen-archive/esy.lock/opam/{menhirLib.20220210 → menhirLib.20230608}/opam +4 -4
  19. binaryen-archive/esy.lock/opam/{menhirSdk.20220210 → menhirSdk.20230608}/opam +4 -4
  20. binaryen-archive/esy.lock/opam/{ocamlbuild.0.14.2 → ocamlbuild.0.14.2+win}/opam +13 -14
  21. binaryen-archive/esy.lock/opam/ocamlfind.1.9.6/files/0001-Harden-test-for-OCaml-5.patch +12 -0
  22. binaryen-archive/esy.lock/opam/{ocamlfind.1.9.5 → ocamlfind.1.9.6}/opam +8 -7
  23. binaryen-archive/esy.lock/opam/{ocamlformat-rpc-lib.0.24.1 → ocamlformat-rpc-lib.0.25.1}/opam +4 -4
  24. binaryen-archive/esy.lock/opam/ocamlformat.0.24.1/opam +1 -1
  25. binaryen-archive/esy.lock/opam/{ordering.3.6.1 → ordering.3.9.1}/opam +4 -4
  26. binaryen-archive/esy.lock/opam/{ppx_yojson_conv_lib.v0.15.0 → ppx_yojson_conv_lib.v0.16.0}/opam +3 -3
  27. binaryen-archive/esy.lock/opam/{ppxlib.0.28.0 → ppxlib.0.29.1}/opam +5 -5
  28. binaryen-archive/esy.lock/opam/sedlex.3.2/opam +48 -0
  29. binaryen-archive/esy.lock/opam/{sexplib0.v0.15.1 → sexplib0.v0.16.0}/opam +3 -3
  30. binaryen-archive/esy.lock/opam/{stdio.v0.15.0 → stdio.v0.16.0}/opam +4 -4
  31. binaryen-archive/esy.lock/opam/{stdune.3.6.1 → stdune.3.9.1}/opam +4 -4
  32. binaryen-archive/esy.lock/opam/{topkg.1.0.6 → topkg.1.0.7}/opam +2 -2
  33. binaryen-archive/esy.lock/opam/{xdg.3.6.1 → xdg.3.9.1}/opam +4 -4
  34. binaryen-archive/esy.lock/opam/{yojson.2.0.2 → yojson.2.1.0}/opam +33 -23
  35. binaryen-archive/esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.2+win_opam_override/files/ocamlbuild-0.14.2.patch +0 -0
  36. binaryen-archive/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override/files/findlib.patch +11 -0
  37. binaryen-archive/package.json +3 -3
  38. binaryen-archive/src/array_type.c +29 -0
  39. binaryen-archive/src/array_type.js +17 -0
  40. binaryen-archive/src/array_type.ml +8 -0
  41. binaryen-archive/src/array_type.mli +3 -0
  42. binaryen-archive/src/dune +38 -32
  43. binaryen-archive/src/{binaryen_stubs_exports.c → export.c} +0 -8
  44. binaryen-archive/src/{binaryen_stubs_expressions.c → expression.c} +24 -15
  45. binaryen-archive/src/{binaryen_stubs_expressions.js → expression.js} +20 -6
  46. binaryen-archive/src/expression.ml +14 -5
  47. binaryen-archive/src/expression.mli +10 -2
  48. binaryen-archive/src/{binaryen_stubs_functions.c → function.c} +0 -24
  49. binaryen-archive/src/{binaryen_stubs_globals.c → global.c} +0 -25
  50. binaryen-archive/src/heap_type.c +171 -0
  51. binaryen-archive/src/heap_type.js +131 -0
  52. binaryen-archive/src/heap_type.ml +12 -1
  53. binaryen-archive/src/heap_type.mli +12 -1
  54. binaryen-archive/src/{binaryen_stubs_literals.c → literal.c} +0 -9
  55. binaryen-archive/src/{binaryen_stubs_memory.c → memory.c} +15 -5
  56. binaryen-archive/src/{binaryen_stubs_memory.js → memory.js} +11 -1
  57. binaryen-archive/src/memory.ml +6 -3
  58. binaryen-archive/src/memory.mli +10 -1
  59. binaryen-archive/src/{binaryen_stubs_modules.c → module.c} +0 -9
  60. binaryen-archive/src/module.ml +4 -5
  61. binaryen-archive/src/module.mli +1 -1
  62. binaryen-archive/src/{binaryen_stubs_features.c → module_feature.c} +6 -6
  63. binaryen-archive/src/{binaryen_stubs_features.js → module_feature.js} +6 -6
  64. binaryen-archive/src/ocaml_helpers.c +87 -0
  65. binaryen-archive/src/ocaml_helpers.h +33 -0
  66. binaryen-archive/src/{binaryen_stubs_ops.c → op.c} +597 -333
  67. binaryen-archive/src/op.js +2129 -0
  68. binaryen-archive/src/op.ml +499 -352
  69. binaryen-archive/src/op.mli +46 -7
  70. binaryen-archive/src/passes.ml +46 -0
  71. binaryen-archive/src/passes.mli +45 -0
  72. binaryen-archive/src/signature_type.c +23 -0
  73. binaryen-archive/src/signature_type.js +11 -0
  74. binaryen-archive/src/signature_type.ml +5 -0
  75. binaryen-archive/src/signature_type.mli +2 -0
  76. binaryen-archive/src/struct_type.c +39 -0
  77. binaryen-archive/src/struct_type.js +23 -0
  78. binaryen-archive/src/struct_type.ml +11 -0
  79. binaryen-archive/src/struct_type.mli +4 -0
  80. binaryen-archive/src/{binaryen_stubs_tables.c → table.c} +0 -25
  81. binaryen-archive/src/{binaryen_stubs_types.c → type.c} +30 -12
  82. binaryen-archive/src/{binaryen_stubs_types.js → type.js} +31 -3
  83. binaryen-archive/src/type.ml +18 -2
  84. binaryen-archive/src/type.mli +5 -1
  85. binaryen-archive/src/{binaryen_stubs_type_system.c → type_system.c} +0 -6
  86. binaryen-archive/src/{binaryen_stubs_type_system.js → type_system.js} +0 -6
  87. binaryen-archive/src/type_system.ml +0 -1
  88. binaryen-archive/src/type_system.mli +0 -1
  89. binaryen-archive/test/test.expected +13 -13
  90. binaryen-archive/test/test.ml +11 -3
  91. binaryen-archive/esy.lock/opam/fiber.3.6.1/opam +0 -41
  92. binaryen-archive/esy.lock/opam/ocamlfind.1.9.5/files/0001-Fix-bug-when-installing-with-a-system-compiler.patch +0 -26
  93. binaryen-archive/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.5_opam_override/files/findlib.patch +0 -485
  94. binaryen-archive/src/binaryen_stubs_heap_types.c +0 -95
  95. binaryen-archive/src/binaryen_stubs_heap_types.js +0 -65
  96. binaryen-archive/src/binaryen_stubs_ops.js +0 -1895
  97. /binaryen-archive/esy.lock/overrides/{opam__s__ocamlbuild_opam__c__0.14.2_opam_override → opam__s__ocamlbuild_opam__c__0.14.2+win_opam_override}/files/winpatch.patch +0 -0
  98. /binaryen-archive/esy.lock/overrides/{opam__s__ocamlbuild_opam__c__0.14.2_opam_override → opam__s__ocamlbuild_opam__c__0.14.2+win_opam_override}/package.json +0 -0
  99. /binaryen-archive/esy.lock/overrides/{opam__s__ocamlfind_opam__c__1.9.5_opam_override → opam__s__ocamlfind_opam__c__1.9.6_opam_override}/package.json +0 -0
  100. /binaryen-archive/src/{binaryen_stubs_exports.js → export.js} +0 -0
  101. /binaryen-archive/src/{binaryen_stubs_functions.js → function.js} +0 -0
  102. /binaryen-archive/src/{binaryen_stubs_globals.js → global.js} +0 -0
  103. /binaryen-archive/src/{binaryen_stubs_imports.c → import.c} +0 -0
  104. /binaryen-archive/src/{binaryen_stubs_imports.js → import.js} +0 -0
  105. /binaryen-archive/src/{binaryen_stubs_literals.js → literal.js} +0 -0
  106. /binaryen-archive/src/{binaryen_stubs_modules.js → module.js} +0 -0
  107. /binaryen-archive/src/{binaryen_stubs_packed_types.c → packed_type.c} +0 -0
  108. /binaryen-archive/src/{binaryen_stubs_packed_types.js → packed_type.js} +0 -0
  109. /binaryen-archive/src/{binaryen_stubs_settings.c → settings.c} +0 -0
  110. /binaryen-archive/src/{binaryen_stubs_settings.js → settings.js} +0 -0
  111. /binaryen-archive/src/{binaryen_stubs_tables.js → table.js} +0 -0
@@ -6,6 +6,93 @@
6
6
 
7
7
  #include "ocaml_helpers.h"
8
8
 
9
+ /* Allocating an OCaml custom block to hold the given BinaryenFunctionRef */
10
+ value alloc_BinaryenFunctionRef(BinaryenFunctionRef fun)
11
+ {
12
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenFunctionRef), 0, 1);
13
+ BinaryenFunctionRef_val(v) = fun;
14
+ return v;
15
+ }
16
+
17
+ /* Allocating an OCaml custom block to hold the given BinaryenExpressionRef */
18
+ value alloc_BinaryenExpressionRef(BinaryenExpressionRef exp)
19
+ {
20
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenExpressionRef), 0, 1);
21
+ BinaryenExpressionRef_val(v) = exp;
22
+ return v;
23
+ }
24
+
25
+ /* Allocating an OCaml custom block to hold the given BinaryenType */
26
+ value alloc_BinaryenType(BinaryenType typ)
27
+ {
28
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenType), 0, 1);
29
+ BinaryenType_val(v) = typ;
30
+ return v;
31
+ }
32
+
33
+ /* Allocating an OCaml custom block to hold the given BinaryenGlobalRef */
34
+ value alloc_BinaryenGlobalRef(BinaryenGlobalRef exp)
35
+ {
36
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenGlobalRef), 0, 1);
37
+ BinaryenGlobalRef_val(v) = exp;
38
+ return v;
39
+ }
40
+
41
+ /* Allocating an OCaml custom block to hold the given BinaryenExportRef */
42
+ value alloc_BinaryenExportRef(BinaryenExportRef exp)
43
+ {
44
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenExportRef), 0, 1);
45
+ BinaryenExportRef_val(v) = exp;
46
+ return v;
47
+ }
48
+
49
+ /* Allocating an OCaml custom block to hold the given BinaryenHeapType */
50
+ value alloc_BinaryenHeapType(BinaryenHeapType typ)
51
+ {
52
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenHeapType), 0, 1);
53
+ BinaryenHeapType_val(v) = typ;
54
+ return v;
55
+ }
56
+
57
+ /* Allocating an OCaml custom block to hold the given BinaryenLiteral */
58
+ value alloc_BinaryenLiteral(struct BinaryenLiteral op)
59
+ {
60
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(struct BinaryenLiteral), 0, 1);
61
+ BinaryenLiteral_val(v) = op;
62
+ return v;
63
+ }
64
+
65
+ /* Allocating an OCaml custom block to hold the given BinaryenModuleRef */
66
+ value alloc_BinaryenModuleRef(BinaryenModuleRef typ)
67
+ {
68
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenModuleRef), 0, 1);
69
+ BinaryenModuleRef_val(v) = typ;
70
+ return v;
71
+ }
72
+
73
+ /* Allocating an OCaml custom block to hold the given BinaryenOp */
74
+ value alloc_BinaryenOp(BinaryenOp op)
75
+ {
76
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenOp), 0, 1);
77
+ BinaryenOp_val(v) = op;
78
+ return v;
79
+ }
80
+
81
+ /* Allocating an OCaml custom block to hold the given BinaryenTableRef */
82
+ value alloc_BinaryenTableRef(BinaryenTableRef table)
83
+ {
84
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenTableRef), 0, 1);
85
+ BinaryenTableRef_val(v) = table;
86
+ return v;
87
+ }
88
+
89
+ /* Allocating an OCaml custom block to hold the given BinaryenElementSegmentRef */
90
+ value alloc_BinaryenElementSegmentRef(BinaryenElementSegmentRef elem)
91
+ {
92
+ value v = caml_alloc_custom(&binaryen_ops, sizeof(BinaryenElementSegmentRef), 0, 1);
93
+ BinaryenElementSegmentRef_val(v) = elem;
94
+ return v;
95
+ }
9
96
 
10
97
  CAMLprim value
11
98
  array_of_list(value list) {
@@ -41,6 +41,39 @@ static struct custom_operations binaryen_ops = {
41
41
 
42
42
  #define Safe_String_val(v) ((char *)memcpy(malloc(caml_string_length(v) + 1), String_val(v), caml_string_length(v) + 1))
43
43
 
44
+ /* Allocating an OCaml custom block to hold the given BinaryenFunctionRef */
45
+ value alloc_BinaryenFunctionRef(BinaryenFunctionRef fun);
46
+
47
+ /* Allocating an OCaml custom block to hold the given BinaryenExpressionRef */
48
+ value alloc_BinaryenExpressionRef(BinaryenExpressionRef exp);
49
+
50
+ /* Allocating an OCaml custom block to hold the given BinaryenType */
51
+ value alloc_BinaryenType(BinaryenType typ);
52
+
53
+ /* Allocating an OCaml custom block to hold the given BinaryenGlobalRef */
54
+ value alloc_BinaryenGlobalRef(BinaryenGlobalRef exp);
55
+
56
+ /* Allocating an OCaml custom block to hold the given BinaryenExportRef */
57
+ value alloc_BinaryenExportRef(BinaryenExportRef exp);
58
+
59
+ /* Allocating an OCaml custom block to hold the given BinaryenHeapType */
60
+ value alloc_BinaryenHeapType(BinaryenHeapType typ);
61
+
62
+ /* Allocating an OCaml custom block to hold the given BinaryenLiteral */
63
+ value alloc_BinaryenLiteral(struct BinaryenLiteral op);
64
+
65
+ /* Allocating an OCaml custom block to hold the given BinaryenModuleRef */
66
+ value alloc_BinaryenModuleRef(BinaryenModuleRef typ);
67
+
68
+ /* Allocating an OCaml custom block to hold the given BinaryenOp */
69
+ value alloc_BinaryenOp(BinaryenOp op);
70
+
71
+ /* Allocating an OCaml custom block to hold the given BinaryenTableRef */
72
+ value alloc_BinaryenTableRef(BinaryenTableRef table);
73
+
74
+ /* Allocating an OCaml custom block to hold the given BinaryenElementSegmentRef */
75
+ value alloc_BinaryenElementSegmentRef(BinaryenElementSegmentRef elem);
76
+
44
77
  CAMLprim value
45
78
  array_of_list(value list);
46
79