@grain/binaryen.ml 0.21.0 → 0.23.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 +59 -0
- binaryen-archive/binaryen.opam +2 -2
- binaryen-archive/esy.lock/index.json +261 -258
- binaryen-archive/esy.lock/opam/{base.v0.16.1 → base.v0.16.3}/opam +3 -3
- binaryen-archive/esy.lock/opam/{chrome-trace.3.9.0 → chrome-trace.3.10.0}/opam +5 -4
- binaryen-archive/esy.lock/opam/{dune-build-info.3.9.0 → dune-build-info.3.10.0}/opam +5 -4
- binaryen-archive/esy.lock/opam/{dune-configurator.3.9.0 → dune-configurator.3.10.0}/opam +5 -4
- binaryen-archive/esy.lock/opam/{dune-rpc.3.9.0 → dune-rpc.3.10.0}/opam +5 -4
- binaryen-archive/esy.lock/opam/{dune.3.9.0 → dune.3.10.0}/opam +5 -4
- binaryen-archive/esy.lock/opam/{dyn.3.9.0 → dyn.3.10.0}/opam +5 -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/{ocamlformat-rpc-lib.0.25.1 → ocamlformat-rpc-lib.0.26.1}/opam +16 -6
- binaryen-archive/esy.lock/opam/{ordering.3.9.0 → ordering.3.10.0}/opam +5 -4
- binaryen-archive/esy.lock/opam/{pp.1.1.2 → pp.1.2.0}/opam +7 -6
- binaryen-archive/esy.lock/opam/{re.1.10.4 → re.1.11.0}/opam +5 -5
- binaryen-archive/esy.lock/opam/{stdune.3.9.0 → stdune.3.10.0}/opam +5 -4
- binaryen-archive/esy.lock/opam/{uucp.15.0.0 → uucp.15.1.0}/opam +10 -14
- binaryen-archive/esy.lock/opam/{uuseg.15.0.0 → uuseg.15.1.0}/opam +9 -11
- binaryen-archive/esy.lock/opam/{xdg.3.9.0 → xdg.3.10.0}/opam +5 -4
- binaryen-archive/package.json +2 -2
- binaryen-archive/src/dune +1 -3
- binaryen-archive/src/expression.c +42 -24
- binaryen-archive/src/expression.js +35 -16
- binaryen-archive/src/expression.ml +39 -11
- 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 +116 -95
- binaryen-archive/src/op.js +102 -84
- binaryen-archive/src/op.ml +152 -35
- binaryen-archive/src/op.mli +48 -45
- binaryen-archive/src/passes.ml +17 -1
- 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/test/test.expected +26 -26
- binaryen-archive/src/type_system.c +0 -40
- binaryen-archive/src/type_system.js +0 -29
- binaryen-archive/src/type_system.ml +0 -7
- binaryen-archive/src/type_system.mli +0 -7
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() {
|
|
@@ -1978,10 +1966,10 @@ function caml_binaryen_string_new_wtf8() {
|
|
|
1978
1966
|
return Binaryen.Operations.StringNewWTF8;
|
|
1979
1967
|
}
|
|
1980
1968
|
|
|
1981
|
-
//Provides:
|
|
1969
|
+
//Provides: caml_binaryen_string_new_lossy_utf8
|
|
1982
1970
|
//Requires: Binaryen
|
|
1983
|
-
function
|
|
1984
|
-
return Binaryen.Operations.
|
|
1971
|
+
function caml_binaryen_string_new_lossy_utf8() {
|
|
1972
|
+
return Binaryen.Operations.StringNewLossyUTF8;
|
|
1985
1973
|
}
|
|
1986
1974
|
|
|
1987
1975
|
//Provides: caml_binaryen_string_new_wtf16
|
|
@@ -2002,10 +1990,10 @@ function caml_binaryen_string_new_wtf8_array() {
|
|
|
2002
1990
|
return Binaryen.Operations.StringNewWTF8Array;
|
|
2003
1991
|
}
|
|
2004
1992
|
|
|
2005
|
-
//Provides:
|
|
1993
|
+
//Provides: caml_binaryen_string_new_lossy_utf8_array
|
|
2006
1994
|
//Requires: Binaryen
|
|
2007
|
-
function
|
|
2008
|
-
return Binaryen.Operations.
|
|
1995
|
+
function caml_binaryen_string_new_lossy_utf8_array() {
|
|
1996
|
+
return Binaryen.Operations.StringNewLossyUTF8Array;
|
|
2009
1997
|
}
|
|
2010
1998
|
|
|
2011
1999
|
//Provides: caml_binaryen_string_new_wtf16_array
|
|
@@ -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() {
|
|
@@ -2050,6 +2044,12 @@ function caml_binaryen_string_encode_utf8() {
|
|
|
2050
2044
|
return Binaryen.Operations.StringEncodeUTF8;
|
|
2051
2045
|
}
|
|
2052
2046
|
|
|
2047
|
+
//Provides: caml_binaryen_string_encode_lossy_utf8
|
|
2048
|
+
//Requires: Binaryen
|
|
2049
|
+
function caml_binaryen_string_encode_lossy_utf8() {
|
|
2050
|
+
return Binaryen.Operations.StringEncodeLossyUTF8;
|
|
2051
|
+
}
|
|
2052
|
+
|
|
2053
2053
|
//Provides: caml_binaryen_string_encode_wtf8
|
|
2054
2054
|
//Requires: Binaryen
|
|
2055
2055
|
function caml_binaryen_string_encode_wtf8() {
|
|
@@ -2068,6 +2068,12 @@ function caml_binaryen_string_encode_utf8_array() {
|
|
|
2068
2068
|
return Binaryen.Operations.StringEncodeUTF8Array;
|
|
2069
2069
|
}
|
|
2070
2070
|
|
|
2071
|
+
//Provides: caml_binaryen_string_encode_lossy_utf8_array
|
|
2072
|
+
//Requires: Binaryen
|
|
2073
|
+
function caml_binaryen_string_encode_lossy_utf8_array() {
|
|
2074
|
+
return Binaryen.Operations.StringEncodeLossyUTF8Array;
|
|
2075
|
+
}
|
|
2076
|
+
|
|
2071
2077
|
//Provides: caml_binaryen_string_encode_wtf8_array
|
|
2072
2078
|
//Requires: Binaryen
|
|
2073
2079
|
function caml_binaryen_string_encode_wtf8_array() {
|
|
@@ -2121,3 +2127,15 @@ function caml_binaryen_string_slice_wtf8() {
|
|
|
2121
2127
|
function caml_binaryen_string_slice_wtf16() {
|
|
2122
2128
|
return Binaryen.Operations.StringSliceWTF16;
|
|
2123
2129
|
}
|
|
2130
|
+
|
|
2131
|
+
//Provides: caml_binaryen_string_eq_equal
|
|
2132
|
+
//Requires: Binaryen
|
|
2133
|
+
function caml_binaryen_string_eq_equal() {
|
|
2134
|
+
return Binaryen.Operations.StringEqEqual;
|
|
2135
|
+
}
|
|
2136
|
+
|
|
2137
|
+
//Provides: caml_binaryen_string_eq_compare
|
|
2138
|
+
//Requires: Binaryen
|
|
2139
|
+
function caml_binaryen_string_eq_compare() {
|
|
2140
|
+
return Binaryen.Operations.StringEqCompare;
|
|
2141
|
+
}
|
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,171 @@ 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
|
-
|
|
1367
|
+
let string_new_wtf8 = string_new_wtf8 ()
|
|
1368
|
+
|
|
1369
|
+
external string_new_lossy_utf8 : unit -> t
|
|
1370
|
+
= "caml_binaryen_string_new_lossy_utf8"
|
|
1371
|
+
|
|
1372
|
+
let string_new_lossy_utf8 = string_new_lossy_utf8 ()
|
|
1319
1373
|
|
|
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
|
-
external string_new_replace : unit -> t = "caml_binaryen_string_new_replace"
|
|
1333
1374
|
external string_new_wtf16 : unit -> t = "caml_binaryen_string_new_wtf16"
|
|
1334
1375
|
|
|
1376
|
+
let string_new_wtf16 = string_new_wtf16 ()
|
|
1377
|
+
|
|
1335
1378
|
external string_new_utf8_array : unit -> t
|
|
1336
1379
|
= "caml_binaryen_string_new_utf8_array"
|
|
1337
1380
|
|
|
1381
|
+
let string_new_utf8_array = string_new_utf8_array ()
|
|
1382
|
+
|
|
1338
1383
|
external string_new_wtf8_array : unit -> t
|
|
1339
1384
|
= "caml_binaryen_string_new_wtf8_array"
|
|
1340
1385
|
|
|
1341
|
-
|
|
1342
|
-
|
|
1386
|
+
let string_new_wtf8_array = string_new_wtf8_array ()
|
|
1387
|
+
|
|
1388
|
+
external string_new_lossy_utf8_array : unit -> t
|
|
1389
|
+
= "caml_binaryen_string_new_lossy_utf8_array"
|
|
1390
|
+
|
|
1391
|
+
let string_new_lossy_utf8_array = string_new_lossy_utf8_array ()
|
|
1343
1392
|
|
|
1344
1393
|
external string_new_wtf16_array : unit -> t
|
|
1345
1394
|
= "caml_binaryen_string_new_wtf16_array"
|
|
1346
1395
|
|
|
1396
|
+
let string_new_wtf16_array = string_new_wtf16_array ()
|
|
1397
|
+
|
|
1398
|
+
external string_new_from_code_point : unit -> t
|
|
1399
|
+
= "caml_binaryen_string_new_from_code_point"
|
|
1400
|
+
|
|
1401
|
+
let string_new_from_code_point = string_new_from_code_point ()
|
|
1402
|
+
|
|
1347
1403
|
external string_measure_utf8 : unit -> t = "caml_binaryen_string_measure_utf8"
|
|
1404
|
+
|
|
1405
|
+
let string_measure_utf8 = string_measure_utf8 ()
|
|
1406
|
+
|
|
1348
1407
|
external string_measure_wtf8 : unit -> t = "caml_binaryen_string_measure_wtf8"
|
|
1408
|
+
|
|
1409
|
+
let string_measure_wtf8 = string_measure_wtf8 ()
|
|
1410
|
+
|
|
1349
1411
|
external string_measure_wtf16 : unit -> t = "caml_binaryen_string_measure_wtf16"
|
|
1350
1412
|
|
|
1413
|
+
let string_measure_wtf16 = string_measure_wtf16 ()
|
|
1414
|
+
|
|
1351
1415
|
external string_measure_is_usv : unit -> t
|
|
1352
1416
|
= "caml_binaryen_string_measure_is_usv"
|
|
1353
1417
|
|
|
1418
|
+
let string_measure_is_usv = string_measure_is_usv ()
|
|
1419
|
+
|
|
1354
1420
|
external string_measure_wtf16_view : unit -> t
|
|
1355
1421
|
= "caml_binaryen_string_measure_wtf16_view"
|
|
1356
1422
|
|
|
1423
|
+
let string_measure_wtf16_view = string_measure_wtf16_view ()
|
|
1424
|
+
|
|
1357
1425
|
external string_encode_utf8 : unit -> t = "caml_binaryen_string_encode_utf8"
|
|
1426
|
+
|
|
1427
|
+
let string_encode_utf8 = string_encode_utf8 ()
|
|
1428
|
+
|
|
1429
|
+
external string_encode_lossy_utf8 : unit -> t
|
|
1430
|
+
= "caml_binaryen_string_encode_lossy_utf8"
|
|
1431
|
+
|
|
1432
|
+
let string_encode_lossy_utf8 = string_encode_lossy_utf8 ()
|
|
1433
|
+
|
|
1358
1434
|
external string_encode_wtf8 : unit -> t = "caml_binaryen_string_encode_wtf8"
|
|
1435
|
+
|
|
1436
|
+
let string_encode_wtf8 = string_encode_wtf8 ()
|
|
1437
|
+
|
|
1359
1438
|
external string_encode_wtf16 : unit -> t = "caml_binaryen_string_encode_wtf16"
|
|
1360
1439
|
|
|
1440
|
+
let string_encode_wtf16 = string_encode_wtf16 ()
|
|
1441
|
+
|
|
1361
1442
|
external string_encode_utf8_array : unit -> t
|
|
1362
1443
|
= "caml_binaryen_string_encode_utf8_array"
|
|
1363
1444
|
|
|
1445
|
+
let string_encode_utf8_array = string_encode_utf8_array ()
|
|
1446
|
+
|
|
1447
|
+
external string_encode_lossy_utf8_array : unit -> t
|
|
1448
|
+
= "caml_binaryen_string_encode_lossy_utf8_array"
|
|
1449
|
+
|
|
1450
|
+
let string_encode_lossy_utf8_array = string_encode_lossy_utf8_array ()
|
|
1451
|
+
|
|
1364
1452
|
external string_encode_wtf8_array : unit -> t
|
|
1365
1453
|
= "caml_binaryen_string_encode_wtf8_array"
|
|
1366
1454
|
|
|
1455
|
+
let string_encode_wtf8_array = string_encode_wtf8_array ()
|
|
1456
|
+
|
|
1367
1457
|
external string_encode_wtf16_array : unit -> t
|
|
1368
1458
|
= "caml_binaryen_string_encode_wtf16_array"
|
|
1369
1459
|
|
|
1460
|
+
let string_encode_wtf16_array = string_encode_wtf16_array ()
|
|
1461
|
+
|
|
1370
1462
|
external string_as_wtf8 : unit -> t = "caml_binaryen_string_as_wtf8"
|
|
1463
|
+
|
|
1464
|
+
let string_as_wtf8 = string_as_wtf8 ()
|
|
1465
|
+
|
|
1371
1466
|
external string_as_wtf16 : unit -> t = "caml_binaryen_string_as_wtf16"
|
|
1467
|
+
|
|
1468
|
+
let string_as_wtf16 = string_as_wtf16 ()
|
|
1469
|
+
|
|
1372
1470
|
external string_as_iter : unit -> t = "caml_binaryen_string_as_iter"
|
|
1373
1471
|
|
|
1472
|
+
let string_as_iter = string_as_iter ()
|
|
1473
|
+
|
|
1374
1474
|
external string_iter_move_advance : unit -> t
|
|
1375
1475
|
= "caml_binaryen_string_iter_move_advance"
|
|
1376
1476
|
|
|
1477
|
+
let string_iter_move_advance = string_iter_move_advance ()
|
|
1478
|
+
|
|
1377
1479
|
external string_iter_move_rewind : unit -> t
|
|
1378
1480
|
= "caml_binaryen_string_iter_move_rewind"
|
|
1379
1481
|
|
|
1482
|
+
let string_iter_move_rewind = string_iter_move_rewind ()
|
|
1483
|
+
|
|
1380
1484
|
external string_slice_wtf8 : unit -> t = "caml_binaryen_string_slice_wtf8"
|
|
1485
|
+
|
|
1486
|
+
let string_slice_wtf8 = string_slice_wtf8 ()
|
|
1487
|
+
|
|
1381
1488
|
external string_slice_wtf16 : unit -> t = "caml_binaryen_string_slice_wtf16"
|
|
1489
|
+
|
|
1490
|
+
let string_slice_wtf16 = string_slice_wtf16 ()
|
|
1491
|
+
|
|
1492
|
+
external string_eq_equal : unit -> t = "caml_binaryen_string_eq_equal"
|
|
1493
|
+
|
|
1494
|
+
let string_eq_equal = string_eq_equal ()
|
|
1495
|
+
|
|
1496
|
+
external string_eq_compare : unit -> t = "caml_binaryen_string_eq_compare"
|
|
1497
|
+
|
|
1498
|
+
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,41 @@ 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
|
|
352
|
-
val
|
|
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_lossy_utf8 : 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_wtf16_array : t
|
|
336
|
+
val string_new_from_code_point : t
|
|
337
|
+
val string_measure_utf8 : t
|
|
338
|
+
val string_measure_wtf8 : t
|
|
339
|
+
val string_new_lossy_utf8_array : 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_lossy_utf8 : t
|
|
345
|
+
val string_encode_wtf8 : t
|
|
346
|
+
val string_encode_wtf16 : t
|
|
347
|
+
val string_encode_utf8_array : t
|
|
348
|
+
val string_encode_lossy_utf8_array : t
|
|
349
|
+
val string_encode_wtf8_array : t
|
|
350
|
+
val string_encode_wtf16_array : t
|
|
351
|
+
val string_as_wtf8 : t
|
|
352
|
+
val string_as_wtf16 : t
|
|
353
|
+
val string_as_iter : t
|
|
354
|
+
val string_iter_move_advance : t
|
|
355
|
+
val string_iter_move_rewind : t
|
|
356
|
+
val string_slice_wtf8 : t
|
|
357
|
+
val string_slice_wtf16 : t
|
|
358
|
+
val string_eq_equal : t
|
|
359
|
+
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
|
|
|
@@ -320,7 +330,7 @@ let signature_pruning = "signature-pruning"
|
|
|
320
330
|
(** apply more specific subtypes to signature types where possible *)
|
|
321
331
|
let signature_refining = "signature-refining"
|
|
322
332
|
|
|
323
|
-
(** lower sign-ext operations to wasm mvp *)
|
|
333
|
+
(** lower sign-ext operations to wasm mvp and disable the sign extension feature *)
|
|
324
334
|
let signext_lowering = "signext-lowering"
|
|
325
335
|
|
|
326
336
|
(** miscellaneous globals-related optimizations *)
|
|
@@ -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
|
|