Skip to content

Commit 45614d6

Browse files
committed
feat: Remove legacy instructions
1 parent e01e85a commit 45614d6

File tree

6 files changed

+90
-514
lines changed

6 files changed

+90
-514
lines changed

src/expression.c

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1946,15 +1946,6 @@ caml_binaryen_throw(value _module, value _tag, value _operands) {
19461946
CAMLreturn(alloc_BinaryenExpressionRef(exp));
19471947
}
19481948

1949-
CAMLprim value
1950-
caml_binaryen_rethrow(value _module, value _target) {
1951-
CAMLparam2(_module, _target);
1952-
BinaryenModuleRef module = BinaryenModuleRef_val(_module);
1953-
char *target = Safe_String_val(_target);
1954-
BinaryenExpressionRef exp = BinaryenRethrow(module, target);
1955-
CAMLreturn(alloc_BinaryenExpressionRef(exp));
1956-
}
1957-
19581949
CAMLprim value
19591950
caml_binaryen_try_get_name(value _expr) {
19601951
CAMLparam1(_expr);
@@ -2111,35 +2102,6 @@ caml_binaryen_try_has_catch_all(value _expr) {
21112102
CAMLreturn(Val_bool(binaryenRetVal));
21122103
}
21132104

2114-
CAMLprim value
2115-
caml_binaryen_try_get_delegate_target(value _expr) {
2116-
CAMLparam1(_expr);
2117-
BinaryenExpressionRef expr = BinaryenExpressionRef_val(_expr);
2118-
const char* binaryenRetVal = BinaryenTryGetDelegateTarget(expr);
2119-
if (binaryenRetVal == NULL) {
2120-
CAMLreturn(Val_none);
2121-
} else {
2122-
CAMLreturn(caml_alloc_some(caml_copy_string(binaryenRetVal)));
2123-
}
2124-
}
2125-
2126-
CAMLprim value
2127-
caml_binaryen_try_set_delegate_target(value _expr, value _delegateTarget) {
2128-
CAMLparam2(_expr, _delegateTarget);
2129-
BinaryenExpressionRef expr = BinaryenExpressionRef_val(_expr);
2130-
const char* delegateTarget = Safe_String_val(_delegateTarget);
2131-
BinaryenTrySetDelegateTarget(expr, delegateTarget);
2132-
CAMLreturn(Val_unit);
2133-
}
2134-
2135-
CAMLprim value
2136-
caml_binaryen_try_is_delegate(value _expr) {
2137-
CAMLparam1(_expr);
2138-
BinaryenExpressionRef expr = BinaryenExpressionRef_val(_expr);
2139-
bool binaryenRetVal = BinaryenTryIsDelegate(expr);
2140-
CAMLreturn(Val_bool(binaryenRetVal));
2141-
}
2142-
21432105
CAMLprim value
21442106
caml_binaryen_throw_get_tag(value _expr) {
21452107
CAMLparam1(_expr);
@@ -2212,27 +2174,6 @@ caml_binaryen_throw_remove_operand_at(value _expr, value _index) {
22122174
CAMLreturn(alloc_BinaryenExpressionRef(binaryenRetVal));
22132175
}
22142176

2215-
CAMLprim value
2216-
caml_binaryen_rethrow_get_target(value _expr) {
2217-
CAMLparam1(_expr);
2218-
BinaryenExpressionRef expr = BinaryenExpressionRef_val(_expr);
2219-
const char* binaryenRetVal = BinaryenRethrowGetTarget(expr);
2220-
if (binaryenRetVal == NULL) {
2221-
CAMLreturn(Val_none);
2222-
} else {
2223-
CAMLreturn(caml_alloc_some(caml_copy_string(binaryenRetVal)));
2224-
}
2225-
}
2226-
2227-
CAMLprim value
2228-
caml_binaryen_rethrow_set_target(value _expr, value _target) {
2229-
CAMLparam2(_expr, _target);
2230-
BinaryenExpressionRef expr = BinaryenExpressionRef_val(_expr);
2231-
const char* target = Safe_String_val(_target);
2232-
BinaryenRethrowSetTarget(expr, target);
2233-
CAMLreturn(Val_unit);
2234-
}
2235-
22362177
// Table operations
22372178
CAMLprim value
22382179
caml_binaryen_table_get(value _module, value _name, value _index, value _ty) {

src/expression.js

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1736,14 +1736,6 @@ function caml_binaryen_throw(wasm_mod, tag, operands) {
17361736
);
17371737
}
17381738

1739-
//Provides: caml_binaryen_rethrow
1740-
//Requires: caml_jsstring_of_string
1741-
function caml_binaryen_rethrow(wasm_mod, target) {
1742-
return wasm_mod.rethrow(
1743-
caml_jsstring_of_string(target),
1744-
)
1745-
}
1746-
17471739
//Provides: caml_binaryen_try_get_name
17481740
//Requires: Binaryen, caml_string_of_jsstring, to_option
17491741
function caml_binaryen_try_get_name(expr) {
@@ -1849,29 +1841,6 @@ function caml_binaryen_try_has_catch_all(expr) {
18491841
return caml_js_to_bool(Binaryen.Try.hasCatchAll(expr));
18501842
}
18511843

1852-
//Provides: caml_binaryen_try_get_delegate_target
1853-
//Requires: Binaryen
1854-
//Requires: caml_string_of_jsstring
1855-
//Requires: to_option
1856-
function caml_binaryen_try_get_delegate_target(expr) {
1857-
const name = Binaryen.Try.getDelegateTarget(expr);
1858-
const str = name ? caml_string_of_jsstring(name) : null;
1859-
return to_option(str);
1860-
}
1861-
1862-
//Provides: caml_binaryen_try_set_delegate_target
1863-
//Requires: Binaryen, caml_jsstring_of_string
1864-
function caml_binaryen_try_set_delegate_target(expr, delegateTarget) {
1865-
Binaryen.Try.setDelegateTarget(expr, caml_jsstring_of_string(delegateTarget));
1866-
}
1867-
1868-
//Provides: caml_binaryen_try_is_delegate
1869-
//Requires: Binaryen
1870-
//Requires: caml_js_to_bool
1871-
function caml_binaryen_try_is_delegate(expr) {
1872-
return caml_js_to_bool(Binaryen.Try.isDelegate(expr));
1873-
}
1874-
18751844
//Provides: caml_binaryen_throw_get_tag
18761845
//Requires: Binaryen, caml_string_of_jsstring
18771846
function caml_binaryen_throw_get_tag(expr) {
@@ -1920,21 +1889,6 @@ function caml_binaryen_throw_remove_operand_at(expr, index) {
19201889
return Binaryen.Throw.removeOperandAt(expr, index);
19211890
}
19221891

1923-
//Provides: caml_binaryen_rethrow_get_target
1924-
//Requires: Binaryen, caml_string_of_jsstring
1925-
//Requires: to_option
1926-
function caml_binaryen_rethrow_get_target(expr) {
1927-
const name = Binaryen.Rethrow.getTarget(expr);
1928-
const str = name ? caml_string_of_jsstring(name) : null;
1929-
return to_option(str);
1930-
}
1931-
1932-
//Provides: caml_binaryen_rethrow_set_target
1933-
//Requires: Binaryen, caml_jsstring_of_string
1934-
function caml_binaryen_rethrow_set_target(expr, target) {
1935-
Binaryen.Rethrow.setTarget(expr, caml_jsstring_of_string(target));
1936-
}
1937-
19381892
// Table operations
19391893

19401894
//Provides: caml_binaryen_table_get

src/expression.ml

Lines changed: 10 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -845,6 +845,16 @@ module Try = struct
845845
t = "caml_binaryen_try__bytecode" "caml_binaryen_try"
846846
(** Module, name, body, catch tags, catch bodies, delegate target *)
847847

848+
(** Module, name, body, catch clauses, catch all *)
849+
let make wasm_mod name body catch_clauses catch_all =
850+
let catch_tags, catch_bodies = List.split catch_clauses in
851+
let catch_bodies =
852+
match catch_all with
853+
| Some target -> List.append catch_bodies [ target ]
854+
| None -> catch_bodies
855+
in
856+
make wasm_mod name body catch_tags catch_bodies None
857+
848858
external get_name : t -> string option = "caml_binaryen_try_get_name"
849859
(** expr *)
850860

@@ -907,69 +917,6 @@ module Try = struct
907917

908918
external has_catch_all : t -> bool = "caml_binaryen_try_has_catch_all"
909919
(** expr *)
910-
911-
external get_delegate_target : t -> string option
912-
= "caml_binaryen_try_get_delegate_target"
913-
(** expr *)
914-
915-
external set_delegate_target : t -> string -> unit
916-
= "caml_binaryen_try_set_delegate_target"
917-
(** expr, delegateTarget *)
918-
919-
external is_delegate : t -> bool = "caml_binaryen_try_is_delegate"
920-
(** expr *)
921-
end
922-
923-
module Try_Catch = struct
924-
let make module_ name body catch_tags catch_bodies =
925-
Try.make module_ name body catch_tags catch_bodies None
926-
927-
let get_name = Try.get_name
928-
let set_name = Try.set_name
929-
let get_body = Try.get_body
930-
let set_body = Try.set_body
931-
let get_num_catch_tags = Try.get_num_catch_tags
932-
let get_num_catch_bodies = Try.get_num_catch_bodies
933-
let get_catch_tag_at = Try.get_catch_tag_at
934-
let set_catch_tag_at = Try.set_catch_tag_at
935-
let append_catch_tag = Try.append_catch_tag
936-
let insert_catch_tag_at = Try.insert_catch_tag_at
937-
let remove_catch_tag_at = Try.remove_catch_tag_at
938-
let get_catch_body_at = Try.get_catch_body_at
939-
let set_catch_body_at = Try.set_catch_body_at
940-
let append_catch_body = Try.append_catch_body
941-
let insert_catch_body_at = Try.insert_catch_body_at
942-
let remove_catch_body_at = Try.remove_catch_body_at
943-
let has_catch_all = Try.has_catch_all
944-
let get_delegate_target = Try.get_delegate_target
945-
let set_delegate_target = Try.set_delegate_target
946-
let is_delegate = Try.is_delegate
947-
end
948-
949-
module Try_Delegate = struct
950-
let make module_ name body delegate =
951-
Try.make module_ name body [] [] (Some delegate)
952-
953-
let get_name = Try.get_name
954-
let set_name = Try.set_name
955-
let get_body = Try.get_body
956-
let set_body = Try.set_body
957-
let get_num_catch_tags = Try.get_num_catch_tags
958-
let get_num_catch_bodies = Try.get_num_catch_bodies
959-
let get_catch_tag_at = Try.get_catch_tag_at
960-
let set_catch_tag_at = Try.set_catch_tag_at
961-
let append_catch_tag = Try.append_catch_tag
962-
let insert_catch_tag_at = Try.insert_catch_tag_at
963-
let remove_catch_tag_at = Try.remove_catch_tag_at
964-
let get_catch_body_at = Try.get_catch_body_at
965-
let set_catch_body_at = Try.set_catch_body_at
966-
let append_catch_body = Try.append_catch_body
967-
let insert_catch_body_at = Try.insert_catch_body_at
968-
let remove_catch_body_at = Try.remove_catch_body_at
969-
let has_catch_all = Try.has_catch_all
970-
let get_delegate_target = Try.get_delegate_target
971-
let set_delegate_target = Try.set_delegate_target
972-
let is_delegate = Try.is_delegate
973920
end
974921

975922
module Throw = struct
@@ -1004,17 +951,6 @@ module Throw = struct
1004951
(** expr, index *)
1005952
end
1006953

1007-
module Rethrow = struct
1008-
external make : Module.t -> string -> t = "caml_binaryen_rethrow"
1009-
(** Module, target *)
1010-
1011-
external get_target : t -> string option = "caml_binaryen_rethrow_get_target"
1012-
(** expr *)
1013-
1014-
external set_target : t -> string -> unit = "caml_binaryen_rethrow_set_target"
1015-
(** expr, target *)
1016-
end
1017-
1018954
module Table = struct
1019955
external get : Module.t -> string -> t -> Type.t -> t
1020956
= "caml_binaryen_table_get"

0 commit comments

Comments
 (0)