@grain/binaryen.ml 0.18.0 → 0.20.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 (85) hide show
  1. binaryen-archive/CHANGELOG.md +54 -0
  2. binaryen-archive/README.md +0 -16
  3. binaryen-archive/binaryen.opam +5 -5
  4. binaryen-archive/dune-project +1 -1
  5. binaryen-archive/dune-workspace +1 -1
  6. binaryen-archive/esy.lock/index.json +422 -372
  7. binaryen-archive/esy.lock/opam/{base.v0.14.3 → base.v0.15.1}/opam +4 -4
  8. binaryen-archive/esy.lock/opam/camlp-streams.5.0.1/opam +59 -0
  9. binaryen-archive/esy.lock/opam/chrome-trace.3.6.1/opam +39 -0
  10. binaryen-archive/esy.lock/opam/{dune-build-info.3.3.1 → dune-build-info.3.6.1}/opam +6 -6
  11. binaryen-archive/esy.lock/opam/{dune-configurator.3.3.1 → dune-configurator.3.6.1}/opam +5 -5
  12. binaryen-archive/esy.lock/opam/{dune-rpc.3.3.1 → dune-rpc.3.6.1}/opam +5 -5
  13. binaryen-archive/esy.lock/opam/{dune.3.3.1 → dune.3.6.1}/opam +6 -6
  14. binaryen-archive/esy.lock/opam/{dyn.3.3.1 → dyn.3.6.1}/opam +5 -5
  15. binaryen-archive/esy.lock/opam/{fiber.3.3.1 → fiber.3.6.1}/opam +5 -5
  16. binaryen-archive/esy.lock/opam/{js_of_ocaml-compiler.4.0.0 → js_of_ocaml-compiler.4.1.0}/opam +9 -10
  17. binaryen-archive/esy.lock/opam/menhir.20220210/opam +1 -1
  18. binaryen-archive/esy.lock/opam/menhirLib.20220210/opam +1 -1
  19. binaryen-archive/esy.lock/opam/menhirSdk.20220210/opam +1 -1
  20. binaryen-archive/esy.lock/opam/{ocaml-lsp-server.1.12.2 → ocaml-lsp-server.1.12.4}/opam +7 -6
  21. binaryen-archive/esy.lock/opam/{ocaml-version.3.4.0 → ocaml-version.3.5.0}/opam +4 -4
  22. binaryen-archive/esy.lock/opam/{ocamlbuild.0.14.1 → ocamlbuild.0.14.2}/opam +3 -3
  23. binaryen-archive/esy.lock/opam/ocamlfind.1.9.5/files/0001-Fix-bug-when-installing-with-a-system-compiler.patch +26 -0
  24. binaryen-archive/esy.lock/opam/ocamlfind.1.9.5/opam +2 -0
  25. binaryen-archive/esy.lock/opam/{ocamlformat-rpc-lib.0.22.4 → ocamlformat-rpc-lib.0.24.1}/opam +4 -4
  26. binaryen-archive/esy.lock/opam/{ocamlformat.0.20.1 → ocamlformat.0.24.1}/opam +12 -12
  27. binaryen-archive/esy.lock/opam/{odoc-parser.1.0.0 → odoc-parser.2.0.0}/opam +6 -5
  28. binaryen-archive/esy.lock/opam/omd.1.3.2/opam +50 -0
  29. binaryen-archive/esy.lock/opam/{ordering.3.3.1 → ordering.3.6.1}/opam +5 -5
  30. binaryen-archive/esy.lock/opam/{ppxlib.0.27.0 → ppxlib.0.28.0}/opam +5 -5
  31. binaryen-archive/esy.lock/opam/{sexplib0.v0.14.0 → sexplib0.v0.15.1}/opam +3 -3
  32. binaryen-archive/esy.lock/opam/{stdio.v0.14.0 → stdio.v0.15.0}/opam +4 -4
  33. binaryen-archive/esy.lock/opam/{stdune.3.3.1 → stdune.3.6.1}/opam +5 -5
  34. binaryen-archive/esy.lock/opam/{topkg.1.0.5 → topkg.1.0.6}/opam +22 -19
  35. binaryen-archive/esy.lock/opam/uucp.15.0.0/opam +55 -0
  36. binaryen-archive/esy.lock/opam/{uuseg.14.0.0 → uuseg.15.0.0}/opam +39 -25
  37. binaryen-archive/esy.lock/opam/{xdg.3.3.1 → xdg.3.6.1}/opam +5 -5
  38. binaryen-archive/esy.lock/opam/{yojson.2.0.0 → yojson.2.0.2}/opam +5 -5
  39. binaryen-archive/esy.lock/overrides/{opam__s__ocamlbuild_opam__c__0.14.1_opam_override → opam__s__ocamlbuild_opam__c__0.14.2_opam_override}/files/winpatch.patch +0 -0
  40. binaryen-archive/esy.lock/overrides/{opam__s__ocamlbuild_opam__c__0.14.1_opam_override → opam__s__ocamlbuild_opam__c__0.14.2_opam_override}/package.json +0 -0
  41. binaryen-archive/package.json +8 -8
  42. binaryen-archive/src/binaryen_stubs_expressions.c +43 -33
  43. binaryen-archive/src/binaryen_stubs_expressions.js +221 -42
  44. binaryen-archive/src/binaryen_stubs_features.c +6 -0
  45. binaryen-archive/src/binaryen_stubs_features.js +6 -0
  46. binaryen-archive/src/binaryen_stubs_heap_types.c +95 -0
  47. binaryen-archive/src/binaryen_stubs_heap_types.js +65 -0
  48. binaryen-archive/src/binaryen_stubs_imports.c +16 -0
  49. binaryen-archive/src/binaryen_stubs_imports.js +14 -0
  50. binaryen-archive/src/binaryen_stubs_memory.c +83 -4
  51. binaryen-archive/src/binaryen_stubs_memory.js +95 -5
  52. binaryen-archive/src/binaryen_stubs_modules.c +22 -0
  53. binaryen-archive/src/binaryen_stubs_modules.js +17 -0
  54. binaryen-archive/src/binaryen_stubs_packed_types.c +26 -0
  55. binaryen-archive/src/binaryen_stubs_packed_types.js +17 -0
  56. binaryen-archive/src/binaryen_stubs_type_system.c +40 -0
  57. binaryen-archive/src/binaryen_stubs_type_system.js +29 -0
  58. binaryen-archive/src/binaryen_stubs_types.c +44 -0
  59. binaryen-archive/src/binaryen_stubs_types.js +36 -0
  60. binaryen-archive/src/dune +35 -12
  61. binaryen-archive/src/expression.ml +21 -24
  62. binaryen-archive/src/expression.mli +9 -9
  63. binaryen-archive/src/heap_type.ml +15 -0
  64. binaryen-archive/src/heap_type.mli +12 -0
  65. binaryen-archive/src/import.ml +6 -0
  66. binaryen-archive/src/import.mli +2 -0
  67. binaryen-archive/src/memory.ml +24 -0
  68. binaryen-archive/src/memory.mli +10 -1
  69. binaryen-archive/src/module.ml +12 -0
  70. binaryen-archive/src/module.mli +3 -0
  71. binaryen-archive/src/ocaml_helpers.h +1 -0
  72. binaryen-archive/src/packed_type.ml +13 -0
  73. binaryen-archive/src/packed_type.mli +5 -0
  74. binaryen-archive/src/passes.ml +6 -0
  75. binaryen-archive/src/passes.mli +6 -0
  76. binaryen-archive/src/type.ml +19 -0
  77. binaryen-archive/src/type.mli +7 -0
  78. binaryen-archive/src/type_system.ml +7 -0
  79. binaryen-archive/src/type_system.mli +7 -0
  80. binaryen-archive/test/dune +19 -20
  81. binaryen-archive/test/test.expected +64 -4
  82. binaryen-archive/test/test.ml +49 -5
  83. binaryen-archive/esy.lock/opam/omd.1.3.1/opam +0 -39
  84. binaryen-archive/esy.lock/opam/uucp.14.0.0/opam +0 -41
  85. binaryen-archive/esy.lock/overrides/opam__s__js__of__ocaml_compiler_opam__c__4.0.0_opam_override/package.json +0 -3
@@ -24,7 +24,7 @@ depends: [
24
24
  "ocaml-compiler-libs" {>= "v0.11.0"}
25
25
  "ppx_derivers" {>= "1.0"}
26
26
  "sexplib0" {>= "v0.12"}
27
- "sexplib0" {with-test & < "v0.15"}
27
+ "sexplib0" {with-test & >= "v0.15"}
28
28
  "stdlib-shims"
29
29
  "ocamlfind" {with-test}
30
30
  "re" {with-test & >= "1.9.0"}
@@ -54,10 +54,10 @@ build: [
54
54
  dev-repo: "git+https://github.com/ocaml-ppx/ppxlib.git"
55
55
  url {
56
56
  src:
57
- "https://github.com/ocaml-ppx/ppxlib/releases/download/0.27.0/ppxlib-0.27.0.tbz"
57
+ "https://github.com/ocaml-ppx/ppxlib/releases/download/0.28.0/ppxlib-0.28.0.tbz"
58
58
  checksum: [
59
- "sha256=764b96121d6ffd6a73820e0ec5235176bfc42b94cf2ff97e32d068a5c4b28c62"
60
- "sha512=2dcce0be6acdb3e185bfdad2785303a405c617f99949316abe6793f785d7227c10795ca49e79290bd385873da635191b44e8a5c211de114a168846d5d26f505c"
59
+ "sha256=d87ae5f9a081206308ca964809b50a66aeb8e83d254801e8b9675448b60cf377"
60
+ "sha512=03270d43e91485e63c7dc115a71933ffd8cb2910c273d605d2800fa69f523dcd4de1fbe31fd6c2f6979675c681343bcf4e35be06934565bf28edf4ea03f5da8e"
61
61
  ]
62
62
  }
63
- x-commit-hash: "c33c48981a30359af5b4cddaeb633060c1784d62"
63
+ x-commit-hash: "e027461818a8580e860e59d90ccae28f25cd40d4"
@@ -10,7 +10,7 @@ build: [
10
10
  ["dune" "build" "-p" name "-j" jobs]
11
11
  ]
12
12
  depends: [
13
- "ocaml" {>= "4.04.2" & < "5.0"}
13
+ "ocaml" {>= "4.08"}
14
14
  "dune" {>= "2.0.0"}
15
15
  ]
16
16
  synopsis: "Library containing the definition of S-expressions and some base converters"
@@ -21,6 +21,6 @@ OCaml's standard library that was developed by Jane Street, the
21
21
  largest industrial user of OCaml.
22
22
  "
23
23
  url {
24
- src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/sexplib0-v0.14.0.tar.gz"
25
- checksum: "md5=37aff0af8f8f6f759249475684aebdc4"
24
+ src: "https://github.com/janestreet/sexplib0/archive/refs/tags/v0.15.1.tar.gz"
25
+ checksum: "md5=ab8fd6273f35a792cad48cbb3024a7f9"
26
26
  }
@@ -10,8 +10,8 @@ build: [
10
10
  ["dune" "build" "-p" name "-j" jobs]
11
11
  ]
12
12
  depends: [
13
- "ocaml" {>= "4.04.2"}
14
- "base" {>= "v0.14" & < "v0.15"}
13
+ "ocaml" {>= "4.08.0"}
14
+ "base" {>= "v0.15" & < "v0.16"}
15
15
  "dune" {>= "2.0.0"}
16
16
  ]
17
17
  synopsis: "Standard IO library for OCaml"
@@ -22,6 +22,6 @@ It re-exports the input/output functions of the OCaml standard
22
22
  libraries using a more consistent API.
23
23
  "
24
24
  url {
25
- src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/stdio-v0.14.0.tar.gz"
26
- checksum: "md5=4cbdf15f0be88c3258aaeff9e04e00e9"
25
+ src: "https://ocaml.janestreet.com/ocaml-core/v0.15/files/stdio-v0.15.0.tar.gz"
26
+ checksum: "sha256=c37292921dc6a88425f773eba6bdbeac1dedacd1f55917fa4bcd9c4b25795e4b"
27
27
  }
@@ -9,7 +9,7 @@ homepage: "https://github.com/ocaml/dune"
9
9
  doc: "https://dune.readthedocs.io/"
10
10
  bug-reports: "https://github.com/ocaml/dune/issues"
11
11
  depends: [
12
- "dune" {>= "3.3"}
12
+ "dune" {>= "3.5"}
13
13
  "ocaml" {>= "4.08.0"}
14
14
  "base-unix"
15
15
  "dyn" {= version}
@@ -35,10 +35,10 @@ build: [
35
35
  ]
36
36
  ]
37
37
  url {
38
- src: "https://github.com/ocaml/dune/releases/download/3.3.1/dune-3.3.1.tbz"
38
+ src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz"
39
39
  checksum: [
40
- "sha256=840c80491bfe12bab5f2b99d49e163f3e4c4d2fc4b4a3e6fb16c24dccd5502e1"
41
- "sha512=b5d7639336b5df8cf37b8aac45906c6d0ff7e38b1a4a2c6ddb616ea81cdc5a8ff36cecf3d4ee4ff9282c835ed2958d4702ae1b3dd1f048c4269f5e7fedbe50d5"
40
+ "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce"
41
+ "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52"
42
42
  ]
43
43
  }
44
- x-commit-hash: "b3232b22e13ff2fe4db994ba7ae3db727d1493cd"
44
+ x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c"
@@ -1,22 +1,6 @@
1
1
  opam-version: "2.0"
2
- synopsis: """The transitory OCaml software packager"""
3
- maintainer: ["Daniel Bünzli <daniel.buenzl i@erratique.ch>"]
4
- authors: ["The topkg programmers"]
5
- homepage: "https://erratique.ch/software/topkg"
6
- doc: "https://erratique.ch/software/topkg/doc"
7
- dev-repo: "git+https://erratique.ch/repos/topkg.git"
8
- bug-reports: "https://github.com/dbuenzli/topkg/issues"
9
- license: ["ISC"]
10
- tags: ["packaging" "ocamlbuild" "org:erratique"]
11
- depends: ["ocaml" {>= "4.05.0"}
12
- "ocamlfind" {build & >= "1.6.1"}
13
- "ocamlbuild"]
14
- build: [["ocaml" "pkg/pkg.ml" "build" "--pkg-name" name
15
- "--dev-pkg" "%{dev}%"]]
16
- url {
17
- src: "https://erratique.ch/software/topkg/releases/topkg-1.0.5.tbz"
18
- checksum: "sha512=9450e9139209aacd8ddb4ba18e4225770837e526a52a56d94fd5c9c4c9941e83e0e7102e2292b440104f4c338fabab47cdd6bb51d69b41cc92cc7a551e6fefab"}
19
- description: """
2
+ synopsis: "The transitory OCaml software packager"
3
+ description: """\
20
4
  Topkg is a packager for distributing OCaml software. It provides an
21
5
  API to describe the files a package installs in a given build
22
6
  configuration and to specify information about the package's
@@ -41,4 +25,23 @@ Topkg-care is distributed under the ISC license it depends on
41
25
  [cmdliner]: http://erratique.ch/software/cmdliner
42
26
  [webbrowser]: http://erratique.ch/software/webbrowser
43
27
 
44
- Home page: http://erratique.ch/software/topkg"""
28
+ Home page: http://erratique.ch/software/topkg"""
29
+ maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>"
30
+ authors: "The topkg programmers"
31
+ license: "ISC"
32
+ tags: ["packaging" "ocamlbuild" "org:erratique"]
33
+ homepage: "https://erratique.ch/software/topkg"
34
+ doc: "https://erratique.ch/software/topkg/doc"
35
+ bug-reports: "https://github.com/dbuenzli/topkg/issues"
36
+ depends: [
37
+ "ocaml" {>= "4.05.0"}
38
+ "ocamlfind" {build & >= "1.6.1"}
39
+ "ocamlbuild"
40
+ ]
41
+ build: ["ocaml" "pkg/pkg.ml" "build" "--pkg-name" name "--dev-pkg" "%{dev}%"]
42
+ dev-repo: "git+https://erratique.ch/repos/topkg.git"
43
+ url {
44
+ src: "https://erratique.ch/software/topkg/releases/topkg-1.0.6.tbz"
45
+ checksum:
46
+ "sha512=8e34391e2f499cec332b79454a4edb36a35db6fe22437f017fd5c80ae065160dc967ac02d894a94d08d62dd476521e63733f4cadc3b9b6b314b6aa5b2b4ede78"
47
+ }
@@ -0,0 +1,55 @@
1
+ opam-version: "2.0"
2
+ synopsis: "Unicode character properties for OCaml"
3
+ description: """\
4
+ Uucp is an OCaml library providing efficient access to a selection of
5
+ character properties of the [Unicode character database][1].
6
+
7
+ Uucp is independent from any Unicode text data structure and has no
8
+ dependencies. It is distributed under the ISC license.
9
+
10
+ [1]: http://www.unicode.org/reports/tr44/
11
+
12
+ Home page: http://erratique.ch/software/uucp"""
13
+ maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>"
14
+ authors: "The uucp programmers"
15
+ license: "ISC"
16
+ tags: ["unicode" "text" "character" "org:erratique"]
17
+ homepage: "https://erratique.ch/software/uucp"
18
+ doc: "https://erratique.ch/software/uucp/doc/"
19
+ bug-reports: "https://github.com/dbuenzli/uucp/issues"
20
+ depends: [
21
+ "ocaml" {>= "4.03.0"}
22
+ "ocamlfind" {build}
23
+ "ocamlbuild" {build}
24
+ "topkg" {build & >= "1.0.3"}
25
+ "uucd" {with-test}
26
+ "uunf" {with-test}
27
+ "uutf" {with-test}
28
+ ]
29
+ depopts: ["uutf" "uunf" "cmdliner"]
30
+ conflicts: [
31
+ "uutf" {< "1.0.1"}
32
+ "cmdliner" {< "1.1.0"}
33
+ ]
34
+ build: [
35
+ "ocaml"
36
+ "pkg/pkg.ml"
37
+ "build"
38
+ "--dev-pkg"
39
+ "%{dev}%"
40
+ "--with-uutf"
41
+ "%{uutf:installed}%"
42
+ "--with-uunf"
43
+ "%{uunf:installed}%"
44
+ "--with-cmdliner"
45
+ "%{cmdliner:installed}%"
46
+ ]
47
+ post-messages:
48
+ "If the build fails with \"ocamlopt.opt got signal and exited\", issue 'ulimit -s unlimited' and retry."
49
+ {failure & (arch = "ppc64" | arch = "arm64")}
50
+ dev-repo: "git+https://erratique.ch/repos/uucp.git"
51
+ url {
52
+ src: "https://erratique.ch/software/uucp/releases/uucp-15.0.0.tbz"
53
+ checksum:
54
+ "sha512=ee4acff5666961766321e85e287fb9d5b8d50533319f22bf6f4eceb943242df2d0e0f4e775c4a140f68ca142837938eaa5926e22362215a3365ffe7f8768923b"
55
+ }
@@ -1,28 +1,6 @@
1
1
  opam-version: "2.0"
2
- synopsis: """Unicode text segmentation for OCaml"""
3
- maintainer: ["Daniel Bünzli <daniel.buenzl i@erratique.ch>"]
4
- authors: ["The uuseg programmers"]
5
- homepage: "https://erratique.ch/software/uuseg"
6
- doc: "https://erratique.ch/software/uuseg/doc/"
7
- dev-repo: "git+https://erratique.ch/repos/uuseg.git"
8
- bug-reports: "https://github.com/dbuenzli/uuseg/issues"
9
- license: ["ISC"]
10
- tags: ["unicode" "text" "segmentation" "org:erratique"]
11
- depends: ["ocaml" {>= "4.03.0"}
12
- "ocamlfind" {build}
13
- "ocamlbuild" {build}
14
- "topkg" {build & >= "1.0.3"}
15
- "uucp" {>= "14.0.0" & < "15.0.0"}]
16
- depopts: ["uutf"
17
- "cmdliner"]
18
- conflicts: ["uutf" {< "1.0.0"}]
19
- build: [["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%"
20
- "--with-uutf" "%{uutf:installed}%"
21
- "--with-cmdliner" "%{cmdliner:installed}%" ]]
22
- url {
23
- src: "https://erratique.ch/software/uuseg/releases/uuseg-14.0.0.tbz"
24
- checksum: "sha512=3f089baf95f010663a0c2f060b2911395d9b396f478efb10fd979815f527c9e61e0a70b3192f2e921f59287bfde0da6e25109d4a1825554e2e4a50c0535e97aa"}
25
- description: """
2
+ synopsis: "Unicode text segmentation for OCaml"
3
+ description: """\
26
4
  Uuseg is an OCaml library for segmenting Unicode text. It implements
27
5
  the locale independent [Unicode text segmentation algorithms][1] to
28
6
  detect grapheme cluster, word and sentence boundaries and the
@@ -40,4 +18,40 @@ OCaml UTF-X encoded strings. It is distributed under the ISC license.
40
18
  [1]: http://www.unicode.org/reports/tr29/
41
19
  [2]: http://www.unicode.org/reports/tr14/
42
20
 
43
- Homepage: http://erratique.ch/software/uuseg"""
21
+ Homepage: http://erratique.ch/software/uuseg"""
22
+ maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>"
23
+ authors: "The uuseg programmers"
24
+ license: "ISC"
25
+ tags: ["unicode" "text" "segmentation" "org:erratique"]
26
+ homepage: "https://erratique.ch/software/uuseg"
27
+ doc: "https://erratique.ch/software/uuseg/doc/"
28
+ bug-reports: "https://github.com/dbuenzli/uuseg/issues"
29
+ depends: [
30
+ "ocaml" {>= "4.03.0"}
31
+ "ocamlfind" {build}
32
+ "ocamlbuild" {build}
33
+ "topkg" {build & >= "1.0.3"}
34
+ "uucp" {>= "15.0.0" & < "16.0.0"}
35
+ ]
36
+ depopts: ["uutf" "cmdliner"]
37
+ conflicts: [
38
+ "uutf" {< "1.0.0"}
39
+ "cmdliner" {< "1.1.0"}
40
+ ]
41
+ build: [
42
+ "ocaml"
43
+ "pkg/pkg.ml"
44
+ "build"
45
+ "--dev-pkg"
46
+ "%{dev}%"
47
+ "--with-uutf"
48
+ "%{uutf:installed}%"
49
+ "--with-cmdliner"
50
+ "%{cmdliner:installed}%"
51
+ ]
52
+ dev-repo: "git+https://erratique.ch/repos/uuseg.git"
53
+ url {
54
+ src: "https://erratique.ch/software/uuseg/releases/uuseg-15.0.0.tbz"
55
+ checksum:
56
+ "sha512=37ea83b582dd779a026cfae11f08f5d67ef79fce65a2cf03f2a9aabc7eb5de60c8e812524fa7531e4ff6e22a3b18228e3438a0143ce43be95f23237cc283576f"
57
+ }
@@ -9,7 +9,7 @@ homepage: "https://github.com/ocaml/dune"
9
9
  doc: "https://dune.readthedocs.io/"
10
10
  bug-reports: "https://github.com/ocaml/dune/issues"
11
11
  depends: [
12
- "dune" {>= "3.3"}
12
+ "dune" {>= "3.5"}
13
13
  "ocaml" {>= "4.08"}
14
14
  "odoc" {with-doc}
15
15
  ]
@@ -30,10 +30,10 @@ build: [
30
30
  ]
31
31
  ]
32
32
  url {
33
- src: "https://github.com/ocaml/dune/releases/download/3.3.1/dune-3.3.1.tbz"
33
+ src: "https://github.com/ocaml/dune/releases/download/3.6.1/dune-3.6.1.tbz"
34
34
  checksum: [
35
- "sha256=840c80491bfe12bab5f2b99d49e163f3e4c4d2fc4b4a3e6fb16c24dccd5502e1"
36
- "sha512=b5d7639336b5df8cf37b8aac45906c6d0ff7e38b1a4a2c6ddb616ea81cdc5a8ff36cecf3d4ee4ff9282c835ed2958d4702ae1b3dd1f048c4269f5e7fedbe50d5"
35
+ "sha256=f1d5ac04b7a027f3d549e25cf885ebf7acc135e0291c18e6b43123a799c143ce"
36
+ "sha512=64714ab6155cd04bc33d693fc7a6d9d61aa7a278357eeff159df324e083914fcd556459a3945acacf1bbc3775f2232ab0c78006ab8a434dc58dcf95ffdffac52"
37
37
  ]
38
38
  }
39
- x-commit-hash: "b3232b22e13ff2fe4db994ba7ae3db727d1493cd"
39
+ x-commit-hash: "7d2788fc94a071bca897aefc95f1464911870a4c"
@@ -14,7 +14,7 @@ build: [
14
14
  ]
15
15
  depends: [
16
16
  "ocaml" {>= "4.02.3"}
17
- "dune"
17
+ "dune" {>= "2.0"}
18
18
  "cppo" {build}
19
19
  "alcotest" {with-test & >= "0.8.5"}
20
20
  "odoc" {with-doc}
@@ -29,10 +29,10 @@ ydump is a pretty-printing command-line program provided with the
29
29
  yojson package."""
30
30
  url {
31
31
  src:
32
- "https://github.com/ocaml-community/yojson/releases/download/2.0.0/yojson-2.0.0.tbz"
32
+ "https://github.com/ocaml-community/yojson/releases/download/2.0.2/yojson-2.0.2.tbz"
33
33
  checksum: [
34
- "sha256=ab5d863f7f951a8f7fb4a708399ca2da2cf139a5e0af7818145c20295420cb1a"
35
- "sha512=3ea982dbeef7ec8da54d29124ddb8b86f90583eb96ed3947851cedec9e3d2d47b981e3465d41f2c94943e6865ba6a9a51c6f0252efa6df2386d398b679aae8f2"
34
+ "sha256=876bb6f38af73a84a29438a3da35e4857c60a14556a606525b148c6fdbe5461b"
35
+ "sha512=9e150689a814a64e53e361e336fe826df5a3e3851d1367fda4a001392175c29348de55db0b7d7ba18539dec2cf78198efcb7f41b77a9861763f5aa97c05509ad"
36
36
  ]
37
37
  }
38
- x-commit-hash: "9c5cee131ae0ec79713e62397076d597486844ed"
38
+ x-commit-hash: "17ca03c5877a4346f0691443f35ed9678f99962f"
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@grain/binaryen.ml",
3
- "version": "0.18.0",
3
+ "version": "0.20.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",
9
- "@grain/libbinaryen": ">= 108.0.0 < 109.0.0",
10
- "@opam/dune": ">= 2.9.1",
11
- "@opam/dune-configurator": ">= 2.9.1"
9
+ "@grain/libbinaryen": ">= 110.0.0 < 111.0.0",
10
+ "@opam/dune": ">= 3.0.0",
11
+ "@opam/dune-configurator": ">= 3.0.0"
12
12
  },
13
13
  "devDependencies": {
14
- "@opam/js_of_ocaml-compiler": ">= 3.10.0",
15
- "@opam/ocamlformat": "0.20.1",
16
- "@opam/ocaml-lsp-server": "^1.9.1"
14
+ "@opam/js_of_ocaml-compiler": ">= 4.1.0 < 5.0.0",
15
+ "@opam/ocamlformat": "0.24.1",
16
+ "@opam/ocaml-lsp-server": ">= 1.9.1 < 1.13.0"
17
17
  },
18
18
  "resolutions": {
19
19
  "@opam/ocp-indent": "1.7.0"
@@ -22,7 +22,7 @@
22
22
  "build": "dune build -p binaryen"
23
23
  },
24
24
  "scripts": {
25
- "test": "esy b dune runtest",
25
+ "test": "esy b dune runtest --display=short",
26
26
  "format": "dune build @fmt --auto-promote"
27
27
  },
28
28
  "installConfig": {
@@ -224,9 +224,9 @@ caml_binaryen_global_set(value _module, value _name, value _val) {
224
224
  }
225
225
 
226
226
  CAMLprim value
227
- caml_binaryen_load(value _module, value _bytes, value _signed_, value _offset, value _align, value _ty, value _ptr) {
227
+ caml_binaryen_load(value _module, value _bytes, value _signed_, value _offset, value _align, value _ty, value _ptr, value _memoryName) {
228
228
  CAMLparam5(_module, _bytes, _signed_, _offset, _align);
229
- CAMLxparam2(_ty, _ptr);
229
+ CAMLxparam3(_ty, _ptr, _memoryName);
230
230
  BinaryenModuleRef module = BinaryenModuleRef_val(_module);
231
231
  int bytes = Int_val(_bytes);
232
232
  int8_t signed_ = Bool_val(_signed_);
@@ -234,18 +234,19 @@ caml_binaryen_load(value _module, value _bytes, value _signed_, value _offset, v
234
234
  int align = Int_val(_align);
235
235
  BinaryenType ty = BinaryenType_val(_ty);
236
236
  BinaryenExpressionRef ptr = BinaryenExpressionRef_val(_ptr);
237
- BinaryenExpressionRef exp = BinaryenLoad(module, bytes, signed_, offset, align, ty, ptr);
237
+ char* memoryName = Safe_String_val(_memoryName);
238
+ BinaryenExpressionRef exp = BinaryenLoad(module, bytes, signed_, offset, align, ty, ptr, memoryName);
238
239
  CAMLreturn(alloc_BinaryenExpressionRef(exp));
239
240
  }
240
241
  CAMLprim value
241
242
  caml_binaryen_load__bytecode(value * argv) {
242
- return caml_binaryen_load(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]);
243
+ return caml_binaryen_load(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7]);
243
244
  }
244
245
 
245
246
  CAMLprim value
246
- caml_binaryen_store(value _module, value _bytes, value _offset, value _align, value _ptr, value _val, value _ty) {
247
+ caml_binaryen_store(value _module, value _bytes, value _offset, value _align, value _ptr, value _val, value _ty, value _memoryName) {
247
248
  CAMLparam5(_module, _bytes, _offset, _align, _ptr);
248
- CAMLxparam2(_val, _ty);
249
+ CAMLxparam3(_val, _ty, _memoryName);
249
250
  BinaryenModuleRef module = BinaryenModuleRef_val(_module);
250
251
  int bytes = Int_val(_bytes);
251
252
  int offset = Int_val(_offset);
@@ -253,12 +254,13 @@ caml_binaryen_store(value _module, value _bytes, value _offset, value _align, va
253
254
  BinaryenExpressionRef ptr = BinaryenExpressionRef_val(_ptr);
254
255
  BinaryenExpressionRef val = BinaryenExpressionRef_val(_val);
255
256
  BinaryenType ty = BinaryenType_val(_ty);
256
- BinaryenExpressionRef exp = BinaryenStore(module, bytes, offset, align, ptr, val, ty);
257
+ char* memoryName = Safe_String_val(_memoryName);
258
+ BinaryenExpressionRef exp = BinaryenStore(module, bytes, offset, align, ptr, val, ty, memoryName);
257
259
  CAMLreturn(alloc_BinaryenExpressionRef(exp));
258
260
  }
259
261
  CAMLprim value
260
262
  caml_binaryen_store__bytecode(value * argv) {
261
- return caml_binaryen_store(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]);
263
+ return caml_binaryen_store(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7]);
262
264
  }
263
265
 
264
266
  CAMLprim value
@@ -322,19 +324,23 @@ caml_binaryen_return(value _module, value _p1) {
322
324
  }
323
325
 
324
326
  CAMLprim value
325
- caml_binaryen_memory_size(value _module) {
326
- CAMLparam1(_module);
327
+ caml_binaryen_memory_size(value _module, value _memoryName, value _memoryIs64) {
328
+ CAMLparam3(_module, _memoryName, _memoryIs64);
327
329
  BinaryenModuleRef module = BinaryenModuleRef_val(_module);
328
- BinaryenExpressionRef exp = BinaryenMemorySize(module);
330
+ char* memoryName = Safe_String_val(_memoryName);
331
+ bool memoryIs64 = Bool_val(_memoryIs64);
332
+ BinaryenExpressionRef exp = BinaryenMemorySize(module, memoryName, memoryIs64);
329
333
  CAMLreturn(alloc_BinaryenExpressionRef(exp));
330
334
  }
331
335
 
332
336
  CAMLprim value
333
- caml_binaryen_memory_grow(value _module, value _p1) {
334
- CAMLparam2(_module, _p1);
337
+ caml_binaryen_memory_grow(value _module, value _delta, value _memoryName, value _memoryIs64) {
338
+ CAMLparam4(_module, _delta, _memoryName, _memoryIs64);
335
339
  BinaryenModuleRef module = BinaryenModuleRef_val(_module);
336
- BinaryenExpressionRef p1 = BinaryenExpressionRef_val(_p1);
337
- BinaryenExpressionRef exp = BinaryenMemoryGrow(module, p1);
340
+ BinaryenExpressionRef delta = BinaryenExpressionRef_val(_delta);
341
+ char* memoryName = Safe_String_val(_memoryName);
342
+ bool memoryIs64 = Bool_val(_memoryIs64);
343
+ BinaryenExpressionRef exp = BinaryenMemoryGrow(module, delta, memoryName, memoryIs64);
338
344
  CAMLreturn(alloc_BinaryenExpressionRef(exp));
339
345
  }
340
346
 
@@ -355,16 +361,22 @@ caml_binaryen_unreachable(value _module) {
355
361
  }
356
362
 
357
363
  CAMLprim value
358
- caml_binaryen_memory_init(value _module, value _segment, value _dest, value _offset, value _size) {
364
+ caml_binaryen_memory_init(value _module, value _segment, value _dest, value _offset, value _size, value _memoryName) {
359
365
  CAMLparam5(_module, _segment, _dest, _offset, _size);
366
+ CAMLxparam1(_memoryName);
360
367
  BinaryenModuleRef module = BinaryenModuleRef_val(_module);
361
368
  uint32_t segment = Int_val(_segment);
362
369
  BinaryenExpressionRef dest = BinaryenExpressionRef_val(_dest);
363
370
  BinaryenExpressionRef offset = BinaryenExpressionRef_val(_offset);
364
371
  BinaryenExpressionRef size = BinaryenExpressionRef_val(_size);
365
- BinaryenExpressionRef exp = BinaryenMemoryInit(module, segment, dest, offset, size);
372
+ char* memoryName = Safe_String_val(_memoryName);
373
+ BinaryenExpressionRef exp = BinaryenMemoryInit(module, segment, dest, offset, size, memoryName);
366
374
  CAMLreturn(alloc_BinaryenExpressionRef(exp));
367
375
  }
376
+ CAMLprim value
377
+ caml_binaryen_memory_init__bytecode(value * argv) {
378
+ return caml_binaryen_memory_init(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5]);
379
+ }
368
380
 
369
381
  CAMLprim value
370
382
  caml_binaryen_data_drop(value _module, value _segment) {
@@ -376,24 +388,32 @@ caml_binaryen_data_drop(value _module, value _segment) {
376
388
  }
377
389
 
378
390
  CAMLprim value
379
- caml_binaryen_memory_copy(value _module, value _dest, value _source, value _size) {
380
- CAMLparam4(_module, _dest, _source, _size);
391
+ caml_binaryen_memory_copy(value _module, value _dest, value _source, value _size, value _destMemory, value _sourceMemory) {
392
+ CAMLparam5(_module, _dest, _source, _size, _destMemory);
393
+ CAMLxparam1(_sourceMemory);
381
394
  BinaryenModuleRef module = BinaryenModuleRef_val(_module);
382
395
  BinaryenExpressionRef dest = BinaryenExpressionRef_val(_dest);
383
396
  BinaryenExpressionRef source = BinaryenExpressionRef_val(_source);
384
397
  BinaryenExpressionRef size = BinaryenExpressionRef_val(_size);
385
- BinaryenExpressionRef exp = BinaryenMemoryCopy(module, dest, source, size);
398
+ char* destMemory = Safe_String_val(_destMemory);
399
+ char* sourceMemory = Safe_String_val(_sourceMemory);
400
+ BinaryenExpressionRef exp = BinaryenMemoryCopy(module, dest, source, size, destMemory, sourceMemory);
386
401
  CAMLreturn(alloc_BinaryenExpressionRef(exp));
387
402
  }
403
+ CAMLprim value
404
+ caml_binaryen_memory_copy__bytecode(value * argv) {
405
+ return caml_binaryen_memory_copy(argv[0], argv[1], argv[2], argv[3], argv[4], argv[5]);
406
+ }
388
407
 
389
408
  CAMLprim value
390
- caml_binaryen_memory_fill(value _module, value _dest, value _val, value _size) {
391
- CAMLparam4(_module, _dest, _val, _size);
409
+ caml_binaryen_memory_fill(value _module, value _dest, value _val, value _size, value _memoryName) {
410
+ CAMLparam5(_module, _dest, _val, _size, _memoryName);
392
411
  BinaryenModuleRef module = BinaryenModuleRef_val(_module);
393
412
  BinaryenExpressionRef dest = BinaryenExpressionRef_val(_dest);
394
413
  BinaryenExpressionRef val = BinaryenExpressionRef_val(_val);
395
414
  BinaryenExpressionRef size = BinaryenExpressionRef_val(_size);
396
- BinaryenExpressionRef exp = BinaryenMemoryFill(module, dest, val, size);
415
+ char* memoryName = Safe_String_val(_memoryName);
416
+ BinaryenExpressionRef exp = BinaryenMemoryFill(module, dest, val, size, memoryName);
397
417
  CAMLreturn(alloc_BinaryenExpressionRef(exp));
398
418
  }
399
419
 
@@ -717,16 +737,6 @@ caml_binaryen_expression_id_br_on(value unit) {
717
737
  CAMLreturn(Val_int(BinaryenBrOnId()));
718
738
  }
719
739
  CAMLprim value
720
- caml_binaryen_expression_id_rtt_canon(value unit) {
721
- CAMLparam1(unit);
722
- CAMLreturn(Val_int(BinaryenRttCanonId()));
723
- }
724
- CAMLprim value
725
- caml_binaryen_expression_id_rtt_sub(value unit) {
726
- CAMLparam1(unit);
727
- CAMLreturn(Val_int(BinaryenRttSubId()));
728
- }
729
- CAMLprim value
730
740
  caml_binaryen_expression_id_struct_new(value unit) {
731
741
  CAMLparam1(unit);
732
742
  CAMLreturn(Val_int(BinaryenStructNewId()));