@grain/binaryen.ml 0.22.0 → 0.24.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 +36 -0
- binaryen-archive/binaryen.opam +2 -2
- binaryen-archive/esy.lock/index.json +269 -266
- 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.1 → chrome-trace.3.11.1}/opam +5 -4
- binaryen-archive/esy.lock/opam/{dune-build-info.3.9.1 → dune-build-info.3.11.1}/opam +5 -4
- binaryen-archive/esy.lock/opam/{dune-configurator.3.9.1 → dune-configurator.3.11.1}/opam +5 -4
- binaryen-archive/esy.lock/opam/{dune-rpc.3.9.1 → dune-rpc.3.11.1}/opam +5 -4
- binaryen-archive/esy.lock/opam/{dune.3.9.1 → dune.3.11.1}/opam +5 -4
- binaryen-archive/esy.lock/opam/{dyn.3.9.1 → dyn.3.11.1}/opam +5 -4
- 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/ocamlformat.0.24.1/opam +1 -1
- binaryen-archive/esy.lock/opam/{ordering.3.9.1 → ordering.3.11.1}/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.1 → stdune.3.11.1}/opam +6 -5
- 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.1 → xdg.3.11.1}/opam +5 -4
- binaryen-archive/esy.lock/opam/{yojson.2.1.0 → yojson.2.1.1}/opam +4 -4
- binaryen-archive/package.json +3 -3
- binaryen-archive/src/dune +1 -3
- binaryen-archive/src/expression.c +18 -18
- binaryen-archive/src/expression.js +15 -10
- binaryen-archive/src/expression.ml +25 -6
- binaryen-archive/src/op.c +18 -4
- binaryen-archive/src/op.js +18 -6
- binaryen-archive/src/op.ml +16 -5
- binaryen-archive/src/op.mli +4 -2
- binaryen-archive/src/passes.ml +4 -1
- binaryen-archive/src/passes.mli +3 -0
- binaryen-archive/test/test.expected +18 -18
- binaryen-archive/test/test.ml +1 -0
- binaryen-archive/src/type_system.c +0 -34
- binaryen-archive/src/type_system.js +0 -23
- binaryen-archive/src/type_system.ml +0 -6
- binaryen-archive/src/type_system.mli +0 -6
|
@@ -703,15 +703,25 @@ module Memory_grow = struct
|
|
|
703
703
|
end
|
|
704
704
|
|
|
705
705
|
module Memory_init = struct
|
|
706
|
-
external make : Module.t ->
|
|
706
|
+
external make : Module.t -> string -> t -> t -> t -> string -> t
|
|
707
707
|
= "caml_binaryen_memory_init__bytecode" "caml_binaryen_memory_init"
|
|
708
708
|
(** Module, segment, destination, offset, size, memory_name *)
|
|
709
709
|
|
|
710
|
-
|
|
710
|
+
(* Binaryen v113 still uses indexes for data segements, so we only want to change the binding itself, not our interface *)
|
|
711
|
+
let make wasm_mod segment dest offset size memory_name =
|
|
712
|
+
make wasm_mod (string_of_int segment) dest offset size memory_name
|
|
711
713
|
|
|
712
|
-
external
|
|
714
|
+
external get_segment : t -> string = "caml_binaryen_memory_init_get_segment"
|
|
715
|
+
|
|
716
|
+
(* Binaryen v113 still uses indexes for data segements, so we only want to change the binding itself, not our interface *)
|
|
717
|
+
let get_segment expr = int_of_string (get_segment expr)
|
|
718
|
+
|
|
719
|
+
external set_segment : t -> string -> unit
|
|
713
720
|
= "caml_binaryen_memory_init_set_segment"
|
|
714
721
|
|
|
722
|
+
(* Binaryen v113 still uses indexes for data segements, so we only want to change the binding itself, not our interface *)
|
|
723
|
+
let set_segment expr segment = set_segment expr (string_of_int segment)
|
|
724
|
+
|
|
715
725
|
external get_dest : t -> t = "caml_binaryen_memory_init_get_dest"
|
|
716
726
|
external set_dest : t -> t -> unit = "caml_binaryen_memory_init_set_dest"
|
|
717
727
|
external get_offset : t -> t = "caml_binaryen_memory_init_get_offset"
|
|
@@ -721,13 +731,22 @@ module Memory_init = struct
|
|
|
721
731
|
end
|
|
722
732
|
|
|
723
733
|
module Data_drop = struct
|
|
724
|
-
external make : Module.t ->
|
|
734
|
+
external make : Module.t -> string -> t = "caml_binaryen_data_drop"
|
|
725
735
|
(** Module, segment. *)
|
|
726
736
|
|
|
727
|
-
|
|
737
|
+
(* Binaryen v113 still uses indexes for data segements, so we only want to change the binding itself, not our interface *)
|
|
738
|
+
let make wasm_mod segment = make wasm_mod (string_of_int segment)
|
|
728
739
|
|
|
729
|
-
external
|
|
740
|
+
external get_segment : t -> string = "caml_binaryen_data_drop_get_segment"
|
|
741
|
+
|
|
742
|
+
(* Binaryen v113 still uses indexes for data segements, so we only want to change the binding itself, not our interface *)
|
|
743
|
+
let get_segment expr = int_of_string (get_segment expr)
|
|
744
|
+
|
|
745
|
+
external set_segment : t -> string -> unit
|
|
730
746
|
= "caml_binaryen_data_drop_set_segment"
|
|
747
|
+
|
|
748
|
+
(* Binaryen v113 still uses indexes for data segements, so we only want to change the binding itself, not our interface *)
|
|
749
|
+
let set_segment expr segment = set_segment expr (string_of_int segment)
|
|
731
750
|
end
|
|
732
751
|
|
|
733
752
|
module Memory_copy = struct
|
binaryen-archive/src/op.c
CHANGED
|
@@ -2303,9 +2303,9 @@ caml_binaryen_string_new_wtf8(value unit) {
|
|
|
2303
2303
|
}
|
|
2304
2304
|
|
|
2305
2305
|
CAMLprim value
|
|
2306
|
-
|
|
2306
|
+
caml_binaryen_string_new_lossy_utf8(value unit) {
|
|
2307
2307
|
CAMLparam1(unit);
|
|
2308
|
-
BinaryenOp op =
|
|
2308
|
+
BinaryenOp op = BinaryenStringNewLossyUTF8();
|
|
2309
2309
|
CAMLreturn(alloc_BinaryenOp(op));
|
|
2310
2310
|
}
|
|
2311
2311
|
|
|
@@ -2331,9 +2331,9 @@ caml_binaryen_string_new_wtf8_array(value unit) {
|
|
|
2331
2331
|
}
|
|
2332
2332
|
|
|
2333
2333
|
CAMLprim value
|
|
2334
|
-
|
|
2334
|
+
caml_binaryen_string_new_lossy_utf8_array(value unit) {
|
|
2335
2335
|
CAMLparam1(unit);
|
|
2336
|
-
BinaryenOp op =
|
|
2336
|
+
BinaryenOp op = BinaryenStringNewLossyUTF8Array();
|
|
2337
2337
|
CAMLreturn(alloc_BinaryenOp(op));
|
|
2338
2338
|
}
|
|
2339
2339
|
|
|
@@ -2393,6 +2393,13 @@ caml_binaryen_string_encode_utf8(value unit) {
|
|
|
2393
2393
|
CAMLreturn(alloc_BinaryenOp(op));
|
|
2394
2394
|
}
|
|
2395
2395
|
|
|
2396
|
+
CAMLprim value
|
|
2397
|
+
caml_binaryen_string_encode_lossy_utf8(value unit) {
|
|
2398
|
+
CAMLparam1(unit);
|
|
2399
|
+
BinaryenOp op = BinaryenStringEncodeLossyUTF8();
|
|
2400
|
+
CAMLreturn(alloc_BinaryenOp(op));
|
|
2401
|
+
}
|
|
2402
|
+
|
|
2396
2403
|
CAMLprim value
|
|
2397
2404
|
caml_binaryen_string_encode_wtf8(value unit) {
|
|
2398
2405
|
CAMLparam1(unit);
|
|
@@ -2414,6 +2421,13 @@ caml_binaryen_string_encode_utf8_array(value unit) {
|
|
|
2414
2421
|
CAMLreturn(alloc_BinaryenOp(op));
|
|
2415
2422
|
}
|
|
2416
2423
|
|
|
2424
|
+
CAMLprim value
|
|
2425
|
+
caml_binaryen_string_encode_lossy_utf8_array(value unit) {
|
|
2426
|
+
CAMLparam1(unit);
|
|
2427
|
+
BinaryenOp op = BinaryenStringEncodeLossyUTF8Array();
|
|
2428
|
+
CAMLreturn(alloc_BinaryenOp(op));
|
|
2429
|
+
}
|
|
2430
|
+
|
|
2417
2431
|
CAMLprim value
|
|
2418
2432
|
caml_binaryen_string_encode_wtf8_array(value unit) {
|
|
2419
2433
|
CAMLparam1(unit);
|
binaryen-archive/src/op.js
CHANGED
|
@@ -1966,10 +1966,10 @@ function caml_binaryen_string_new_wtf8() {
|
|
|
1966
1966
|
return Binaryen.Operations.StringNewWTF8;
|
|
1967
1967
|
}
|
|
1968
1968
|
|
|
1969
|
-
//Provides:
|
|
1969
|
+
//Provides: caml_binaryen_string_new_lossy_utf8
|
|
1970
1970
|
//Requires: Binaryen
|
|
1971
|
-
function
|
|
1972
|
-
return Binaryen.Operations.
|
|
1971
|
+
function caml_binaryen_string_new_lossy_utf8() {
|
|
1972
|
+
return Binaryen.Operations.StringNewLossyUTF8;
|
|
1973
1973
|
}
|
|
1974
1974
|
|
|
1975
1975
|
//Provides: caml_binaryen_string_new_wtf16
|
|
@@ -1990,10 +1990,10 @@ function caml_binaryen_string_new_wtf8_array() {
|
|
|
1990
1990
|
return Binaryen.Operations.StringNewWTF8Array;
|
|
1991
1991
|
}
|
|
1992
1992
|
|
|
1993
|
-
//Provides:
|
|
1993
|
+
//Provides: caml_binaryen_string_new_lossy_utf8_array
|
|
1994
1994
|
//Requires: Binaryen
|
|
1995
|
-
function
|
|
1996
|
-
return Binaryen.Operations.
|
|
1995
|
+
function caml_binaryen_string_new_lossy_utf8_array() {
|
|
1996
|
+
return Binaryen.Operations.StringNewLossyUTF8Array;
|
|
1997
1997
|
}
|
|
1998
1998
|
|
|
1999
1999
|
//Provides: caml_binaryen_string_new_wtf16_array
|
|
@@ -2044,6 +2044,12 @@ function caml_binaryen_string_encode_utf8() {
|
|
|
2044
2044
|
return Binaryen.Operations.StringEncodeUTF8;
|
|
2045
2045
|
}
|
|
2046
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
|
+
|
|
2047
2053
|
//Provides: caml_binaryen_string_encode_wtf8
|
|
2048
2054
|
//Requires: Binaryen
|
|
2049
2055
|
function caml_binaryen_string_encode_wtf8() {
|
|
@@ -2062,6 +2068,12 @@ function caml_binaryen_string_encode_utf8_array() {
|
|
|
2062
2068
|
return Binaryen.Operations.StringEncodeUTF8Array;
|
|
2063
2069
|
}
|
|
2064
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
|
+
|
|
2065
2077
|
//Provides: caml_binaryen_string_encode_wtf8_array
|
|
2066
2078
|
//Requires: Binaryen
|
|
2067
2079
|
function caml_binaryen_string_encode_wtf8_array() {
|
binaryen-archive/src/op.ml
CHANGED
|
@@ -1366,9 +1366,10 @@ external string_new_wtf8 : unit -> t = "caml_binaryen_string_new_wtf8"
|
|
|
1366
1366
|
|
|
1367
1367
|
let string_new_wtf8 = string_new_wtf8 ()
|
|
1368
1368
|
|
|
1369
|
-
external
|
|
1369
|
+
external string_new_lossy_utf8 : unit -> t
|
|
1370
|
+
= "caml_binaryen_string_new_lossy_utf8"
|
|
1370
1371
|
|
|
1371
|
-
let
|
|
1372
|
+
let string_new_lossy_utf8 = string_new_lossy_utf8 ()
|
|
1372
1373
|
|
|
1373
1374
|
external string_new_wtf16 : unit -> t = "caml_binaryen_string_new_wtf16"
|
|
1374
1375
|
|
|
@@ -1384,10 +1385,10 @@ external string_new_wtf8_array : unit -> t
|
|
|
1384
1385
|
|
|
1385
1386
|
let string_new_wtf8_array = string_new_wtf8_array ()
|
|
1386
1387
|
|
|
1387
|
-
external
|
|
1388
|
-
= "
|
|
1388
|
+
external string_new_lossy_utf8_array : unit -> t
|
|
1389
|
+
= "caml_binaryen_string_new_lossy_utf8_array"
|
|
1389
1390
|
|
|
1390
|
-
let
|
|
1391
|
+
let string_new_lossy_utf8_array = string_new_lossy_utf8_array ()
|
|
1391
1392
|
|
|
1392
1393
|
external string_new_wtf16_array : unit -> t
|
|
1393
1394
|
= "caml_binaryen_string_new_wtf16_array"
|
|
@@ -1425,6 +1426,11 @@ external string_encode_utf8 : unit -> t = "caml_binaryen_string_encode_utf8"
|
|
|
1425
1426
|
|
|
1426
1427
|
let string_encode_utf8 = string_encode_utf8 ()
|
|
1427
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
|
+
|
|
1428
1434
|
external string_encode_wtf8 : unit -> t = "caml_binaryen_string_encode_wtf8"
|
|
1429
1435
|
|
|
1430
1436
|
let string_encode_wtf8 = string_encode_wtf8 ()
|
|
@@ -1438,6 +1444,11 @@ external string_encode_utf8_array : unit -> t
|
|
|
1438
1444
|
|
|
1439
1445
|
let string_encode_utf8_array = string_encode_utf8_array ()
|
|
1440
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
|
+
|
|
1441
1452
|
external string_encode_wtf8_array : unit -> t
|
|
1442
1453
|
= "caml_binaryen_string_encode_wtf8_array"
|
|
1443
1454
|
|
binaryen-archive/src/op.mli
CHANGED
|
@@ -328,22 +328,24 @@ val br_on_cast : t
|
|
|
328
328
|
val br_on_cast_fail : t
|
|
329
329
|
val string_new_utf8 : t
|
|
330
330
|
val string_new_wtf8 : t
|
|
331
|
-
val
|
|
331
|
+
val string_new_lossy_utf8 : t
|
|
332
332
|
val string_new_wtf16 : t
|
|
333
333
|
val string_new_utf8_array : t
|
|
334
334
|
val string_new_wtf8_array : t
|
|
335
|
-
val string_new_replace_array : t
|
|
336
335
|
val string_new_wtf16_array : t
|
|
337
336
|
val string_new_from_code_point : t
|
|
338
337
|
val string_measure_utf8 : t
|
|
339
338
|
val string_measure_wtf8 : t
|
|
339
|
+
val string_new_lossy_utf8_array : t
|
|
340
340
|
val string_measure_wtf16 : t
|
|
341
341
|
val string_measure_is_usv : t
|
|
342
342
|
val string_measure_wtf16_view : t
|
|
343
343
|
val string_encode_utf8 : t
|
|
344
|
+
val string_encode_lossy_utf8 : t
|
|
344
345
|
val string_encode_wtf8 : t
|
|
345
346
|
val string_encode_wtf16 : t
|
|
346
347
|
val string_encode_utf8_array : t
|
|
348
|
+
val string_encode_lossy_utf8_array : t
|
|
347
349
|
val string_encode_wtf8_array : t
|
|
348
350
|
val string_encode_wtf16_array : t
|
|
349
351
|
val string_as_wtf8 : t
|
binaryen-archive/src/passes.ml
CHANGED
|
@@ -330,7 +330,7 @@ let signature_pruning = "signature-pruning"
|
|
|
330
330
|
(** apply more specific subtypes to signature types where possible *)
|
|
331
331
|
let signature_refining = "signature-refining"
|
|
332
332
|
|
|
333
|
-
(** lower sign-ext operations to wasm mvp *)
|
|
333
|
+
(** lower sign-ext operations to wasm mvp and disable the sign extension feature *)
|
|
334
334
|
let signext_lowering = "signext-lowering"
|
|
335
335
|
|
|
336
336
|
(** miscellaneous globals-related optimizations *)
|
|
@@ -387,6 +387,9 @@ let strip_dwarf = "strip-dwarf"
|
|
|
387
387
|
(** strip the wasm producers section *)
|
|
388
388
|
let strip_producers = "strip-producers"
|
|
389
389
|
|
|
390
|
+
(** strip EH instructions *)
|
|
391
|
+
let strip_eh = "strip-eh"
|
|
392
|
+
|
|
390
393
|
(** strip the wasm target features section *)
|
|
391
394
|
let strip_target_features = "strip-target-features"
|
|
392
395
|
|
binaryen-archive/src/passes.mli
CHANGED
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
(type $none_=>_none (func))
|
|
12
12
|
(type $anyref_i32_i32_=>_i32 (func (param anyref i32 i32) (result i32)))
|
|
13
13
|
(type $anyref_=>_i32 (func (param anyref) (result i32)))
|
|
14
|
-
(import "future-wasi" "write" (func $write (param anyref i32 i32) (result i32)))
|
|
14
|
+
(import "future-wasi" "write" (func $write (type $anyref_i32_i32_=>_i32) (param anyref i32 i32) (result i32)))
|
|
15
15
|
(global $max_int64 i64 (i64.const 9223372036854775807))
|
|
16
16
|
(global $max_int64_mut (mut i64) (i64.const 9223372036854775807))
|
|
17
17
|
(global $test_float64_bits f64 (f64.const 1.23))
|
|
18
18
|
(memory $0 1)
|
|
19
|
-
(data (i32.const 0) "hello")
|
|
20
|
-
(data "world")
|
|
19
|
+
(data $0 (i32.const 0) "hello")
|
|
20
|
+
(data $1 "world")
|
|
21
21
|
(table $table 1 1 funcref)
|
|
22
22
|
(elem $elem (i32.const 0) $adder)
|
|
23
23
|
(export "adder" (func $adder))
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
)
|
|
45
45
|
(func $start (type $none_=>_none)
|
|
46
46
|
(block $start
|
|
47
|
-
(memory.init 1
|
|
47
|
+
(memory.init $1
|
|
48
48
|
(i32.const 2048)
|
|
49
49
|
(i32.const 0)
|
|
50
50
|
(i32.const 5)
|
|
@@ -71,10 +71,10 @@
|
|
|
71
71
|
(type $none_=>_none (func))
|
|
72
72
|
(type $anyref_i32_i32_=>_i32 (func (param anyref i32 i32) (result i32)))
|
|
73
73
|
(type $anyref_=>_i32 (func (param anyref) (result i32)))
|
|
74
|
-
(import "future-wasi" "write" (func $write (param anyref i32 i32) (result i32)))
|
|
74
|
+
(import "future-wasi" "write" (func $write (type $anyref_i32_i32_=>_i32) (param anyref i32 i32) (result i32)))
|
|
75
75
|
(memory $0 1)
|
|
76
|
-
(data (i32.const 0) "hello")
|
|
77
|
-
(data "world")
|
|
76
|
+
(data $0 (i32.const 0) "hello")
|
|
77
|
+
(data $1 "world")
|
|
78
78
|
(table $table 1 1 funcref)
|
|
79
79
|
(elem $elem (i32.const 0) $adder)
|
|
80
80
|
(export "adder" (func $adder))
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
)
|
|
95
95
|
)
|
|
96
96
|
(func $start (type $none_=>_none) (; has Stack IR ;)
|
|
97
|
-
(memory.init 1
|
|
97
|
+
(memory.init $1
|
|
98
98
|
(i32.const 2048)
|
|
99
99
|
(i32.const 0)
|
|
100
100
|
(i32.const 5)
|
|
@@ -119,12 +119,12 @@
|
|
|
119
119
|
(type $type$1 (func (param i32 i32) (result i32)))
|
|
120
120
|
(type $type$2 (func))
|
|
121
121
|
(type $type$3 (func (param anyref) (result i32)))
|
|
122
|
-
(import "future-wasi" "write" (func $fimport$0 (param anyref i32 i32) (result i32)))
|
|
122
|
+
(import "future-wasi" "write" (func $fimport$0 (type $type$0) (param anyref i32 i32) (result i32)))
|
|
123
123
|
(memory $0 1)
|
|
124
|
-
(data (i32.const 0) "hello")
|
|
125
|
-
(data "world")
|
|
124
|
+
(data $0 (i32.const 0) "hello")
|
|
125
|
+
(data $1 "world")
|
|
126
126
|
(table $0 1 1 funcref)
|
|
127
|
-
(elem (i32.const 0) $0)
|
|
127
|
+
(elem $0 (i32.const 0) $0)
|
|
128
128
|
(export "adder" (func $0))
|
|
129
129
|
(export "memory" (memory $0))
|
|
130
130
|
(export "hello" (func $2))
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
)
|
|
143
143
|
)
|
|
144
144
|
(func $1 (type $type$2)
|
|
145
|
-
(memory.init 1
|
|
145
|
+
(memory.init $1
|
|
146
146
|
(i32.const 2048)
|
|
147
147
|
(i32.const 0)
|
|
148
148
|
(i32.const 5)
|
|
@@ -167,12 +167,12 @@
|
|
|
167
167
|
(type $type$1 (func (param i32 i32) (result i32)))
|
|
168
168
|
(type $type$2 (func))
|
|
169
169
|
(type $type$3 (func (param anyref) (result i32)))
|
|
170
|
-
(import "future-wasi" "write" (func $fimport$0 (param anyref i32 i32) (result i32)))
|
|
170
|
+
(import "future-wasi" "write" (func $fimport$0 (type $type$0) (param anyref i32 i32) (result i32)))
|
|
171
171
|
(memory $0 1)
|
|
172
|
-
(data (i32.const 0) "hello")
|
|
173
|
-
(data "world")
|
|
172
|
+
(data $0 (i32.const 0) "hello")
|
|
173
|
+
(data $1 "world")
|
|
174
174
|
(table $0 1 1 funcref)
|
|
175
|
-
(elem (i32.const 0) $0)
|
|
175
|
+
(elem $0 (i32.const 0) $0)
|
|
176
176
|
(export "adder" (func $0))
|
|
177
177
|
(export "memory" (memory $0))
|
|
178
178
|
(export "hello" (func $2))
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
i32.const 2048
|
|
191
191
|
i32.const 0
|
|
192
192
|
i32.const 5
|
|
193
|
-
memory.init $0 1
|
|
193
|
+
memory.init $0 $1
|
|
194
194
|
i32.const 3
|
|
195
195
|
i32.const 5
|
|
196
196
|
call $0
|
binaryen-archive/test/test.ml
CHANGED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
#define CAML_NAME_SPACE
|
|
2
|
-
#include <caml/mlvalues.h>
|
|
3
|
-
#include <caml/fail.h>
|
|
4
|
-
#include <caml/memory.h>
|
|
5
|
-
|
|
6
|
-
#include "binaryen-c.h"
|
|
7
|
-
#include "ocaml_helpers.h"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
CAMLprim value
|
|
11
|
-
caml_binaryen_type_system_nominal(value unit) {
|
|
12
|
-
CAMLparam1(unit);
|
|
13
|
-
CAMLreturn(Val_int(BinaryenTypeSystemNominal()));
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
CAMLprim value
|
|
17
|
-
caml_binaryen_type_system_isorecursive(value unit) {
|
|
18
|
-
CAMLparam1(unit);
|
|
19
|
-
CAMLreturn(Val_int(BinaryenTypeSystemIsorecursive()));
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
CAMLprim value
|
|
23
|
-
caml_binaryen_get_type_system(value unit) {
|
|
24
|
-
CAMLparam1(unit);
|
|
25
|
-
CAMLreturn(Val_int(BinaryenGetTypeSystem()));
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
CAMLprim value
|
|
29
|
-
caml_binaryen_set_type_system(value _typeSystem) {
|
|
30
|
-
CAMLparam1(_typeSystem);
|
|
31
|
-
BinaryenTypeSystem typeSystem = Int_val(_typeSystem);
|
|
32
|
-
BinaryenSetTypeSystem(typeSystem);
|
|
33
|
-
CAMLreturn(Val_unit);
|
|
34
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
//Provides: caml_binaryen_type_system_nominal
|
|
2
|
-
//Requires: Binaryen
|
|
3
|
-
function caml_binaryen_type_system_nominal() {
|
|
4
|
-
return Binaryen._BinaryenTypeSystemNominal();
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
//Provides: caml_binaryen_type_system_isorecursive
|
|
8
|
-
//Requires: Binaryen
|
|
9
|
-
function caml_binaryen_type_system_isorecursive() {
|
|
10
|
-
return Binaryen._BinaryenTypeSystemIsorecursive();
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
//Provides: caml_binaryen_get_type_system
|
|
14
|
-
//Requires: Binaryen
|
|
15
|
-
function caml_binaryen_get_type_system() {
|
|
16
|
-
return Binaryen._BinaryenGetTypeSystem();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
//Provides: caml_binaryen_set_type_system
|
|
20
|
-
//Requires: Binaryen
|
|
21
|
-
function caml_binaryen_set_type_system(typeSystem) {
|
|
22
|
-
Binaryen._BinaryenSetTypeSystem(typeSystem);
|
|
23
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
type t = int
|
|
2
|
-
|
|
3
|
-
external nominal : unit -> t = "caml_binaryen_type_system_nominal"
|
|
4
|
-
external isorecursive : unit -> t = "caml_binaryen_type_system_isorecursive"
|
|
5
|
-
external get_type_system : unit -> t = "caml_binaryen_get_type_system"
|
|
6
|
-
external set_type_system : t -> unit = "caml_binaryen_set_type_system"
|