@grain/binaryen.ml 0.21.0 → 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.
- binaryen-archive/CHANGELOG.md +34 -0
- binaryen-archive/binaryen.opam +2 -2
- binaryen-archive/esy.lock/index.json +191 -191
- binaryen-archive/esy.lock/opam/{chrome-trace.3.9.0 → chrome-trace.3.9.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/{dune-build-info.3.9.0 → dune-build-info.3.9.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/{dune-configurator.3.9.0 → dune-configurator.3.9.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/{dune-rpc.3.9.0 → dune-rpc.3.9.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/{dune.3.9.0 → dune.3.9.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/{dyn.3.9.0 → dyn.3.9.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/{js_of_ocaml-compiler.5.3.0 → js_of_ocaml-compiler.5.4.0}/opam +5 -5
- binaryen-archive/esy.lock/opam/{ordering.3.9.0 → ordering.3.9.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/{stdune.3.9.0 → stdune.3.9.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/{xdg.3.9.0 → xdg.3.9.1}/opam +4 -4
- binaryen-archive/package.json +2 -2
- binaryen-archive/src/expression.c +24 -6
- binaryen-archive/src/expression.js +20 -6
- binaryen-archive/src/expression.ml +14 -5
- binaryen-archive/src/expression.mli +10 -2
- binaryen-archive/src/heap_type.c +2 -2
- binaryen-archive/src/heap_type.js +3 -3
- binaryen-archive/src/heap_type.ml +1 -1
- binaryen-archive/src/heap_type.mli +1 -1
- binaryen-archive/src/op.c +98 -91
- binaryen-archive/src/op.js +84 -78
- binaryen-archive/src/op.ml +138 -32
- binaryen-archive/src/op.mli +46 -45
- binaryen-archive/src/passes.ml +16 -0
- binaryen-archive/src/passes.mli +15 -0
- binaryen-archive/src/type.c +2 -2
- binaryen-archive/src/type.js +3 -3
- binaryen-archive/src/type.ml +2 -2
- binaryen-archive/src/type.mli +1 -1
- binaryen-archive/src/type_system.c +0 -6
- binaryen-archive/src/type_system.js +0 -6
- binaryen-archive/src/type_system.ml +0 -1
- binaryen-archive/src/type_system.mli +0 -1
- binaryen-archive/test/test.expected +12 -12
binaryen-archive/src/op.js
CHANGED
|
@@ -1258,6 +1258,72 @@ function caml_binaryen_bitselect_vec128() {
|
|
|
1258
1258
|
return Binaryen.Operations.BitselectVec128;
|
|
1259
1259
|
}
|
|
1260
1260
|
|
|
1261
|
+
//Provides: caml_binaryen_relaxed_fma_vec_f32x4
|
|
1262
|
+
//Requires: Binaryen
|
|
1263
|
+
function caml_binaryen_relaxed_fma_vec_f32x4() {
|
|
1264
|
+
return Binaryen.Operations.RelaxedFmaVecF32x4;
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1267
|
+
//Provides: caml_binaryen_relaxed_fms_vec_f32x4
|
|
1268
|
+
//Requires: Binaryen
|
|
1269
|
+
function caml_binaryen_relaxed_fms_vec_f32x4() {
|
|
1270
|
+
return Binaryen.Operations.RelaxedFmsVecF32x4;
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
//Provides: caml_binaryen_relaxed_fma_vec_f64x4
|
|
1274
|
+
//Requires: Binaryen
|
|
1275
|
+
function caml_binaryen_relaxed_fma_vec_f64x4() {
|
|
1276
|
+
return Binaryen.Operations.RelaxedFmaVecF64x2;
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1279
|
+
//Provides: caml_binaryen_relaxed_fms_vec_f64x4
|
|
1280
|
+
//Requires: Binaryen
|
|
1281
|
+
function caml_binaryen_relaxed_fms_vec_f64x4() {
|
|
1282
|
+
return Binaryen.Operations.RelaxedFmsVecF64x2;
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
//Provides: caml_binaryen_laneselect_i8x16
|
|
1286
|
+
//Requires: Binaryen
|
|
1287
|
+
function caml_binaryen_laneselect_i8x16() {
|
|
1288
|
+
return Binaryen.Operations.LaneselectI8x16;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
//Provides: caml_binaryen_laneselect_i16x8
|
|
1292
|
+
//Requires: Binaryen
|
|
1293
|
+
function caml_binaryen_laneselect_i16x8() {
|
|
1294
|
+
return Binaryen.Operations.LaneselectI16x8;
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
//Provides: caml_binaryen_laneselect_i32x4
|
|
1298
|
+
//Requires: Binaryen
|
|
1299
|
+
function caml_binaryen_laneselect_i32x4() {
|
|
1300
|
+
return Binaryen.Operations.LaneselectI32x4;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
//Provides: caml_binaryen_laneselect_i64x2
|
|
1304
|
+
//Requires: Binaryen
|
|
1305
|
+
function caml_binaryen_laneselect_i64x2() {
|
|
1306
|
+
return Binaryen.Operations.LaneselectI64x2;
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
//Provides: caml_binaryen_dot_i8x16_i7x16_add_s_to_vec_i32x4
|
|
1310
|
+
//Requires: Binaryen
|
|
1311
|
+
function caml_binaryen_dot_i8x16_i7x16_add_s_to_vec_i32x4() {
|
|
1312
|
+
return Binaryen.Operations.DotI8x16I7x16AddSToVecI32x4;
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1315
|
+
//Provides: caml_binaryen_any_true_vec128
|
|
1316
|
+
//Requires: Binaryen
|
|
1317
|
+
function caml_binaryen_any_true_vec128() {
|
|
1318
|
+
return Binaryen.Operations.AnyTrueVec128;
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
//Provides: caml_binaryen_popcnt_vec_i8x16
|
|
1322
|
+
//Requires: Binaryen
|
|
1323
|
+
function caml_binaryen_popcnt_vec_i8x16() {
|
|
1324
|
+
return Binaryen.Operations.PopcntVecI8x16;
|
|
1325
|
+
}
|
|
1326
|
+
|
|
1261
1327
|
//Provides: caml_binaryen_abs_vec_i8x16
|
|
1262
1328
|
//Requires: Binaryen
|
|
1263
1329
|
function caml_binaryen_abs_vec_i8x16() {
|
|
@@ -1846,54 +1912,12 @@ function caml_binaryen_swizzle_vec8x16() {
|
|
|
1846
1912
|
return Binaryen.Operations.SwizzleVecI8x16;
|
|
1847
1913
|
}
|
|
1848
1914
|
|
|
1849
|
-
//Provides: caml_binaryen_ref_is_null
|
|
1850
|
-
//Requires: Binaryen
|
|
1851
|
-
function caml_binaryen_ref_is_null() {
|
|
1852
|
-
return Binaryen.Operations.RefIsNull;
|
|
1853
|
-
}
|
|
1854
|
-
|
|
1855
|
-
//Provides: caml_binaryen_ref_is_func
|
|
1856
|
-
//Requires: Binaryen
|
|
1857
|
-
function caml_binaryen_ref_is_func() {
|
|
1858
|
-
return Binaryen.Operations.RefIsFunc;
|
|
1859
|
-
}
|
|
1860
|
-
|
|
1861
|
-
//Provides: caml_binaryen_ref_is_data
|
|
1862
|
-
//Requires: Binaryen
|
|
1863
|
-
function caml_binaryen_ref_is_data() {
|
|
1864
|
-
return Binaryen.Operations.RefIsData;
|
|
1865
|
-
}
|
|
1866
|
-
|
|
1867
|
-
//Provides: caml_binaryen_ref_is_i31
|
|
1868
|
-
//Requires: Binaryen
|
|
1869
|
-
function caml_binaryen_ref_is_i31() {
|
|
1870
|
-
return Binaryen.Operations.RefIsI31;
|
|
1871
|
-
}
|
|
1872
|
-
|
|
1873
1915
|
//Provides: caml_binaryen_ref_as_non_null
|
|
1874
1916
|
//Requires: Binaryen
|
|
1875
1917
|
function caml_binaryen_ref_as_non_null() {
|
|
1876
1918
|
return Binaryen.Operations.RefAsNonNull;
|
|
1877
1919
|
}
|
|
1878
1920
|
|
|
1879
|
-
//Provides: caml_binaryen_ref_as_func
|
|
1880
|
-
//Requires: Binaryen
|
|
1881
|
-
function caml_binaryen_ref_as_func() {
|
|
1882
|
-
return Binaryen.Operations.RefAsFunc;
|
|
1883
|
-
}
|
|
1884
|
-
|
|
1885
|
-
//Provides: caml_binaryen_ref_as_data
|
|
1886
|
-
//Requires: Binaryen
|
|
1887
|
-
function caml_binaryen_ref_as_data() {
|
|
1888
|
-
return Binaryen.Operations.RefAsData;
|
|
1889
|
-
}
|
|
1890
|
-
|
|
1891
|
-
//Provides: caml_binaryen_ref_as_i31
|
|
1892
|
-
//Requires: Binaryen
|
|
1893
|
-
function caml_binaryen_ref_as_i31() {
|
|
1894
|
-
return Binaryen.Operations.RefAsI31;
|
|
1895
|
-
}
|
|
1896
|
-
|
|
1897
1921
|
//Provides: caml_binaryen_ref_as_extern_internalize
|
|
1898
1922
|
//Requires: Binaryen
|
|
1899
1923
|
function caml_binaryen_ref_as_extern_internalize() {
|
|
@@ -1930,42 +1954,6 @@ function caml_binaryen_br_on_cast_fail() {
|
|
|
1930
1954
|
return Binaryen.Operations.BrOnCastFail;
|
|
1931
1955
|
}
|
|
1932
1956
|
|
|
1933
|
-
//Provides: caml_binaryen_br_on_func
|
|
1934
|
-
//Requires: Binaryen
|
|
1935
|
-
function caml_binaryen_br_on_func() {
|
|
1936
|
-
return Binaryen.Operations.BrOnFunc;
|
|
1937
|
-
}
|
|
1938
|
-
|
|
1939
|
-
//Provides: caml_binaryen_br_on_non_func
|
|
1940
|
-
//Requires: Binaryen
|
|
1941
|
-
function caml_binaryen_br_on_non_func() {
|
|
1942
|
-
return Binaryen.Operations.BrOnNonFunc;
|
|
1943
|
-
}
|
|
1944
|
-
|
|
1945
|
-
//Provides: caml_binaryen_br_on_data
|
|
1946
|
-
//Requires: Binaryen
|
|
1947
|
-
function caml_binaryen_br_on_data() {
|
|
1948
|
-
return Binaryen.Operations.BrOnData;
|
|
1949
|
-
}
|
|
1950
|
-
|
|
1951
|
-
//Provides: caml_binaryen_br_on_non_data
|
|
1952
|
-
//Requires: Binaryen
|
|
1953
|
-
function caml_binaryen_br_on_non_data() {
|
|
1954
|
-
return Binaryen.Operations.BrOnNonData;
|
|
1955
|
-
}
|
|
1956
|
-
|
|
1957
|
-
//Provides: caml_binaryen_br_on_i31
|
|
1958
|
-
//Requires: Binaryen
|
|
1959
|
-
function caml_binaryen_br_on_i31() {
|
|
1960
|
-
return Binaryen.Operations.BrOnI31;
|
|
1961
|
-
}
|
|
1962
|
-
|
|
1963
|
-
//Provides: caml_binaryen_br_on_non_i31
|
|
1964
|
-
//Requires: Binaryen
|
|
1965
|
-
function caml_binaryen_br_on_non_i31() {
|
|
1966
|
-
return Binaryen.Operations.BrOnNonI31;
|
|
1967
|
-
}
|
|
1968
|
-
|
|
1969
1957
|
//Provides: caml_binaryen_string_new_utf8
|
|
1970
1958
|
//Requires: Binaryen
|
|
1971
1959
|
function caml_binaryen_string_new_utf8() {
|
|
@@ -2014,6 +2002,12 @@ function caml_binaryen_string_new_wtf16_array() {
|
|
|
2014
2002
|
return Binaryen.Operations.StringNewWTF16Array;
|
|
2015
2003
|
}
|
|
2016
2004
|
|
|
2005
|
+
//Provides: caml_binaryen_string_new_from_code_point
|
|
2006
|
+
//Requires: Binaryen
|
|
2007
|
+
function caml_binaryen_string_new_from_code_point() {
|
|
2008
|
+
return Binaryen.Operations.StringNewFromCodePoint;
|
|
2009
|
+
}
|
|
2010
|
+
|
|
2017
2011
|
//Provides: caml_binaryen_string_measure_utf8
|
|
2018
2012
|
//Requires: Binaryen
|
|
2019
2013
|
function caml_binaryen_string_measure_utf8() {
|
|
@@ -2121,3 +2115,15 @@ function caml_binaryen_string_slice_wtf8() {
|
|
|
2121
2115
|
function caml_binaryen_string_slice_wtf16() {
|
|
2122
2116
|
return Binaryen.Operations.StringSliceWTF16;
|
|
2123
2117
|
}
|
|
2118
|
+
|
|
2119
|
+
//Provides: caml_binaryen_string_eq_equal
|
|
2120
|
+
//Requires: Binaryen
|
|
2121
|
+
function caml_binaryen_string_eq_equal() {
|
|
2122
|
+
return Binaryen.Operations.StringEqEqual;
|
|
2123
|
+
}
|
|
2124
|
+
|
|
2125
|
+
//Provides: caml_binaryen_string_eq_compare
|
|
2126
|
+
//Requires: Binaryen
|
|
2127
|
+
function caml_binaryen_string_eq_compare() {
|
|
2128
|
+
return Binaryen.Operations.StringEqCompare;
|
|
2129
|
+
}
|
binaryen-archive/src/op.ml
CHANGED
|
@@ -878,6 +878,55 @@ external bitselect_vec128 : unit -> t = "caml_binaryen_bitselect_vec128"
|
|
|
878
878
|
|
|
879
879
|
let bitselect_vec128 = bitselect_vec128 ()
|
|
880
880
|
|
|
881
|
+
external relaxed_fma_vec_f32x4 : unit -> t
|
|
882
|
+
= "caml_binaryen_relaxed_fma_vec_f32x4"
|
|
883
|
+
|
|
884
|
+
let relaxed_fma_vec_f32x4 = relaxed_fma_vec_f32x4 ()
|
|
885
|
+
|
|
886
|
+
external relaxed_fms_vec_f32x4 : unit -> t
|
|
887
|
+
= "caml_binaryen_relaxed_fms_vec_f32x4"
|
|
888
|
+
|
|
889
|
+
let relaxed_fms_vec_f32x4 = relaxed_fms_vec_f32x4 ()
|
|
890
|
+
|
|
891
|
+
external relaxed_fma_vec_f64x4 : unit -> t
|
|
892
|
+
= "caml_binaryen_relaxed_fma_vec_f64x4"
|
|
893
|
+
|
|
894
|
+
let relaxed_fma_vec_f64x4 = relaxed_fma_vec_f64x4 ()
|
|
895
|
+
|
|
896
|
+
external relaxed_fms_vec_f64x4 : unit -> t
|
|
897
|
+
= "caml_binaryen_relaxed_fms_vec_f64x4"
|
|
898
|
+
|
|
899
|
+
let relaxed_fms_vec_f64x4 = relaxed_fms_vec_f64x4 ()
|
|
900
|
+
|
|
901
|
+
external laneselect_i8x16 : unit -> t = "caml_binaryen_laneselect_i8x16"
|
|
902
|
+
|
|
903
|
+
let laneselect_i8x16 = laneselect_i8x16 ()
|
|
904
|
+
|
|
905
|
+
external laneselect_i16x8 : unit -> t = "caml_binaryen_laneselect_i16x8"
|
|
906
|
+
|
|
907
|
+
let laneselect_i16x8 = laneselect_i16x8 ()
|
|
908
|
+
|
|
909
|
+
external laneselect_i32x4 : unit -> t = "caml_binaryen_laneselect_i32x4"
|
|
910
|
+
|
|
911
|
+
let laneselect_i32x4 = laneselect_i32x4 ()
|
|
912
|
+
|
|
913
|
+
external laneselect_i64x2 : unit -> t = "caml_binaryen_laneselect_i64x2"
|
|
914
|
+
|
|
915
|
+
let laneselect_i64x2 = laneselect_i64x2 ()
|
|
916
|
+
|
|
917
|
+
external dot_i8x16_i7x16_add_s_to_vec_i32x4 : unit -> t
|
|
918
|
+
= "caml_binaryen_dot_i8x16_i7x16_add_s_to_vec_i32x4"
|
|
919
|
+
|
|
920
|
+
let dot_i8x16_i7x16_add_s_to_vec_i32x4 = dot_i8x16_i7x16_add_s_to_vec_i32x4 ()
|
|
921
|
+
|
|
922
|
+
external any_true_vec128 : unit -> t = "caml_binaryen_any_true_vec128"
|
|
923
|
+
|
|
924
|
+
let any_true_vec128 = any_true_vec128 ()
|
|
925
|
+
|
|
926
|
+
external popcnt_vec_i8x16 : unit -> t = "caml_binaryen_popcnt_vec_i8x16"
|
|
927
|
+
|
|
928
|
+
let popcnt_vec_i8x16 = popcnt_vec_i8x16 ()
|
|
929
|
+
|
|
881
930
|
external abs_vec_i8x16 : unit -> t = "caml_binaryen_abs_vec_i8x16"
|
|
882
931
|
|
|
883
932
|
let abs_vec_i8x16 = abs_vec_i8x16 ()
|
|
@@ -1279,103 +1328,160 @@ external swizzle_vec8x16 : unit -> t = "caml_binaryen_swizzle_vec8x16"
|
|
|
1279
1328
|
|
|
1280
1329
|
let swizzle_vec8x16 = swizzle_vec8x16 ()
|
|
1281
1330
|
|
|
1282
|
-
external
|
|
1331
|
+
external ref_as_non_null : unit -> t = "caml_binaryen_ref_as_non_null"
|
|
1283
1332
|
|
|
1284
|
-
let
|
|
1333
|
+
let ref_as_non_null = ref_as_non_null ()
|
|
1285
1334
|
|
|
1286
|
-
external
|
|
1335
|
+
external ref_as_extern_internalize : unit -> t
|
|
1336
|
+
= "caml_binaryen_ref_as_extern_internalize"
|
|
1287
1337
|
|
|
1288
|
-
let
|
|
1338
|
+
let ref_as_extern_internalize = ref_as_extern_internalize ()
|
|
1289
1339
|
|
|
1290
|
-
external
|
|
1340
|
+
external ref_as_extern_externalize : unit -> t
|
|
1341
|
+
= "caml_binaryen_ref_as_extern_externalize"
|
|
1291
1342
|
|
|
1292
|
-
let
|
|
1343
|
+
let ref_as_extern_externalize = ref_as_extern_externalize ()
|
|
1293
1344
|
|
|
1294
|
-
external
|
|
1345
|
+
external br_on_null : unit -> t = "caml_binaryen_br_on_null"
|
|
1295
1346
|
|
|
1296
|
-
let
|
|
1347
|
+
let br_on_null = br_on_null ()
|
|
1297
1348
|
|
|
1298
|
-
external
|
|
1349
|
+
external br_on_non_null : unit -> t = "caml_binaryen_br_on_non_null"
|
|
1299
1350
|
|
|
1300
|
-
let
|
|
1351
|
+
let br_on_non_null = br_on_non_null ()
|
|
1301
1352
|
|
|
1302
|
-
external
|
|
1353
|
+
external br_on_cast : unit -> t = "caml_binaryen_br_on_cast"
|
|
1303
1354
|
|
|
1304
|
-
let
|
|
1355
|
+
let br_on_cast = br_on_cast ()
|
|
1305
1356
|
|
|
1306
|
-
external
|
|
1357
|
+
external br_on_cast_fail : unit -> t = "caml_binaryen_br_on_cast_fail"
|
|
1307
1358
|
|
|
1308
|
-
let
|
|
1359
|
+
let br_on_cast_fail = br_on_cast_fail ()
|
|
1309
1360
|
|
|
1310
|
-
external
|
|
1361
|
+
external string_new_utf8 : unit -> t = "caml_binaryen_string_new_utf8"
|
|
1311
1362
|
|
|
1312
|
-
let
|
|
1363
|
+
let string_new_utf8 = string_new_utf8 ()
|
|
1313
1364
|
|
|
1314
|
-
external
|
|
1315
|
-
= "caml_binaryen_ref_as_extern_internalize"
|
|
1365
|
+
external string_new_wtf8 : unit -> t = "caml_binaryen_string_new_wtf8"
|
|
1316
1366
|
|
|
1317
|
-
|
|
1318
|
-
= "caml_binaryen_ref_as_extern_externalize"
|
|
1367
|
+
let string_new_wtf8 = string_new_wtf8 ()
|
|
1319
1368
|
|
|
1320
|
-
external br_on_null : unit -> t = "caml_binaryen_br_on_null"
|
|
1321
|
-
external br_on_non_null : unit -> t = "caml_binaryen_br_on_non_null"
|
|
1322
|
-
external br_on_cast : unit -> t = "caml_binaryen_br_on_cast"
|
|
1323
|
-
external br_on_cast_fail : unit -> t = "caml_binaryen_br_on_cast_fail"
|
|
1324
|
-
external br_on_func : unit -> t = "caml_binaryen_br_on_func"
|
|
1325
|
-
external br_on_non_func : unit -> t = "caml_binaryen_br_on_non_func"
|
|
1326
|
-
external br_on_data : unit -> t = "caml_binaryen_br_on_data"
|
|
1327
|
-
external br_on_non_data : unit -> t = "caml_binaryen_br_on_non_data"
|
|
1328
|
-
external br_on_i31 : unit -> t = "caml_binaryen_br_on_i31"
|
|
1329
|
-
external br_on_non_i31 : unit -> t = "caml_binaryen_br_on_non_i31"
|
|
1330
|
-
external string_new_utf8 : unit -> t = "caml_binaryen_string_new_utf8"
|
|
1331
|
-
external string_new_wtf8 : unit -> t = "caml_binaryen_string_new_wtf8"
|
|
1332
1369
|
external string_new_replace : unit -> t = "caml_binaryen_string_new_replace"
|
|
1370
|
+
|
|
1371
|
+
let string_new_replace = string_new_replace ()
|
|
1372
|
+
|
|
1333
1373
|
external string_new_wtf16 : unit -> t = "caml_binaryen_string_new_wtf16"
|
|
1334
1374
|
|
|
1375
|
+
let string_new_wtf16 = string_new_wtf16 ()
|
|
1376
|
+
|
|
1335
1377
|
external string_new_utf8_array : unit -> t
|
|
1336
1378
|
= "caml_binaryen_string_new_utf8_array"
|
|
1337
1379
|
|
|
1380
|
+
let string_new_utf8_array = string_new_utf8_array ()
|
|
1381
|
+
|
|
1338
1382
|
external string_new_wtf8_array : unit -> t
|
|
1339
1383
|
= "caml_binaryen_string_new_wtf8_array"
|
|
1340
1384
|
|
|
1385
|
+
let string_new_wtf8_array = string_new_wtf8_array ()
|
|
1386
|
+
|
|
1341
1387
|
external string_new_replace_array : unit -> t
|
|
1342
1388
|
= "caml_binaryen_string_new_replace_array"
|
|
1343
1389
|
|
|
1390
|
+
let string_new_replace_array = string_new_replace_array ()
|
|
1391
|
+
|
|
1344
1392
|
external string_new_wtf16_array : unit -> t
|
|
1345
1393
|
= "caml_binaryen_string_new_wtf16_array"
|
|
1346
1394
|
|
|
1395
|
+
let string_new_wtf16_array = string_new_wtf16_array ()
|
|
1396
|
+
|
|
1397
|
+
external string_new_from_code_point : unit -> t
|
|
1398
|
+
= "caml_binaryen_string_new_from_code_point"
|
|
1399
|
+
|
|
1400
|
+
let string_new_from_code_point = string_new_from_code_point ()
|
|
1401
|
+
|
|
1347
1402
|
external string_measure_utf8 : unit -> t = "caml_binaryen_string_measure_utf8"
|
|
1403
|
+
|
|
1404
|
+
let string_measure_utf8 = string_measure_utf8 ()
|
|
1405
|
+
|
|
1348
1406
|
external string_measure_wtf8 : unit -> t = "caml_binaryen_string_measure_wtf8"
|
|
1407
|
+
|
|
1408
|
+
let string_measure_wtf8 = string_measure_wtf8 ()
|
|
1409
|
+
|
|
1349
1410
|
external string_measure_wtf16 : unit -> t = "caml_binaryen_string_measure_wtf16"
|
|
1350
1411
|
|
|
1412
|
+
let string_measure_wtf16 = string_measure_wtf16 ()
|
|
1413
|
+
|
|
1351
1414
|
external string_measure_is_usv : unit -> t
|
|
1352
1415
|
= "caml_binaryen_string_measure_is_usv"
|
|
1353
1416
|
|
|
1417
|
+
let string_measure_is_usv = string_measure_is_usv ()
|
|
1418
|
+
|
|
1354
1419
|
external string_measure_wtf16_view : unit -> t
|
|
1355
1420
|
= "caml_binaryen_string_measure_wtf16_view"
|
|
1356
1421
|
|
|
1422
|
+
let string_measure_wtf16_view = string_measure_wtf16_view ()
|
|
1423
|
+
|
|
1357
1424
|
external string_encode_utf8 : unit -> t = "caml_binaryen_string_encode_utf8"
|
|
1425
|
+
|
|
1426
|
+
let string_encode_utf8 = string_encode_utf8 ()
|
|
1427
|
+
|
|
1358
1428
|
external string_encode_wtf8 : unit -> t = "caml_binaryen_string_encode_wtf8"
|
|
1429
|
+
|
|
1430
|
+
let string_encode_wtf8 = string_encode_wtf8 ()
|
|
1431
|
+
|
|
1359
1432
|
external string_encode_wtf16 : unit -> t = "caml_binaryen_string_encode_wtf16"
|
|
1360
1433
|
|
|
1434
|
+
let string_encode_wtf16 = string_encode_wtf16 ()
|
|
1435
|
+
|
|
1361
1436
|
external string_encode_utf8_array : unit -> t
|
|
1362
1437
|
= "caml_binaryen_string_encode_utf8_array"
|
|
1363
1438
|
|
|
1439
|
+
let string_encode_utf8_array = string_encode_utf8_array ()
|
|
1440
|
+
|
|
1364
1441
|
external string_encode_wtf8_array : unit -> t
|
|
1365
1442
|
= "caml_binaryen_string_encode_wtf8_array"
|
|
1366
1443
|
|
|
1444
|
+
let string_encode_wtf8_array = string_encode_wtf8_array ()
|
|
1445
|
+
|
|
1367
1446
|
external string_encode_wtf16_array : unit -> t
|
|
1368
1447
|
= "caml_binaryen_string_encode_wtf16_array"
|
|
1369
1448
|
|
|
1449
|
+
let string_encode_wtf16_array = string_encode_wtf16_array ()
|
|
1450
|
+
|
|
1370
1451
|
external string_as_wtf8 : unit -> t = "caml_binaryen_string_as_wtf8"
|
|
1452
|
+
|
|
1453
|
+
let string_as_wtf8 = string_as_wtf8 ()
|
|
1454
|
+
|
|
1371
1455
|
external string_as_wtf16 : unit -> t = "caml_binaryen_string_as_wtf16"
|
|
1456
|
+
|
|
1457
|
+
let string_as_wtf16 = string_as_wtf16 ()
|
|
1458
|
+
|
|
1372
1459
|
external string_as_iter : unit -> t = "caml_binaryen_string_as_iter"
|
|
1373
1460
|
|
|
1461
|
+
let string_as_iter = string_as_iter ()
|
|
1462
|
+
|
|
1374
1463
|
external string_iter_move_advance : unit -> t
|
|
1375
1464
|
= "caml_binaryen_string_iter_move_advance"
|
|
1376
1465
|
|
|
1466
|
+
let string_iter_move_advance = string_iter_move_advance ()
|
|
1467
|
+
|
|
1377
1468
|
external string_iter_move_rewind : unit -> t
|
|
1378
1469
|
= "caml_binaryen_string_iter_move_rewind"
|
|
1379
1470
|
|
|
1471
|
+
let string_iter_move_rewind = string_iter_move_rewind ()
|
|
1472
|
+
|
|
1380
1473
|
external string_slice_wtf8 : unit -> t = "caml_binaryen_string_slice_wtf8"
|
|
1474
|
+
|
|
1475
|
+
let string_slice_wtf8 = string_slice_wtf8 ()
|
|
1476
|
+
|
|
1381
1477
|
external string_slice_wtf16 : unit -> t = "caml_binaryen_string_slice_wtf16"
|
|
1478
|
+
|
|
1479
|
+
let string_slice_wtf16 = string_slice_wtf16 ()
|
|
1480
|
+
|
|
1481
|
+
external string_eq_equal : unit -> t = "caml_binaryen_string_eq_equal"
|
|
1482
|
+
|
|
1483
|
+
let string_eq_equal = string_eq_equal ()
|
|
1484
|
+
|
|
1485
|
+
external string_eq_compare : unit -> t = "caml_binaryen_string_eq_compare"
|
|
1486
|
+
|
|
1487
|
+
let string_eq_compare = string_eq_compare ()
|
binaryen-archive/src/op.mli
CHANGED
|
@@ -210,6 +210,17 @@ val or_vec128 : t
|
|
|
210
210
|
val xor_vec128 : t
|
|
211
211
|
val and_not_vec128 : t
|
|
212
212
|
val bitselect_vec128 : t
|
|
213
|
+
val relaxed_fma_vec_f32x4 : t
|
|
214
|
+
val relaxed_fms_vec_f32x4 : t
|
|
215
|
+
val relaxed_fma_vec_f64x4 : t
|
|
216
|
+
val relaxed_fms_vec_f64x4 : t
|
|
217
|
+
val laneselect_i8x16 : t
|
|
218
|
+
val laneselect_i16x8 : t
|
|
219
|
+
val laneselect_i32x4 : t
|
|
220
|
+
val laneselect_i64x2 : t
|
|
221
|
+
val dot_i8x16_i7x16_add_s_to_vec_i32x4 : t
|
|
222
|
+
val any_true_vec128 : t
|
|
223
|
+
val popcnt_vec_i8x16 : t
|
|
213
224
|
val abs_vec_i8x16 : t
|
|
214
225
|
val neg_vec_i8x16 : t
|
|
215
226
|
val all_true_vec_i8x16 : t
|
|
@@ -308,49 +319,39 @@ val narrow_u_vec_i16x8_to_vec_i8x16 : t
|
|
|
308
319
|
val narrow_s_vec_i32x4_to_vec_i16x8 : t
|
|
309
320
|
val narrow_u_vec_i32x4_to_vec_i16x8 : t
|
|
310
321
|
val swizzle_vec8x16 : t
|
|
311
|
-
val ref_is_null : t
|
|
312
|
-
val ref_is_func : t
|
|
313
|
-
val ref_is_data : t
|
|
314
|
-
val ref_is_i31 : t
|
|
315
322
|
val ref_as_non_null : t
|
|
316
|
-
val
|
|
317
|
-
val
|
|
318
|
-
val
|
|
319
|
-
val
|
|
320
|
-
val
|
|
321
|
-
val
|
|
322
|
-
val
|
|
323
|
-
val
|
|
324
|
-
val
|
|
325
|
-
val
|
|
326
|
-
val
|
|
327
|
-
val
|
|
328
|
-
val
|
|
329
|
-
val
|
|
330
|
-
val
|
|
331
|
-
val
|
|
332
|
-
val
|
|
333
|
-
val
|
|
334
|
-
val
|
|
335
|
-
val
|
|
336
|
-
val
|
|
337
|
-
val
|
|
338
|
-
val
|
|
339
|
-
val
|
|
340
|
-
val
|
|
341
|
-
val
|
|
342
|
-
val
|
|
343
|
-
val
|
|
344
|
-
val
|
|
345
|
-
val
|
|
346
|
-
val
|
|
347
|
-
val
|
|
348
|
-
val
|
|
349
|
-
val
|
|
350
|
-
val
|
|
351
|
-
val string_as_wtf16 : unit -> t
|
|
352
|
-
val string_as_iter : unit -> t
|
|
353
|
-
val string_iter_move_advance : unit -> t
|
|
354
|
-
val string_iter_move_rewind : unit -> t
|
|
355
|
-
val string_slice_wtf8 : unit -> t
|
|
356
|
-
val string_slice_wtf16 : unit -> t
|
|
323
|
+
val ref_as_extern_internalize : t
|
|
324
|
+
val ref_as_extern_externalize : t
|
|
325
|
+
val br_on_null : t
|
|
326
|
+
val br_on_non_null : t
|
|
327
|
+
val br_on_cast : t
|
|
328
|
+
val br_on_cast_fail : t
|
|
329
|
+
val string_new_utf8 : t
|
|
330
|
+
val string_new_wtf8 : t
|
|
331
|
+
val string_new_replace : t
|
|
332
|
+
val string_new_wtf16 : t
|
|
333
|
+
val string_new_utf8_array : t
|
|
334
|
+
val string_new_wtf8_array : t
|
|
335
|
+
val string_new_replace_array : t
|
|
336
|
+
val string_new_wtf16_array : t
|
|
337
|
+
val string_new_from_code_point : t
|
|
338
|
+
val string_measure_utf8 : t
|
|
339
|
+
val string_measure_wtf8 : t
|
|
340
|
+
val string_measure_wtf16 : t
|
|
341
|
+
val string_measure_is_usv : t
|
|
342
|
+
val string_measure_wtf16_view : t
|
|
343
|
+
val string_encode_utf8 : t
|
|
344
|
+
val string_encode_wtf8 : t
|
|
345
|
+
val string_encode_wtf16 : t
|
|
346
|
+
val string_encode_utf8_array : t
|
|
347
|
+
val string_encode_wtf8_array : t
|
|
348
|
+
val string_encode_wtf16_array : t
|
|
349
|
+
val string_as_wtf8 : t
|
|
350
|
+
val string_as_wtf16 : t
|
|
351
|
+
val string_as_iter : t
|
|
352
|
+
val string_iter_move_advance : t
|
|
353
|
+
val string_iter_move_rewind : t
|
|
354
|
+
val string_slice_wtf8 : t
|
|
355
|
+
val string_slice_wtf16 : t
|
|
356
|
+
val string_eq_equal : t
|
|
357
|
+
val string_eq_compare : t
|
binaryen-archive/src/passes.ml
CHANGED
|
@@ -15,6 +15,9 @@ let dae = "dae"
|
|
|
15
15
|
(** removes arguments to calls in an lto-like manner, and optimizes where we removed *)
|
|
16
16
|
let dae_optimizing = "dae-optimizing"
|
|
17
17
|
|
|
18
|
+
(** refine and merge abstract (never-created) types *)
|
|
19
|
+
let abstract_type_refining = "abstract-type-refining"
|
|
20
|
+
|
|
18
21
|
(** reduce # of locals by coalescing *)
|
|
19
22
|
let coalesce_locals = "coalesce-locals"
|
|
20
23
|
|
|
@@ -199,6 +202,10 @@ let monomorphize_always = "monomorphize-always"
|
|
|
199
202
|
(** combines multiple memories into a single memory *)
|
|
200
203
|
let multi_memory_lowering = "multi-memory-lowering"
|
|
201
204
|
|
|
205
|
+
(** combines multiple memories into a single memory, trapping if the read or write is larger than the length of the memory's data *)
|
|
206
|
+
let multi_memory_lowering_with_bounds_checks =
|
|
207
|
+
"multi-memory-lowering-with-bounds-checks"
|
|
208
|
+
|
|
202
209
|
(** name list *)
|
|
203
210
|
let nm = "nm"
|
|
204
211
|
|
|
@@ -287,6 +294,9 @@ let remove_unused_nonfunction_module_elements =
|
|
|
287
294
|
(** removes names from locations that are never branched to *)
|
|
288
295
|
let remove_unused_names = "remove-unused-names"
|
|
289
296
|
|
|
297
|
+
(** remove unused private GC types *)
|
|
298
|
+
let remove_unused_types = "remove-unused-types"
|
|
299
|
+
|
|
290
300
|
(** sorts functions by access frequency *)
|
|
291
301
|
let reorder_functions = "reorder-functions"
|
|
292
302
|
|
|
@@ -386,6 +396,12 @@ let trap_mode_clamp = "trap-mode-clamp"
|
|
|
386
396
|
(** replace trapping operations with js semantics *)
|
|
387
397
|
let trap_mode_js = "trap-mode-js"
|
|
388
398
|
|
|
399
|
+
(** merge types to their supertypes where possible *)
|
|
400
|
+
let type_merging = "type-merging"
|
|
401
|
+
|
|
402
|
+
(** create new nominal types to help other optimizations *)
|
|
403
|
+
let type_ssa = "type-ssa"
|
|
404
|
+
|
|
389
405
|
(** removes local.tees, replacing them with sets and gets *)
|
|
390
406
|
let untee = "untee"
|
|
391
407
|
|
binaryen-archive/src/passes.mli
CHANGED
|
@@ -15,6 +15,9 @@ val dae : t
|
|
|
15
15
|
val dae_optimizing : t
|
|
16
16
|
(** removes arguments to calls in an lto-like manner, and optimizes where we removed *)
|
|
17
17
|
|
|
18
|
+
val abstract_type_refining : t
|
|
19
|
+
(** refine and merge abstract (never-created) types *)
|
|
20
|
+
|
|
18
21
|
val coalesce_locals : t
|
|
19
22
|
(** reduce # of locals by coalescing *)
|
|
20
23
|
|
|
@@ -198,6 +201,9 @@ val monomorphize_always : t
|
|
|
198
201
|
val multi_memory_lowering : t
|
|
199
202
|
(** combines multiple memories into a single memory *)
|
|
200
203
|
|
|
204
|
+
val multi_memory_lowering_with_bounds_checks : t
|
|
205
|
+
(** combines multiple memories into a single memory, trapping if the read or write is larger than the length of the memory's data *)
|
|
206
|
+
|
|
201
207
|
val nm : t
|
|
202
208
|
(** name list *)
|
|
203
209
|
|
|
@@ -285,6 +291,9 @@ val remove_unused_nonfunction_module_elements : t
|
|
|
285
291
|
val remove_unused_names : t
|
|
286
292
|
(** removes names from locations that are never branched to *)
|
|
287
293
|
|
|
294
|
+
val remove_unused_types : t
|
|
295
|
+
(** remove unused private GC types *)
|
|
296
|
+
|
|
288
297
|
val reorder_functions : t
|
|
289
298
|
(** sorts functions by access frequency *)
|
|
290
299
|
|
|
@@ -384,6 +393,12 @@ val trap_mode_clamp : t
|
|
|
384
393
|
val trap_mode_js : t
|
|
385
394
|
(** replace trapping operations with js semantics *)
|
|
386
395
|
|
|
396
|
+
val type_merging : t
|
|
397
|
+
(** merge types to their supertypes where possible *)
|
|
398
|
+
|
|
399
|
+
val type_ssa : t
|
|
400
|
+
(** create new nominal types to help other optimizations *)
|
|
401
|
+
|
|
387
402
|
val untee : t
|
|
388
403
|
(** removes local.tees, replacing them with sets and gets *)
|
|
389
404
|
|
binaryen-archive/src/type.c
CHANGED
|
@@ -77,9 +77,9 @@ caml_binaryen_type_i31ref(value unit) {
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
CAMLprim value
|
|
80
|
-
|
|
80
|
+
caml_binaryen_type_structref(value unit) {
|
|
81
81
|
CAMLparam1(unit);
|
|
82
|
-
BinaryenType ty =
|
|
82
|
+
BinaryenType ty = BinaryenTypeStructref();
|
|
83
83
|
CAMLreturn(alloc_BinaryenType(ty));
|
|
84
84
|
}
|
|
85
85
|
|
binaryen-archive/src/type.js
CHANGED
|
@@ -58,10 +58,10 @@ function caml_binaryen_type_i31ref() {
|
|
|
58
58
|
return Binaryen.i31ref;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
//Provides:
|
|
61
|
+
//Provides: caml_binaryen_type_structref
|
|
62
62
|
//Requires: Binaryen
|
|
63
|
-
function
|
|
64
|
-
return Binaryen.
|
|
63
|
+
function caml_binaryen_type_structref() {
|
|
64
|
+
return Binaryen.structref;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
//Provides: caml_binaryen_type_arrayref
|
binaryen-archive/src/type.ml
CHANGED
|
@@ -40,9 +40,9 @@ external i31ref : unit -> t = "caml_binaryen_type_i31ref"
|
|
|
40
40
|
|
|
41
41
|
let i31ref = i31ref ()
|
|
42
42
|
|
|
43
|
-
external
|
|
43
|
+
external structref : unit -> t = "caml_binaryen_type_structref"
|
|
44
44
|
|
|
45
|
-
let
|
|
45
|
+
let structref = structref ()
|
|
46
46
|
|
|
47
47
|
external arrayref : unit -> t = "caml_binaryen_type_arrayref"
|
|
48
48
|
|