@grain/binaryen.ml 0.14.1 → 0.15.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 (66) hide show
  1. binaryen-archive/CHANGELOG.md +26 -0
  2. binaryen-archive/README.md +16 -0
  3. binaryen-archive/binaryen.opam +2 -4
  4. binaryen-archive/dune +1 -1
  5. binaryen-archive/esy.lock/index.json +6 -94
  6. binaryen-archive/package.json +3 -5
  7. binaryen-archive/src/binaryen_stubs_exports.js +110 -0
  8. binaryen-archive/src/binaryen_stubs_expressions.js +1613 -0
  9. binaryen-archive/src/binaryen_stubs_features.js +105 -0
  10. binaryen-archive/src/binaryen_stubs_functions.js +92 -0
  11. binaryen-archive/src/binaryen_stubs_globals.js +62 -0
  12. binaryen-archive/src/binaryen_stubs_imports.js +86 -0
  13. binaryen-archive/src/binaryen_stubs_literals.js +29 -0
  14. binaryen-archive/src/binaryen_stubs_memory.js +25 -0
  15. binaryen-archive/src/binaryen_stubs_modules.js +121 -0
  16. binaryen-archive/src/binaryen_stubs_ops.js +1895 -0
  17. binaryen-archive/src/binaryen_stubs_settings.js +120 -0
  18. binaryen-archive/src/binaryen_stubs_tables.c +2 -0
  19. binaryen-archive/src/binaryen_stubs_tables.js +84 -0
  20. binaryen-archive/src/binaryen_stubs_types.js +73 -0
  21. binaryen-archive/src/dune +11 -4
  22. binaryen-archive/{virtual → src}/element_segment.mli +0 -0
  23. binaryen-archive/{virtual → src}/export.mli +0 -0
  24. binaryen-archive/{virtual → src}/expression.mli +0 -0
  25. binaryen-archive/{virtual → src}/function.mli +0 -0
  26. binaryen-archive/{virtual → src}/global.mli +0 -0
  27. binaryen-archive/{virtual → src}/import.mli +0 -0
  28. binaryen-archive/src/literal.ml +0 -13
  29. binaryen-archive/src/literal.mli +8 -0
  30. binaryen-archive/src/memory.ml +6 -6
  31. binaryen-archive/{virtual → src}/memory.mli +1 -1
  32. binaryen-archive/src/module.ml +1 -1
  33. binaryen-archive/{virtual → src}/module.mli +1 -1
  34. binaryen-archive/{virtual → src}/op.mli +0 -0
  35. binaryen-archive/src/passes.ml +345 -0
  36. binaryen-archive/src/passes.mli +343 -0
  37. binaryen-archive/{virtual → src}/settings.mli +0 -0
  38. binaryen-archive/{virtual → src}/table.mli +0 -0
  39. binaryen-archive/{virtual → src}/type.mli +0 -0
  40. binaryen-archive/test/dune +2 -22
  41. binaryen-archive/test/test.expected +8 -4
  42. binaryen-archive/test/test.ml +33 -10
  43. binaryen-archive/esy.lock/opam/js_of_ocaml-ppx.3.11.0/opam +0 -44
  44. binaryen-archive/esy.lock/opam/js_of_ocaml.3.11.0/opam +0 -45
  45. binaryen-archive/esy.lock/opam/uchar.0.0.2/opam +0 -36
  46. binaryen-archive/esy.lock/overrides/opam__s__uchar_opam__c__0.0.2_opam_override/files/winpatch.patch +0 -11
  47. binaryen-archive/esy.lock/overrides/opam__s__uchar_opam__c__0.0.2_opam_override/package.json +0 -11
  48. binaryen-archive/js/binaryen.es5.js +0 -363
  49. binaryen-archive/js/dune +0 -13
  50. binaryen-archive/js/element_segment.ml +0 -33
  51. binaryen-archive/js/export.ml +0 -57
  52. binaryen-archive/js/expression.ml +0 -1105
  53. binaryen-archive/js/function.ml +0 -60
  54. binaryen-archive/js/global.ml +0 -48
  55. binaryen-archive/js/import.ml +0 -69
  56. binaryen-archive/js/literal.ml +0 -28
  57. binaryen-archive/js/memory.ml +0 -39
  58. binaryen-archive/js/module.ml +0 -116
  59. binaryen-archive/js/op.ml +0 -482
  60. binaryen-archive/js/prelude.js +0 -2
  61. binaryen-archive/js/settings.ml +0 -60
  62. binaryen-archive/js/stubs.c +0 -15
  63. binaryen-archive/js/table.ml +0 -29
  64. binaryen-archive/js/type.ml +0 -21
  65. binaryen-archive/virtual/dune +0 -6
  66. binaryen-archive/virtual/literal.mli +0 -19
binaryen-archive/js/op.ml DELETED
@@ -1,482 +0,0 @@
1
- open Js_of_ocaml.Js.Unsafe
2
-
3
- type t = int
4
-
5
- let clz_int32 : t = global ##. binaryen ##. Operations ##. ClzInt32
6
- let ctz_int32 : t = global ##. binaryen ##. Operations ##. CtzInt32
7
- let popcnt_int32 : t = global ##. binaryen ##. Operations ##. PopcntInt32
8
- let neg_float32 : t = global ##. binaryen ##. Operations ##. NegFloat32
9
- let abs_float32 : t = global ##. binaryen ##. Operations ##. AbsFloat32
10
- let ceil_float32 : t = global ##. binaryen ##. Operations ##. CeilFloat32
11
- let floor_float32 : t = global ##. binaryen ##. Operations ##. FloorFloat32
12
- let trunc_float32 : t = global ##. binaryen ##. Operations ##. TruncFloat32
13
- let nearest_float32 : t = global ##. binaryen ##. Operations ##. NearestFloat32
14
- let sqrt_float32 : t = global ##. binaryen ##. Operations ##. SqrtFloat32
15
- let eq_z_int32 : t = global ##. binaryen ##. Operations ##. EqZInt32
16
- let clz_int64 : t = global ##. binaryen ##. Operations ##. ClzInt64
17
- let ctz_int64 : t = global ##. binaryen ##. Operations ##. CtzInt64
18
- let popcnt_int64 : t = global ##. binaryen ##. Operations ##. PopcntInt64
19
- let neg_float64 : t = global ##. binaryen ##. Operations ##. NegFloat64
20
- let abs_float64 : t = global ##. binaryen ##. Operations ##. AbsFloat64
21
- let ceil_float64 : t = global ##. binaryen ##. Operations ##. CeilFloat64
22
- let floor_float64 : t = global ##. binaryen ##. Operations ##. FloorFloat64
23
- let trunc_float64 : t = global ##. binaryen ##. Operations ##. TruncFloat64
24
- let nearest_float64 : t = global ##. binaryen ##. Operations ##. NearestFloat64
25
- let sqrt_float64 : t = global ##. binaryen ##. Operations ##. SqrtFloat64
26
- let eq_z_int64 : t = global ##. binaryen ##. Operations ##. EqZInt64
27
- let extend_s_int32 : t = global ##. binaryen ##. Operations ##. ExtendSInt32
28
- let extend_u_int32 : t = global ##. binaryen ##. Operations ##. ExtendUInt32
29
- let wrap_int64 : t = global ##. binaryen ##. Operations ##. WrapInt64
30
-
31
- let trunc_s_float32_to_int32 : t =
32
- global ##. binaryen ##. Operations ##. TruncSFloat32ToInt32
33
-
34
- let trunc_s_float32_to_int64 : t =
35
- global ##. binaryen ##. Operations ##. TruncSFloat32ToInt64
36
-
37
- let trunc_u_float32_to_int32 : t =
38
- global ##. binaryen ##. Operations ##. TruncUFloat32ToInt32
39
-
40
- let trunc_u_float32_to_int64 : t =
41
- global ##. binaryen ##. Operations ##. TruncUFloat32ToInt64
42
-
43
- let trunc_s_float64_to_int32 : t =
44
- global ##. binaryen ##. Operations ##. TruncSFloat64ToInt32
45
-
46
- let trunc_s_float64_to_int64 : t =
47
- global ##. binaryen ##. Operations ##. TruncSFloat64ToInt64
48
-
49
- let trunc_u_float64_to_int32 : t =
50
- global ##. binaryen ##. Operations ##. TruncUFloat64ToInt32
51
-
52
- let trunc_u_float64_to_int64 : t =
53
- global ##. binaryen ##. Operations ##. TruncUFloat64ToInt64
54
-
55
- let reinterpret_float32 : t =
56
- global ##. binaryen ##. Operations ##. ReinterpretFloat32
57
-
58
- let reinterpret_float64 : t =
59
- global ##. binaryen ##. Operations ##. ReinterpretFloat64
60
-
61
- let convert_s_int32_to_float32 : t =
62
- global ##. binaryen ##. Operations ##. ConvertSInt32ToFloat32
63
-
64
- let convert_s_int32_to_float64 : t =
65
- global ##. binaryen ##. Operations ##. ConvertSInt32ToFloat64
66
-
67
- let convert_u_int32_to_float32 : t =
68
- global ##. binaryen ##. Operations ##. ConvertUInt32ToFloat32
69
-
70
- let convert_u_int32_to_float64 : t =
71
- global ##. binaryen ##. Operations ##. ConvertUInt32ToFloat64
72
-
73
- let convert_s_int64_to_float32 : t =
74
- global ##. binaryen ##. Operations ##. ConvertSInt64ToFloat32
75
-
76
- let convert_s_int64_to_float64 : t =
77
- global ##. binaryen ##. Operations ##. ConvertSInt64ToFloat64
78
-
79
- let convert_u_int64_to_float32 : t =
80
- global ##. binaryen ##. Operations ##. ConvertUInt64ToFloat32
81
-
82
- let convert_u_int64_to_float64 : t =
83
- global ##. binaryen ##. Operations ##. ConvertUInt64ToFloat64
84
-
85
- let promote_float32 : t = global ##. binaryen ##. Operations ##. PromoteFloat32
86
- let demote_float64 : t = global ##. binaryen ##. Operations ##. DemoteFloat64
87
-
88
- let reinterpret_int32 : t =
89
- global ##. binaryen ##. Operations ##. ReinterpretInt32
90
-
91
- let reinterpret_int64 : t =
92
- global ##. binaryen ##. Operations ##. ReinterpretInt64
93
-
94
- let extend_s8_int32 : t = global ##. binaryen ##. Operations ##. ExtendS8Int32
95
- let extend_s16_int32 : t = global ##. binaryen ##. Operations ##. ExtendS16Int32
96
- let extend_s8_int64 : t = global ##. binaryen ##. Operations ##. ExtendS8Int64
97
- let extend_s16_int64 : t = global ##. binaryen ##. Operations ##. ExtendS16Int64
98
- let extend_s32_int64 : t = global ##. binaryen ##. Operations ##. ExtendS32Int64
99
- let add_int32 : t = global ##. binaryen ##. Operations ##. AddInt32
100
- let sub_int32 : t = global ##. binaryen ##. Operations ##. SubInt32
101
- let mul_int32 : t = global ##. binaryen ##. Operations ##. MulInt32
102
- let div_s_int32 : t = global ##. binaryen ##. Operations ##. DivSInt32
103
- let div_u_int32 : t = global ##. binaryen ##. Operations ##. DivUInt32
104
- let rem_s_int32 : t = global ##. binaryen ##. Operations ##. RemSInt32
105
- let rem_u_int32 : t = global ##. binaryen ##. Operations ##. RemUInt32
106
- let and_int32 : t = global ##. binaryen ##. Operations ##. AndInt32
107
- let or_int32 : t = global ##. binaryen ##. Operations ##. OrInt32
108
- let xor_int32 : t = global ##. binaryen ##. Operations ##. XorInt32
109
- let shl_int32 : t = global ##. binaryen ##. Operations ##. ShlInt32
110
- let shr_u_int32 : t = global ##. binaryen ##. Operations ##. ShrUInt32
111
- let shr_s_int32 : t = global ##. binaryen ##. Operations ##. ShrSInt32
112
- let rot_l_int32 : t = global ##. binaryen ##. Operations ##. RotLInt32
113
- let rot_r_int32 : t = global ##. binaryen ##. Operations ##. RotRInt32
114
- let eq_int32 : t = global ##. binaryen ##. Operations ##. EqInt32
115
- let ne_int32 : t = global ##. binaryen ##. Operations ##. NeInt32
116
- let lt_s_int32 : t = global ##. binaryen ##. Operations ##. LtSInt32
117
- let lt_u_int32 : t = global ##. binaryen ##. Operations ##. LtUInt32
118
- let le_s_int32 : t = global ##. binaryen ##. Operations ##. LeSInt32
119
- let le_u_int32 : t = global ##. binaryen ##. Operations ##. LeUInt32
120
- let gt_s_int32 : t = global ##. binaryen ##. Operations ##. GtSInt32
121
- let gt_u_int32 : t = global ##. binaryen ##. Operations ##. GtUInt32
122
- let ge_s_int32 : t = global ##. binaryen ##. Operations ##. GeSInt32
123
- let ge_u_int32 : t = global ##. binaryen ##. Operations ##. GeUInt32
124
- let add_int64 : t = global ##. binaryen ##. Operations ##. AddInt64
125
- let sub_int64 : t = global ##. binaryen ##. Operations ##. SubInt64
126
- let mul_int64 : t = global ##. binaryen ##. Operations ##. MulInt64
127
- let div_s_int64 : t = global ##. binaryen ##. Operations ##. DivSInt64
128
- let div_u_int64 : t = global ##. binaryen ##. Operations ##. DivUInt64
129
- let rem_s_int64 : t = global ##. binaryen ##. Operations ##. RemSInt64
130
- let rem_u_int64 : t = global ##. binaryen ##. Operations ##. RemUInt64
131
- let and_int64 : t = global ##. binaryen ##. Operations ##. AndInt64
132
- let or_int64 : t = global ##. binaryen ##. Operations ##. OrInt64
133
- let xor_int64 : t = global ##. binaryen ##. Operations ##. XorInt64
134
- let shl_int64 : t = global ##. binaryen ##. Operations ##. ShlInt64
135
- let shr_u_int64 : t = global ##. binaryen ##. Operations ##. ShrUInt64
136
- let shr_s_int64 : t = global ##. binaryen ##. Operations ##. ShrSInt64
137
- let rot_l_int64 : t = global ##. binaryen ##. Operations ##. RotLInt64
138
- let rot_r_int64 : t = global ##. binaryen ##. Operations ##. RotRInt64
139
- let eq_int64 : t = global ##. binaryen ##. Operations ##. EqInt64
140
- let ne_int64 : t = global ##. binaryen ##. Operations ##. NeInt64
141
- let lt_s_int64 : t = global ##. binaryen ##. Operations ##. LtSInt64
142
- let lt_u_int64 : t = global ##. binaryen ##. Operations ##. LtUInt64
143
- let le_s_int64 : t = global ##. binaryen ##. Operations ##. LeSInt64
144
- let le_u_int64 : t = global ##. binaryen ##. Operations ##. LeUInt64
145
- let gt_s_int64 : t = global ##. binaryen ##. Operations ##. GtSInt64
146
- let gt_u_int64 : t = global ##. binaryen ##. Operations ##. GtUInt64
147
- let ge_s_int64 : t = global ##. binaryen ##. Operations ##. GeSInt64
148
- let ge_u_int64 : t = global ##. binaryen ##. Operations ##. GeUInt64
149
- let add_float32 : t = global ##. binaryen ##. Operations ##. AddFloat32
150
- let sub_float32 : t = global ##. binaryen ##. Operations ##. SubFloat32
151
- let mul_float32 : t = global ##. binaryen ##. Operations ##. MulFloat32
152
- let div_float32 : t = global ##. binaryen ##. Operations ##. DivFloat32
153
-
154
- let copy_sign_float32 : t =
155
- global ##. binaryen ##. Operations ##. CopySignFloat32
156
-
157
- let min_float32 : t = global ##. binaryen ##. Operations ##. MinFloat32
158
- let max_float32 : t = global ##. binaryen ##. Operations ##. MaxFloat32
159
- let eq_float32 : t = global ##. binaryen ##. Operations ##. EqFloat32
160
- let ne_float32 : t = global ##. binaryen ##. Operations ##. NeFloat32
161
- let lt_float32 : t = global ##. binaryen ##. Operations ##. LtFloat32
162
- let le_float32 : t = global ##. binaryen ##. Operations ##. LeFloat32
163
- let gt_float32 : t = global ##. binaryen ##. Operations ##. GtFloat32
164
- let ge_float32 : t = global ##. binaryen ##. Operations ##. GeFloat32
165
- let add_float64 : t = global ##. binaryen ##. Operations ##. AddFloat64
166
- let sub_float64 : t = global ##. binaryen ##. Operations ##. SubFloat64
167
- let mul_float64 : t = global ##. binaryen ##. Operations ##. MulFloat64
168
- let div_float64 : t = global ##. binaryen ##. Operations ##. DivFloat64
169
-
170
- let copy_sign_float64 : t =
171
- global ##. binaryen ##. Operations ##. CopySignFloat64
172
-
173
- let min_float64 : t = global ##. binaryen ##. Operations ##. MinFloat64
174
- let max_float64 : t = global ##. binaryen ##. Operations ##. MaxFloat64
175
- let eq_float64 : t = global ##. binaryen ##. Operations ##. EqFloat64
176
- let ne_float64 : t = global ##. binaryen ##. Operations ##. NeFloat64
177
- let lt_float64 : t = global ##. binaryen ##. Operations ##. LtFloat64
178
- let le_float64 : t = global ##. binaryen ##. Operations ##. LeFloat64
179
- let gt_float64 : t = global ##. binaryen ##. Operations ##. GtFloat64
180
- let ge_float64 : t = global ##. binaryen ##. Operations ##. GeFloat64
181
- let atomic_rmw_add : t = global ##. binaryen ##. Operations ##. AtomicRMWAdd
182
- let atomic_rmw_sub : t = global ##. binaryen ##. Operations ##. AtomicRMWSub
183
- let atomic_rmw_and : t = global ##. binaryen ##. Operations ##. AtomicRMWAnd
184
- let atomic_rmw_or : t = global ##. binaryen ##. Operations ##. AtomicRMWOr
185
- let atomic_rmw_xor : t = global ##. binaryen ##. Operations ##. AtomicRMWXor
186
- let atomic_rmw_xchg : t = global ##. binaryen ##. Operations ##. AtomicRMWXchg
187
-
188
- let trunc_sat_s_float32_to_int32 : t =
189
- global ##. binaryen ##. Operations ##. TruncSatSFloat32ToInt32
190
-
191
- let trunc_sat_s_float32_to_int64 : t =
192
- global ##. binaryen ##. Operations ##. TruncSatSFloat32ToInt64
193
-
194
- let trunc_sat_u_float32_to_int32 : t =
195
- global ##. binaryen ##. Operations ##. TruncSatUFloat32ToInt32
196
-
197
- let trunc_sat_u_float32_to_int64 : t =
198
- global ##. binaryen ##. Operations ##. TruncSatUFloat32ToInt64
199
-
200
- let trunc_sat_s_float64_to_int32 : t =
201
- global ##. binaryen ##. Operations ##. TruncSatSFloat64ToInt32
202
-
203
- let trunc_sat_s_float64_to_int64 : t =
204
- global ##. binaryen ##. Operations ##. TruncSatSFloat64ToInt64
205
-
206
- let trunc_sat_u_float64_to_int32 : t =
207
- global ##. binaryen ##. Operations ##. TruncSatUFloat64ToInt32
208
-
209
- let trunc_sat_u_float64_to_int64 : t =
210
- global ##. binaryen ##. Operations ##. TruncSatUFloat64ToInt64
211
-
212
- let splat_vec_i8x16 : t = global ##. binaryen ##. Operations ##. SplatVecI8x16
213
-
214
- let extract_lane_s_vec_i8x16 : t =
215
- global ##. binaryen ##. Operations ##. ExtractLaneSVecI8x16
216
-
217
- let extract_lane_u_vec_i8x16 : t =
218
- global ##. binaryen ##. Operations ##. ExtractLaneUVecI8x16
219
-
220
- let replace_lane_vec_i8x16 : t =
221
- global ##. binaryen ##. Operations ##. ReplaceLaneVecI8x16
222
-
223
- let splat_vec_i16x8 : t = global ##. binaryen ##. Operations ##. SplatVecI16x8
224
-
225
- let extract_lane_s_vec_i16x8 : t =
226
- global ##. binaryen ##. Operations ##. ExtractLaneSVecI16x8
227
-
228
- let extract_lane_u_vec_i16x8 : t =
229
- global ##. binaryen ##. Operations ##. ExtractLaneUVecI16x8
230
-
231
- let replace_lane_vec_i16x8 : t =
232
- global ##. binaryen ##. Operations ##. ReplaceLaneVecI16x8
233
-
234
- let splat_vec_i32x4 : t = global ##. binaryen ##. Operations ##. SplatVecI32x4
235
-
236
- let extract_lane_vec_i32x4 : t =
237
- global ##. binaryen ##. Operations ##. ExtractLaneVecI32x4
238
-
239
- let replace_lane_vec_i32x4 : t =
240
- global ##. binaryen ##. Operations ##. ReplaceLaneVecI32x4
241
-
242
- let splat_vec_i64x2 : t = global ##. binaryen ##. Operations ##. SplatVecI64x2
243
-
244
- let extract_lane_vec_i64x2 : t =
245
- global ##. binaryen ##. Operations ##. ExtractLaneVecI64x2
246
-
247
- let replace_lane_vec_i64x2 : t =
248
- global ##. binaryen ##. Operations ##. ReplaceLaneVecI64x2
249
-
250
- let splat_vec_f32x4 : t = global ##. binaryen ##. Operations ##. SplatVecF32x4
251
-
252
- let extract_lane_vec_f32x4 : t =
253
- global ##. binaryen ##. Operations ##. ExtractLaneVecF32x4
254
-
255
- let replace_lane_vec_f32x4 : t =
256
- global ##. binaryen ##. Operations ##. ReplaceLaneVecF32x4
257
-
258
- let splat_vec_f64x2 : t = global ##. binaryen ##. Operations ##. SplatVecF64x2
259
-
260
- let extract_lane_vec_f64x2 : t =
261
- global ##. binaryen ##. Operations ##. ExtractLaneVecF64x2
262
-
263
- let replace_lane_vec_f64x2 : t =
264
- global ##. binaryen ##. Operations ##. ReplaceLaneVecF64x2
265
-
266
- let eq_vec_i8x16 : t = global ##. binaryen ##. Operations ##. EqVecI8x16
267
- let ne_vec_i8x16 : t = global ##. binaryen ##. Operations ##. NeVecI8x16
268
- let lt_s_vec_i8x16 : t = global ##. binaryen ##. Operations ##. LtSVecI8x16
269
- let lt_u_vec_i8x16 : t = global ##. binaryen ##. Operations ##. LtUVecI8x16
270
- let gt_s_vec_i8x16 : t = global ##. binaryen ##. Operations ##. GtSVecI8x16
271
- let gt_u_vec_i8x16 : t = global ##. binaryen ##. Operations ##. GtUVecI8x16
272
- let le_s_vec_i8x16 : t = global ##. binaryen ##. Operations ##. LeSVecI8x16
273
- let le_u_vec_i8x16 : t = global ##. binaryen ##. Operations ##. LeUVecI8x16
274
- let ge_s_vec_i8x16 : t = global ##. binaryen ##. Operations ##. GeSVecI8x16
275
- let ge_u_vec_i8x16 : t = global ##. binaryen ##. Operations ##. GeUVecI8x16
276
- let eq_vec_i16x8 : t = global ##. binaryen ##. Operations ##. EqVecI16x8
277
- let ne_vec_i16x8 : t = global ##. binaryen ##. Operations ##. NeVecI16x8
278
- let lt_s_vec_i16x8 : t = global ##. binaryen ##. Operations ##. LtSVecI16x8
279
- let lt_u_vec_i16x8 : t = global ##. binaryen ##. Operations ##. LtUVecI16x8
280
- let gt_s_vec_i16x8 : t = global ##. binaryen ##. Operations ##. GtSVecI16x8
281
- let gt_u_vec_i16x8 : t = global ##. binaryen ##. Operations ##. GtUVecI16x8
282
- let le_s_vec_i16x8 : t = global ##. binaryen ##. Operations ##. LeSVecI16x8
283
- let le_u_vec_i16x8 : t = global ##. binaryen ##. Operations ##. LeUVecI16x8
284
- let ge_s_vec_i16x8 : t = global ##. binaryen ##. Operations ##. GeSVecI16x8
285
- let ge_u_vec_i16x8 : t = global ##. binaryen ##. Operations ##. GeUVecI16x8
286
- let eq_vec_i32x4 : t = global ##. binaryen ##. Operations ##. EqVecI32x4
287
- let ne_vec_i32x4 : t = global ##. binaryen ##. Operations ##. NeVecI32x4
288
- let lt_s_vec_i32x4 : t = global ##. binaryen ##. Operations ##. LtSVecI32x4
289
- let lt_u_vec_i32x4 : t = global ##. binaryen ##. Operations ##. LtUVecI32x4
290
- let gt_s_vec_i32x4 : t = global ##. binaryen ##. Operations ##. GtSVecI32x4
291
- let gt_u_vec_i32x4 : t = global ##. binaryen ##. Operations ##. GtUVecI32x4
292
- let le_s_vec_i32x4 : t = global ##. binaryen ##. Operations ##. LeSVecI32x4
293
- let le_u_vec_i32x4 : t = global ##. binaryen ##. Operations ##. LeUVecI32x4
294
- let ge_s_vec_i32x4 : t = global ##. binaryen ##. Operations ##. GeSVecI32x4
295
- let ge_u_vec_i32x4 : t = global ##. binaryen ##. Operations ##. GeUVecI32x4
296
- let eq_vec_f32x4 : t = global ##. binaryen ##. Operations ##. EqVecF32x4
297
- let ne_vec_f32x4 : t = global ##. binaryen ##. Operations ##. NeVecF32x4
298
- let lt_vec_f32x4 : t = global ##. binaryen ##. Operations ##. LtVecF32x4
299
- let gt_vec_f32x4 : t = global ##. binaryen ##. Operations ##. GtVecF32x4
300
- let le_vec_f32x4 : t = global ##. binaryen ##. Operations ##. LeVecF32x4
301
- let ge_vec_f32x4 : t = global ##. binaryen ##. Operations ##. GeVecF32x4
302
- let eq_vec_f64x2 : t = global ##. binaryen ##. Operations ##. EqVecF64x2
303
- let ne_vec_f64x2 : t = global ##. binaryen ##. Operations ##. NeVecF64x2
304
- let lt_vec_f64x2 : t = global ##. binaryen ##. Operations ##. LtVecF64x2
305
- let gt_vec_f64x2 : t = global ##. binaryen ##. Operations ##. GtVecF64x2
306
- let le_vec_f64x2 : t = global ##. binaryen ##. Operations ##. LeVecF64x2
307
- let ge_vec_f64x2 : t = global ##. binaryen ##. Operations ##. GeVecF64x2
308
- let not_vec128 : t = global ##. binaryen ##. Operations ##. NotVec128
309
- let and_vec128 : t = global ##. binaryen ##. Operations ##. AndVec128
310
- let or_vec128 : t = global ##. binaryen ##. Operations ##. OrVec128
311
- let xor_vec128 : t = global ##. binaryen ##. Operations ##. XorVec128
312
- let and_not_vec128 : t = global ##. binaryen ##. Operations ##. AndNotVec128
313
-
314
- let bitselect_vec128 : t =
315
- global ##. binaryen ##. Operations ##. BitselectVec128
316
-
317
- let abs_vec_i8x16 : t = global ##. binaryen ##. Operations ##. AbsVecI8x16
318
- let neg_vec_i8x16 : t = global ##. binaryen ##. Operations ##. NegVecI8x16
319
-
320
- let all_true_vec_i8x16 : t =
321
- global ##. binaryen ##. Operations ##. AllTrueVecI8x16
322
-
323
- let bitmask_vec_i8x16 : t =
324
- global ##. binaryen ##. Operations ##. BitmaskVecI8x16
325
-
326
- let shl_vec_i8x16 : t = global ##. binaryen ##. Operations ##. ShlVecI8x16
327
- let shr_s_vec_i8x16 : t = global ##. binaryen ##. Operations ##. ShrSVecI8x16
328
- let shr_u_vec_i8x16 : t = global ##. binaryen ##. Operations ##. ShrUVecI8x16
329
- let add_vec_i8x16 : t = global ##. binaryen ##. Operations ##. AddVecI8x16
330
-
331
- let add_sat_s_vec_i8x16 : t =
332
- global ##. binaryen ##. Operations ##. AddSatSVecI8x16
333
-
334
- let add_sat_u_vec_i8x16 : t =
335
- global ##. binaryen ##. Operations ##. AddSatUVecI8x16
336
-
337
- let sub_vec_i8x16 : t = global ##. binaryen ##. Operations ##. SubVecI8x16
338
-
339
- let sub_sat_s_vec_i8x16 : t =
340
- global ##. binaryen ##. Operations ##. SubSatSVecI8x16
341
-
342
- let sub_sat_u_vec_i8x16 : t =
343
- global ##. binaryen ##. Operations ##. SubSatUVecI8x16
344
-
345
- let min_s_vec_i8x16 : t = global ##. binaryen ##. Operations ##. MinSVecI8x16
346
- let min_u_vec_i8x16 : t = global ##. binaryen ##. Operations ##. MinUVecI8x16
347
- let max_s_vec_i8x16 : t = global ##. binaryen ##. Operations ##. MaxSVecI8x16
348
- let max_u_vec_i8x16 : t = global ##. binaryen ##. Operations ##. MaxUVecI8x16
349
- let avgr_u_vec_i8x16 : t = global ##. binaryen ##. Operations ##. AvgrUVecI8x16
350
- let abs_vec_i16x8 : t = global ##. binaryen ##. Operations ##. AbsVecI16x8
351
- let neg_vec_i16x8 : t = global ##. binaryen ##. Operations ##. NegVecI16x8
352
-
353
- let all_true_vec_i16x8 : t =
354
- global ##. binaryen ##. Operations ##. AllTrueVecI16x8
355
-
356
- let bitmask_vec_i16x8 : t =
357
- global ##. binaryen ##. Operations ##. BitmaskVecI16x8
358
-
359
- let shl_vec_i16x8 : t = global ##. binaryen ##. Operations ##. ShlVecI16x8
360
- let shr_s_vec_i16x8 : t = global ##. binaryen ##. Operations ##. ShrSVecI16x8
361
- let shr_u_vec_i16x8 : t = global ##. binaryen ##. Operations ##. ShrUVecI16x8
362
- let add_vec_i16x8 : t = global ##. binaryen ##. Operations ##. AddVecI16x8
363
-
364
- let add_sat_s_vec_i16x8 : t =
365
- global ##. binaryen ##. Operations ##. AddSatSVecI16x8
366
-
367
- let add_sat_u_vec_i16x8 : t =
368
- global ##. binaryen ##. Operations ##. AddSatUVecI16x8
369
-
370
- let sub_vec_i16x8 : t = global ##. binaryen ##. Operations ##. SubVecI16x8
371
-
372
- let sub_sat_s_vec_i16x8 : t =
373
- global ##. binaryen ##. Operations ##. SubSatSVecI16x8
374
-
375
- let sub_sat_u_vec_i16x8 : t =
376
- global ##. binaryen ##. Operations ##. SubSatUVecI16x8
377
-
378
- let mul_vec_i16x8 : t = global ##. binaryen ##. Operations ##. MulVecI16x8
379
- let min_s_vec_i16x8 : t = global ##. binaryen ##. Operations ##. MinSVecI16x8
380
- let min_u_vec_i16x8 : t = global ##. binaryen ##. Operations ##. MinUVecI16x8
381
- let max_s_vec_i16x8 : t = global ##. binaryen ##. Operations ##. MaxSVecI16x8
382
- let max_u_vec_i16x8 : t = global ##. binaryen ##. Operations ##. MaxUVecI16x8
383
- let avgr_u_vec_i16x8 : t = global ##. binaryen ##. Operations ##. AvgrUVecI16x8
384
- let abs_vec_i32x4 : t = global ##. binaryen ##. Operations ##. AbsVecI32x4
385
- let neg_vec_i32x4 : t = global ##. binaryen ##. Operations ##. NegVecI32x4
386
-
387
- let all_true_vec_i32x4 : t =
388
- global ##. binaryen ##. Operations ##. AllTrueVecI32x4
389
-
390
- let bitmask_vec_i32x4 : t =
391
- global ##. binaryen ##. Operations ##. BitmaskVecI32x4
392
-
393
- let shl_vec_i32x4 : t = global ##. binaryen ##. Operations ##. ShlVecI32x4
394
- let shr_s_vec_i32x4 : t = global ##. binaryen ##. Operations ##. ShrSVecI32x4
395
- let shr_u_vec_i32x4 : t = global ##. binaryen ##. Operations ##. ShrUVecI32x4
396
- let add_vec_i32x4 : t = global ##. binaryen ##. Operations ##. AddVecI32x4
397
- let sub_vec_i32x4 : t = global ##. binaryen ##. Operations ##. SubVecI32x4
398
- let mul_vec_i32x4 : t = global ##. binaryen ##. Operations ##. MulVecI32x4
399
- let min_s_vec_i32x4 : t = global ##. binaryen ##. Operations ##. MinSVecI32x4
400
- let min_u_vec_i32x4 : t = global ##. binaryen ##. Operations ##. MinUVecI32x4
401
- let max_s_vec_i32x4 : t = global ##. binaryen ##. Operations ##. MaxSVecI32x4
402
- let max_u_vec_i32x4 : t = global ##. binaryen ##. Operations ##. MaxUVecI32x4
403
-
404
- let dot_s_vec_i16x8_to_vec_i32x4 : t =
405
- global ##. binaryen ##. Operations ##. DotSVecI16x8ToVecI32x4
406
-
407
- let neg_vec_i64x2 : t = global ##. binaryen ##. Operations ##. NegVecI64x2
408
- let shl_vec_i64x2 : t = global ##. binaryen ##. Operations ##. ShlVecI64x2
409
- let shr_s_vec_i64x2 : t = global ##. binaryen ##. Operations ##. ShrSVecI64x2
410
- let shr_u_vec_i64x2 : t = global ##. binaryen ##. Operations ##. ShrUVecI64x2
411
- let add_vec_i64x2 : t = global ##. binaryen ##. Operations ##. AddVecI64x2
412
- let sub_vec_i64x2 : t = global ##. binaryen ##. Operations ##. SubVecI64x2
413
- let mul_vec_i64x2 : t = global ##. binaryen ##. Operations ##. MulVecI64x2
414
- let abs_vec_f32x4 : t = global ##. binaryen ##. Operations ##. AbsVecF32x4
415
- let neg_vec_f32x4 : t = global ##. binaryen ##. Operations ##. NegVecF32x4
416
- let sqrt_vec_f32x4 : t = global ##. binaryen ##. Operations ##. SqrtVecF32x4
417
- let add_vec_f32x4 : t = global ##. binaryen ##. Operations ##. AddVecF32x4
418
- let sub_vec_f32x4 : t = global ##. binaryen ##. Operations ##. SubVecF32x4
419
- let mul_vec_f32x4 : t = global ##. binaryen ##. Operations ##. MulVecF32x4
420
- let div_vec_f32x4 : t = global ##. binaryen ##. Operations ##. DivVecF32x4
421
- let min_vec_f32x4 : t = global ##. binaryen ##. Operations ##. MinVecF32x4
422
- let max_vec_f32x4 : t = global ##. binaryen ##. Operations ##. MaxVecF32x4
423
- let p_min_vec_f32x4 : t = global ##. binaryen ##. Operations ##. PMinVecF32x4
424
- let p_max_vec_f32x4 : t = global ##. binaryen ##. Operations ##. PMaxVecF32x4
425
- let ceil_vec_f32x4 : t = global ##. binaryen ##. Operations ##. CeilVecF32x4
426
- let floor_vec_f32x4 : t = global ##. binaryen ##. Operations ##. FloorVecF32x4
427
- let trunc_vec_f32x4 : t = global ##. binaryen ##. Operations ##. TruncVecF32x4
428
-
429
- let nearest_vec_f32x4 : t =
430
- global ##. binaryen ##. Operations ##. NearestVecF32x4
431
-
432
- let abs_vec_f64x2 : t = global ##. binaryen ##. Operations ##. AbsVecF64x2
433
- let neg_vec_f64x2 : t = global ##. binaryen ##. Operations ##. NegVecF64x2
434
- let sqrt_vec_f64x2 : t = global ##. binaryen ##. Operations ##. SqrtVecF64x2
435
- let add_vec_f64x2 : t = global ##. binaryen ##. Operations ##. AddVecF64x2
436
- let sub_vec_f64x2 : t = global ##. binaryen ##. Operations ##. SubVecF64x2
437
- let mul_vec_f64x2 : t = global ##. binaryen ##. Operations ##. MulVecF64x2
438
- let div_vec_f64x2 : t = global ##. binaryen ##. Operations ##. DivVecF64x2
439
- let min_vec_f64x2 : t = global ##. binaryen ##. Operations ##. MinVecF64x2
440
- let max_vec_f64x2 : t = global ##. binaryen ##. Operations ##. MaxVecF64x2
441
- let p_min_vec_f64x2 : t = global ##. binaryen ##. Operations ##. PMinVecF64x2
442
- let p_max_vec_f64x2 : t = global ##. binaryen ##. Operations ##. PMaxVecF64x2
443
- let ceil_vec_f64x2 : t = global ##. binaryen ##. Operations ##. CeilVecF64x2
444
- let floor_vec_f64x2 : t = global ##. binaryen ##. Operations ##. FloorVecF64x2
445
- let trunc_vec_f64x2 : t = global ##. binaryen ##. Operations ##. TruncVecF64x2
446
-
447
- let nearest_vec_f64x2 : t =
448
- global ##. binaryen ##. Operations ##. NearestVecF64x2
449
-
450
- let trunc_sat_s_vec_f32x4_to_vec_i32x4 : t =
451
- global ##. binaryen ##. Operations ##. TruncSatSVecF32x4ToVecI32x4
452
-
453
- let trunc_sat_u_vec_f32x4_to_vec_i32x4 : t =
454
- global ##. binaryen ##. Operations ##. TruncSatUVecF32x4ToVecI32x4
455
-
456
- let convert_s_vec_i32x4_to_vec_f32x4 : t =
457
- global ##. binaryen ##. Operations ##. ConvertSVecI32x4ToVecF32x4
458
-
459
- let convert_u_vec_i32x4_to_vec_f32x4 : t =
460
- global ##. binaryen ##. Operations ##. ConvertUVecI32x4ToVecF32x4
461
-
462
- let narrow_s_vec_i16x8_to_vec_i8x16 : t =
463
- global ##. binaryen ##. Operations ##. NarrowSVecI16x8ToVecI8x16
464
-
465
- let narrow_u_vec_i16x8_to_vec_i8x16 : t =
466
- global ##. binaryen ##. Operations ##. NarrowUVecI16x8ToVecI8x16
467
-
468
- let narrow_s_vec_i32x4_to_vec_i16x8 : t =
469
- global ##. binaryen ##. Operations ##. NarrowSVecI32x4ToVecI16x8
470
-
471
- let narrow_u_vec_i32x4_to_vec_i16x8 : t =
472
- global ##. binaryen ##. Operations ##. NarrowUVecI32x4ToVecI16x8
473
-
474
- let swizzle_vec8x16 : t = global ##. binaryen ##. Operations ##. SwizzleVec8x16
475
- let ref_is_null : t = global ##. binaryen ##. Operations ##. RefIsNull
476
- let ref_is_func : t = global ##. binaryen ##. Operations ##. RefIsFunc
477
- let ref_is_data : t = global ##. binaryen ##. Operations ##. RefIsData
478
- let ref_is_i31 : t = global ##. binaryen ##. Operations ##. RefIsI31
479
- let ref_as_non_null : t = global ##. binaryen ##. Operations ##. RefAsNonNull
480
- let ref_as_func : t = global ##. binaryen ##. Operations ##. RefAsFunc
481
- let ref_as_data : t = global ##. binaryen ##. Operations ##. RefAsData
482
- let ref_as_i31 : t = global ##. binaryen ##. Operations ##. RefAsI31
@@ -1,2 +0,0 @@
1
- // Attach binaryen to globalThis so binaryen will register itself on the object
2
- globalThis.binaryen = {}
@@ -1,60 +0,0 @@
1
- open Js_of_ocaml.Js
2
- open Js_of_ocaml.Js.Unsafe
3
-
4
- let get_optimize_level () = meth_call global##.binaryen "getOptimizeLevel" [||]
5
-
6
- let set_optimize_level level =
7
- meth_call global##.binaryen "setOptimizeLevel" [| inject level |]
8
-
9
- let get_shrink_level () = meth_call global##.binaryen "getShrinkLevel" [||]
10
-
11
- let set_shrink_level level =
12
- meth_call global##.binaryen "setShrinkLevel" [| inject level |]
13
-
14
- (* Uses the `_Binaryen` function because then we are working with ints which are also booleans to JSOO *)
15
- let get_debug_info () = meth_call global##.binaryen "_BinaryenGetDebugInfo" [||]
16
-
17
- (* Uses the `_Binaryen` function because then we are working with ints which are also booleans to JSOO *)
18
- let set_debug_info on =
19
- meth_call global##.binaryen "_BinaryenSetDebugInfo" [| inject on |]
20
-
21
- (* Uses the `_Binaryen` function because then we are working with ints which are also booleans to JSOO *)
22
- let get_low_memory_unused () =
23
- meth_call global##.binaryen "_BinaryenGetLowMemoryUnused" [||]
24
-
25
- (* Uses the `_Binaryen` function because then we are working with ints which are also booleans to JSOO *)
26
- let set_low_memory_unused on =
27
- meth_call global##.binaryen "_BinaryenSetLowMemoryUnused" [| inject on |]
28
-
29
- let get_pass_argument key =
30
- meth_call global##.binaryen "getPassArgument" [| inject (string key) |]
31
-
32
- let set_pass_argument key value =
33
- meth_call global##.binaryen "setPassArgument"
34
- [| inject (string key); inject (string value) |]
35
-
36
- let get_always_inline_max_size () =
37
- meth_call global##.binaryen "getAlwaysInlineMaxSize" [||]
38
-
39
- let set_always_inline_max_size size =
40
- meth_call global##.binaryen "setAlwaysInlineMaxSize" [| inject size |]
41
-
42
- let get_flexible_inline_max_size () =
43
- meth_call global##.binaryen "getFlexibleInlineMaxSize" [||]
44
-
45
- let set_flexible_inline_max_size size =
46
- meth_call global##.binaryen "setFlexibleInlineMaxSize" [| inject size |]
47
-
48
- let get_one_caller_inline_max_size () =
49
- meth_call global##.binaryen "getOneCallerInlineMaxSize" [||]
50
-
51
- let set_one_caller_inline_max_size size =
52
- meth_call global##.binaryen "setOneCallerInlineMaxSize" [| inject size |]
53
-
54
- (* Uses the `_Binaryen` function because then we are working with ints which are also booleans to JSOO *)
55
- let set_colors_enabled enabled =
56
- meth_call global##.binaryen "_BinaryenSetColorsEnabled" [| inject enabled |]
57
-
58
- (* Uses the `_Binaryen` function because then we are working with ints which are also booleans to JSOO *)
59
- let are_colors_enabled () =
60
- meth_call global##.binaryen "_BinaryenAreColorsEnabled" [||]
@@ -1,15 +0,0 @@
1
- // Ref https://github.com/ocsigen/js_of_ocaml/issues/804#issuecomment-495826520
2
- #include <stdlib.h>
3
- #include <stdio.h>
4
- void caml_bytes_of_array () {
5
- fprintf(stderr, "Unimplemented Javascript primitive caml_bytes_of_array!\n");
6
- exit(1);
7
- }
8
- void caml_array_of_bytes () {
9
- fprintf(stderr, "Unimplemented Javascript primitive caml_array_of_bytes!\n");
10
- exit(1);
11
- }
12
- void caml_array_of_string () {
13
- fprintf(stderr, "Unimplemented Javascript primitive caml_array_of_string!\n");
14
- exit(1);
15
- }
@@ -1,29 +0,0 @@
1
- open Js_of_ocaml.Js
2
- open Js_of_ocaml.Js.Unsafe
3
-
4
- type t = int
5
-
6
- let add_table wasm_mod name initial maximum tableType =
7
- meth_call wasm_mod "addTable"
8
- [| inject (string name); inject initial; inject maximum; inject tableType |]
9
-
10
- let add_active_element_segment wasm_mod table name funcnames offset =
11
- meth_call wasm_mod "addActiveElementSegment"
12
- [|
13
- inject (string table);
14
- inject (string name);
15
- inject (array (Array.of_list (List.map string funcnames)));
16
- inject offset;
17
- |]
18
-
19
- let remove_element_segment wasm_mod name =
20
- meth_call wasm_mod "removeElementSegment" [| inject (string name) |]
21
-
22
- let get_num_element_segments wasm_mod =
23
- meth_call wasm_mod "getNumElementSegments" [||]
24
-
25
- let get_element_segment wasm_mod name =
26
- meth_call wasm_mod "getElementSegment" [| inject (string name) |]
27
-
28
- let get_element_segment_by_index wasm_mod index =
29
- meth_call wasm_mod "getElementSegmentByIndex" [| inject index |]
@@ -1,21 +0,0 @@
1
- open Js_of_ocaml.Js
2
- open Js_of_ocaml.Js.Unsafe
3
-
4
- type t = int
5
-
6
- let none : t = global##.binaryen##.none
7
- let int32 : t = global##.binaryen##.i32
8
- let int64 : t = global##.binaryen##.i64
9
- let float32 : t = global##.binaryen##.f32
10
- let float64 : t = global##.binaryen##.f64
11
- let vec128 : t = global##.binaryen##.v128
12
- let funcref : t = global##.binaryen##.funcref
13
- let externref : t = global##.binaryen##.externref
14
- let unreachable : t = global##.binaryen##.unreachable
15
- let auto : t = global##.binaryen##.auto
16
-
17
- let create typs =
18
- meth_call global##.binaryen "createType" [| inject (array typs) |]
19
-
20
- let expand typ =
21
- to_array (meth_call global##.binaryen "expandType" [| inject typ |])
@@ -1,6 +0,0 @@
1
- (library
2
- (name binaryen)
3
- (public_name binaryen)
4
- (virtual_modules element_segment export expression function global import
5
- literal memory module op settings table type)
6
- (default_implementation binaryen.native))
@@ -1,19 +0,0 @@
1
- type t
2
-
3
- val int32 : int32 -> t
4
- val int64 : int64 -> t
5
- val float32_bits : int32 -> t
6
- val float64_bits : int64 -> t
7
- val float32 : float -> t
8
- val float64 : float -> t
9
-
10
- (* Hacks for Binaryen.js stack allocations *)
11
- type jsoo =
12
- | Int32 of int32
13
- | Int64 of int32 * int32
14
- | Float32Bits of int32
15
- | Float64Bits of int32 * int32
16
- | Float32 of float
17
- | Float64 of float
18
-
19
- val to_jsoo : t -> jsoo