diff --git a/interpreter/binary/decode.ml b/interpreter/binary/decode.ml index edcd1bb5f..9778c8ffa 100644 --- a/interpreter/binary/decode.ml +++ b/interpreter/binary/decode.ml @@ -664,8 +664,8 @@ let rec instr s = (match opcode with | 0x18l -> br_on_cast x rt1 rt2 | 0x19l -> br_on_cast_fail x rt1 rt2 - | 0x25l -> br_on_cast_desc x rt1 rt2 - | 0x26l -> br_on_cast_desc_fail x rt1 rt2 + | 0x25l -> br_on_cast_desc_eq x rt1 rt2 + | 0x26l -> br_on_cast_desc_eq_fail x rt1 rt2 | _ -> assert false ) @@ -677,8 +677,8 @@ let rec instr s = | 0x1el -> i31_get_u | 0x22l -> let x = at idx s in ref_get_desc x - | 0x23l -> let ht = heaptype s in ref_cast_desc (NoNull, ht) - | 0x24l -> let ht = heaptype s in ref_cast_desc (Null, ht) + | 0x23l -> let ht = heaptype s in ref_cast_desc_eq (NoNull, ht) + | 0x24l -> let ht = heaptype s in ref_cast_desc_eq (Null, ht) | n -> illegal2 s pos b n ) diff --git a/interpreter/binary/encode.ml b/interpreter/binary/encode.ml index 14313a934..279e7731f 100644 --- a/interpreter/binary/encode.ml +++ b/interpreter/binary/encode.ml @@ -277,10 +277,10 @@ struct | BrOnCastFail (x, (nul1, t1), (nul2, t2)) -> let flags = bit 0 (nul1 = Null) + bit 1 (nul2 = Null) in op 0xfb; op 0x19; byte flags; idx x; heaptype t1; heaptype t2 - | BrOnCastDesc (x, (nul1, t1), (nul2, t2)) -> + | BrOnCastDescEq (x, (nul1, t1), (nul2, t2)) -> let flags = bit 0 (nul1 = Null) + bit 1 (nul2 = Null) in op 0xfb; op 0x25; byte flags; idx x; heaptype t1; heaptype t2 - | BrOnCastDescFail (x, (nul1, t1), (nul2, t2)) -> + | BrOnCastDescEqFail (x, (nul1, t1), (nul2, t2)) -> let flags = bit 0 (nul1 = Null) + bit 1 (nul2 = Null) in op 0xfb; op 0x26; byte flags; idx x; heaptype t1; heaptype t2 | Return -> op 0x0f @@ -436,8 +436,8 @@ struct | RefTest (Null, t) -> op 0xfb; op 0x15; heaptype t | RefCast (NoNull, t) -> op 0xfb; op 0x16; heaptype t | RefCast (Null, t) -> op 0xfb; op 0x17; heaptype t - | RefCastDesc (NoNull, t) -> op 0xfb; op 0x23; heaptype t - | RefCastDesc (Null, t) -> op 0xfb; op 0x24; heaptype t + | RefCastDescEq (NoNull, t) -> op 0xfb; op 0x23; heaptype t + | RefCastDescEq (Null, t) -> op 0xfb; op 0x24; heaptype t | RefGetDesc x -> op 0xfb; op 0x22; idx x diff --git a/interpreter/exec/eval.ml b/interpreter/exec/eval.ml index fc0e2e30c..a3ef1b4ac 100644 --- a/interpreter/exec/eval.ml +++ b/interpreter/exec/eval.ml @@ -258,31 +258,31 @@ let rec step (c : config) : config = else Ref r :: vs', [Plain (Br x) @@ e.at] - | BrOnCastDesc (x, _rt1, _rt2), Ref (NullRef _) :: vs' -> + | BrOnCastDescEq (x, _rt1, _rt2), Ref (NullRef _) :: vs' -> vs', [Trapping "null descriptor reference" @@ e.at] - | BrOnCastDesc (x, _rt1, (Null, _)), Ref _desc :: Ref ((NullRef _) as r) :: vs' -> + | BrOnCastDescEq (x, _rt1, (Null, _)), Ref _desc :: Ref ((NullRef _) as r) :: vs' -> Ref r :: vs', [Plain (Br x) @@ e.at] - | BrOnCastDesc (x, _rt1, (NoNull, _)), Ref _desc :: Ref ((NullRef _) as r) :: vs' -> + | BrOnCastDescEq (x, _rt1, (NoNull, _)), Ref _desc :: Ref ((NullRef _) as r) :: vs' -> Ref r :: vs', [] - | BrOnCastDesc (x, _rt1, _rt2), Ref desc :: Ref r :: vs' -> + | BrOnCastDescEq (x, _rt1, _rt2), Ref desc :: Ref r :: vs' -> (match Aggr.read_desc r with | Some desc' when eq_ref desc desc' -> Ref r :: vs', [Plain (Br x) @@ e.at] | _ -> Ref r :: vs', [] ) - | BrOnCastDescFail (x, _rt1, _rt2), Ref (NullRef _) :: vs' -> + | BrOnCastDescEqFail (x, _rt1, _rt2), Ref (NullRef _) :: vs' -> vs', [Trapping "null descriptor reference" @@ e.at] - | BrOnCastDescFail (x, _rt1, (Null, _)), Ref _desc :: Ref ((NullRef _) as r) :: vs' -> + | BrOnCastDescEqFail (x, _rt1, (Null, _)), Ref _desc :: Ref ((NullRef _) as r) :: vs' -> Ref r :: vs', [] - | BrOnCastDescFail (x, _rt1, (NoNull, _)), Ref _desc :: Ref ((NullRef _) as r) :: vs' -> + | BrOnCastDescEqFail (x, _rt1, (NoNull, _)), Ref _desc :: Ref ((NullRef _) as r) :: vs' -> Ref r :: vs', [Plain (Br x) @@ e.at] - | BrOnCastDescFail (x, _rt1, _rt2), Ref desc :: Ref r :: vs' -> + | BrOnCastDescEqFail (x, _rt1, _rt2), Ref desc :: Ref r :: vs' -> (match Aggr.read_desc r with | Some desc' when eq_ref desc desc' -> Ref r :: vs', [] | _ -> Ref r :: vs', [Plain (Br x) @@ e.at] @@ -689,16 +689,16 @@ let rec step (c : config) : config = string_of_reftype rt ^ " but got " ^ string_of_reftype (type_of_ref r)) @@ e.at] - | RefCastDesc _rt, Ref (NullRef _) :: vs' -> + | RefCastDescEq _rt, Ref (NullRef _) :: vs' -> vs', [Trapping "null descriptor reference" @@ e.at] - | RefCastDesc (NoNull, _), Ref _desc :: Ref (NullRef _) :: vs' -> + | RefCastDescEq (NoNull, _), Ref _desc :: Ref (NullRef _) :: vs' -> vs', [Trapping "descriptor cast failure" @@ e.at] - | RefCastDesc (Null, _), Ref _desc :: Ref ((NullRef _) as r) :: vs' -> + | RefCastDescEq (Null, _), Ref _desc :: Ref ((NullRef _) as r) :: vs' -> Ref r :: vs', [] - | RefCastDesc rt, Ref desc :: Ref r :: vs' -> + | RefCastDescEq rt, Ref desc :: Ref r :: vs' -> (match Aggr.read_desc r with | Some desc' when eq_ref desc desc' -> Ref r :: vs', [] | _ -> vs', [Trapping "descriptor cast failure" @@ e.at] diff --git a/interpreter/syntax/ast.ml b/interpreter/syntax/ast.ml index 049b278af..efdea7a74 100644 --- a/interpreter/syntax/ast.ml +++ b/interpreter/syntax/ast.ml @@ -182,8 +182,8 @@ and instr' = | BrOnNonNull of labelidx (* break on type inverted *) | BrOnCast of labelidx * reftype * reftype (* break on type *) | BrOnCastFail of labelidx * reftype * reftype (* break on type inverted *) - | BrOnCastDesc of labelidx * reftype * reftype (* break on descriptor cast *) - | BrOnCastDescFail of labelidx * reftype * reftype (* break on descriptor cast inverted *) + | BrOnCastDescEq of labelidx * reftype * reftype (* break on descriptor cast *) + | BrOnCastDescEqFail of labelidx * reftype * reftype (* break on descriptor cast inverted *) | Return (* break from function body *) | Call of funcidx (* call function *) | CallRef of typeidx (* call function through reference *) @@ -225,7 +225,7 @@ and instr' = | RefAsNonNull (* type cast *) | RefTest of reftype (* type test *) | RefCast of reftype (* type cast *) - | RefCastDesc of reftype (* descriptor type cast *) + | RefCastDescEq of reftype (* descriptor type cast *) | RefGetDesc of typeidx (* read descriptor *) | RefEq (* reference equality *) | RefI31 (* scalar reference *) diff --git a/interpreter/syntax/free.ml b/interpreter/syntax/free.ml index cb6632ed4..a93708130 100644 --- a/interpreter/syntax/free.ml +++ b/interpreter/syntax/free.ml @@ -143,7 +143,7 @@ let rec instr (e : instr) = | If (bt, es1, es2) -> blocktype bt ++ block es1 ++ block es2 | Br x | BrIf x | BrOnNull x | BrOnNonNull x -> labels (idx x) | BrOnCast (x, t1, t2) | BrOnCastFail (x, t1, t2) - | BrOnCastDesc (x, t1, t2) | BrOnCastDescFail (x, t1, t2) -> + | BrOnCastDescEq (x, t1, t2) | BrOnCastDescEqFail (x, t1, t2) -> labels (idx x) ++ reftype t1 ++ reftype t2 | BrTable (xs, x) -> list (fun x -> labels (idx x)) (x::xs) | Return -> empty @@ -169,7 +169,7 @@ let rec instr (e : instr) = | MemoryInit (x, y) -> memories (idx x) ++ datas (idx y) | DataDrop x -> datas (idx x) | RefIsNull | RefAsNonNull -> empty - | RefTest t | RefCast t | RefCastDesc t -> reftype t + | RefTest t | RefCast t | RefCastDescEq t -> reftype t | RefGetDesc x -> types (idx x) | RefEq -> empty | RefNull t -> heaptype t diff --git a/interpreter/syntax/mnemonics.ml b/interpreter/syntax/mnemonics.ml index 7ae5b5266..f74147256 100644 --- a/interpreter/syntax/mnemonics.ml +++ b/interpreter/syntax/mnemonics.ml @@ -35,8 +35,8 @@ let br_on_null x = BrOnNull x let br_on_non_null x = BrOnNonNull x let br_on_cast x t1 t2 = BrOnCast (x, t1, t2) let br_on_cast_fail x t1 t2 = BrOnCastFail (x, t1, t2) -let br_on_cast_desc x t1 t2 = BrOnCastDesc (x, t1, t2) -let br_on_cast_desc_fail x t1 t2 = BrOnCastDescFail (x, t1, t2) +let br_on_cast_desc_eq x t1 t2 = BrOnCastDescEq (x, t1, t2) +let br_on_cast_desc_eq_fail x t1 t2 = BrOnCastDescEqFail (x, t1, t2) let catch x1 x2 = Catch (x1, x2) let catch_ref x1 x2 = CatchRef (x1, x2) @@ -175,7 +175,7 @@ let ref_is_null = RefIsNull let ref_as_non_null = RefAsNonNull let ref_test t = RefTest t let ref_cast t = RefCast t -let ref_cast_desc t = RefCastDesc t +let ref_cast_desc_eq t = RefCastDescEq t let ref_get_desc x = RefGetDesc x let ref_eq = RefEq diff --git a/interpreter/text/arrange.ml b/interpreter/text/arrange.ml index 9a2850ed3..daf615ad7 100644 --- a/interpreter/text/arrange.ml +++ b/interpreter/text/arrange.ml @@ -521,10 +521,10 @@ let rec instr e = "br_on_cast " ^ idx x, [Atom (reftype t1); Atom (reftype t2)] | BrOnCastFail (x, t1, t2) -> "br_on_cast_fail " ^ idx x, [Atom (reftype t1); Atom (reftype t2)] - | BrOnCastDesc (x, t1, t2) -> - "br_on_cast_desc " ^ idx x, [Atom (reftype t1); Atom (reftype t2)] - | BrOnCastDescFail (x, t1, t2) -> - "br_on_cast_desc_fail " ^ idx x, [Atom (reftype t1); Atom (reftype t2)] + | BrOnCastDescEq (x, t1, t2) -> + "br_on_cast_desc_eq " ^ idx x, [Atom (reftype t1); Atom (reftype t2)] + | BrOnCastDescEqFail (x, t1, t2) -> + "br_on_cast_desc_eq_fail " ^ idx x, [Atom (reftype t1); Atom (reftype t2)] | Return -> "return", [] | Call x -> "call " ^ idx x, [] | CallRef x -> "call_ref " ^ idx x, [] @@ -569,7 +569,7 @@ let rec instr e = | RefAsNonNull -> "ref.as_non_null", [] | RefTest t -> "ref.test", [Atom (reftype t)] | RefCast t -> "ref.cast", [Atom (reftype t)] - | RefCastDesc t -> "ref.cast_desc", [Atom (reftype t)] + | RefCastDescEq t -> "ref.cast_desc_eq", [Atom (reftype t)] | RefGetDesc x -> "ref.get_desc " ^ idx x, [] | RefEq -> "ref.eq", [] | RefI31 -> "ref.i31", [] diff --git a/interpreter/text/lexer.mll b/interpreter/text/lexer.mll index a6e25146b..724b0132a 100644 --- a/interpreter/text/lexer.mll +++ b/interpreter/text/lexer.mll @@ -204,8 +204,8 @@ rule token = parse | "br_on_non_null" -> BR_ON_NULL br_on_non_null | "br_on_cast" -> BR_ON_CAST br_on_cast | "br_on_cast_fail" -> BR_ON_CAST br_on_cast_fail - | "br_on_cast_desc" -> BR_ON_CAST br_on_cast_desc - | "br_on_cast_desc_fail" -> BR_ON_CAST br_on_cast_desc_fail + | "br_on_cast_desc_eq" -> BR_ON_CAST br_on_cast_desc_eq + | "br_on_cast_desc_eq_fail" -> BR_ON_CAST br_on_cast_desc_eq_fail | "return" -> RETURN | "if" -> IF | "then" -> THEN @@ -340,7 +340,7 @@ rule token = parse | "ref.as_non_null" -> REF_AS_NON_NULL | "ref.test" -> REF_TEST | "ref.cast" -> REF_CAST - | "ref.cast_desc" -> REF_CAST_DESC + | "ref.cast_desc_eq" -> REF_CAST_DESC | "ref.get_desc" -> REF_GET_DESC | "ref.eq" -> REF_EQ diff --git a/interpreter/text/parser.mly b/interpreter/text/parser.mly index 422fa4aae..76b18d32a 100644 --- a/interpreter/text/parser.mly +++ b/interpreter/text/parser.mly @@ -640,7 +640,7 @@ plaininstr : | REF_AS_NON_NULL { fun c -> ref_as_non_null } | REF_TEST reftype { fun c -> ref_test ($2 c) } | REF_CAST reftype { fun c -> ref_cast ($2 c) } - | REF_CAST_DESC reftype { fun c -> ref_cast_desc ($2 c) } + | REF_CAST_DESC reftype { fun c -> ref_cast_desc_eq ($2 c) } | REF_GET_DESC idx { fun c -> ref_get_desc ($2 c type_) } | REF_EQ { fun c -> ref_eq } | REF_I31 { fun c -> ref_i31 } diff --git a/interpreter/valid/valid.ml b/interpreter/valid/valid.ml index 0dce3563e..7198c3894 100644 --- a/interpreter/valid/valid.ml +++ b/interpreter/valid/valid.ml @@ -591,7 +591,7 @@ let rec check_instr (c : context) (e : instr) (s : infer_resulttype) : infer_ins " but label has " ^ string_of_resulttype (label c x)); (ts0 @ [RefT rt1]) --> (ts0 @ [RefT rt2]), [] - | BrOnCastDesc (x, rt1, rt2) -> + | BrOnCastDescEq (x, rt1, rt2) -> check_reftype c rt1 e.at; check_reftype c rt2 e.at; let (_, ht1), (_, ht2) = rt1, rt2 in @@ -609,7 +609,7 @@ let rec check_instr (c : context) (e : instr) (s : infer_resulttype) : infer_ins let rt = desc_cast_ref c rt2 e.at in (ts0 @ [RefT rt1; RefT rt]) --> (ts0 @ [RefT (diff_reftype rt1 rt2)]), [] - | BrOnCastDescFail (x, rt1, rt2) -> + | BrOnCastDescEqFail (x, rt1, rt2) -> check_reftype c rt1 e.at; check_reftype c rt2 e.at; let rt1' = diff_reftype rt1 rt2 in @@ -847,7 +847,7 @@ let rec check_instr (c : context) (e : instr) (s : infer_resulttype) : infer_ins check_reftype c rt e.at; [RefT (Null, top_of_heaptype c.types ht)] --> [RefT (nul, ht)], [] - | RefCastDesc rt -> + | RefCastDescEq rt -> let (nul, ht) = rt in check_reftype c rt e.at; let rt' = desc_cast_ref c rt e.at in diff --git a/proposals/custom-descriptors/Overview.md b/proposals/custom-descriptors/Overview.md index b20d8246d..9e28960ba 100644 --- a/proposals/custom-descriptors/Overview.md +++ b/proposals/custom-descriptors/Overview.md @@ -501,18 +501,18 @@ then the type of the cast output can also be exact. If the provided descriptor is a null value, these instructions trap. ``` -ref.cast_desc reftype +ref.cast_desc_eq reftype -C |- ref.cast_desc rt : (ref null ht) (ref null (exact_1 y)) -> rt +C |- ref.cast_desc_eq rt : (ref null ht) (ref null (exact_1 y)) -> rt -- rt = (ref null? (exact_1 x)) -- C |- C.types[x] <: ht -- C.types[x] ~ descriptor y ct ``` ``` -br_on_cast_desc labelidx reftype reftype +br_on_cast_desc_eq labelidx reftype reftype -C |- br_on_cast_desc l rt_1 rt_2 : t* rt_1 (ref null (exact_1 y)) -> t* (rt_1 \ rt_2) +C |- br_on_cast_desc_eq l rt_1 rt_2 : t* rt_1 (ref null (exact_1 y)) -> t* (rt_1 \ rt_2) -- C.labels[l] = t* rt -- C |- rt_2 <: rt -- C |- rt_1 <: rt' @@ -523,9 +523,9 @@ C |- br_on_cast_desc l rt_1 rt_2 : t* rt_1 (ref null (exact_1 y)) -> t* (rt_1 \ ``` ``` -br_on_cast_desc_fail labelidx reftype reftype +br_on_cast_desc_eq_fail labelidx reftype reftype -C |- br_on_cast_desc_fail l rt_1 rt_2 : t* rt_1 (ref null (exact_1 y)) -> t* rt_2 +C |- br_on_cast_desc_eq_fail l rt_1 rt_2 : t* rt_1 (ref null (exact_1 y)) -> t* rt_2 -- C.labels[l] = t* rt -- C |- rt_1 \ rt_2 <: rt -- C |- rt_1 <: rt' @@ -538,7 +538,7 @@ C |- br_on_cast_desc_fail l rt_1 rt_2 : t* rt_1 (ref null (exact_1 y)) -> t* rt_ Note that the constraint `C |- rt_2 <: rt_1` on branching cast instructions before this proposal is relaxed to the constraint that `rt_1` and `rt_2` share some arbitrary valid supertype `rt'`, i.e. that `rt_1` and `rt_2` must be in the same heap type hierarchy. -This relaxation is applied not only to the new `br_on_cast_desc` and `br_on_cast_desc_fail` instructions, +This relaxation is applied not only to the new `br_on_cast_desc_eq` and `br_on_cast_desc_eq_fail` instructions, but also the existing `br_on_cast` and `br_on_cast_fail` instructions. ## JS Prototypes @@ -1015,12 +1015,12 @@ instr ::= ... | 0xFB 32:u32 x:typeidx => struct.new_desc x | 0xFB 33:u32 x:typeidx => struct.new_default_desc x | 0xFB 34:u32 x:typeidx => ref.get_desc x - | 0xFB 35:u32 ht:heaptype => ref.cast_desc (ref ht) - | 0xFB 36:u32 ht:heaptype => ref.cast_desc (ref null ht) + | 0xFB 35:u32 ht:heaptype => ref.cast_desc_eq (ref ht) + | 0xFB 36:u32 ht:heaptype => ref.cast_desc_eq (ref null ht) | 0xFB 37:u32 (null_1?, null_2?):castflags l:labelidx ht_1:heaptype ht_2:heaptype => - br_on_cast_desc l (ref null_1? ht_1) (ref null_2? ht_2) + br_on_cast_desc_eq l (ref null_1? ht_1) (ref null_2? ht_2) | 0xFB 38:u32 (null_1?, null_2?):castflags l:labelidx ht_1:heaptype ht_2:heaptype => - br_on_cast_desc_fail l (ref null_1? ht_1) (ref null_2? ht_2) + br_on_cast_desc_eq_fail l (ref null_1? ht_1) (ref null_2? ht_2) ``` diff --git a/test/core/custom-descriptors/br_on_cast_desc.wast b/test/core/custom-descriptors/br_on_cast_desc_eq.wast similarity index 76% rename from test/core/custom-descriptors/br_on_cast_desc.wast rename to test/core/custom-descriptors/br_on_cast_desc_eq.wast index e888ff3cf..8e452bced 100644 --- a/test/core/custom-descriptors/br_on_cast_desc.wast +++ b/test/core/custom-descriptors/br_on_cast_desc_eq.wast @@ -11,7 +11,7 @@ ;; All nullness combinations (func (param (ref null any) (ref null $b)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -20,7 +20,7 @@ ) (func (param (ref null any) (ref null $b)) (result (ref $a)) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -29,7 +29,7 @@ ) (func (param (ref null any) (ref $b)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -38,7 +38,7 @@ ) (func (param (ref null any) (ref $b)) (result (ref $a)) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -47,7 +47,7 @@ ) (func (param (ref any) (ref null $b)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null $a) + (br_on_cast_desc_eq 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -56,7 +56,7 @@ ) (func (param (ref any) (ref null $b)) (result (ref $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref $a) + (br_on_cast_desc_eq 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -65,7 +65,7 @@ ) (func (param (ref any) (ref $b)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null $a) + (br_on_cast_desc_eq 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -74,7 +74,7 @@ ) (func (param (ref any) (ref $b)) (result (ref $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref $a) + (br_on_cast_desc_eq 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -85,7 +85,7 @@ ;; All nullness combinations with subtype descriptor (func (param (ref null any) (ref null $d)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -94,7 +94,7 @@ ) (func (param (ref null any) (ref null $d)) (result (ref $a)) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -103,7 +103,7 @@ ) (func (param (ref null any) (ref $d)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -112,7 +112,7 @@ ) (func (param (ref null any) (ref $d)) (result (ref $a)) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -121,7 +121,7 @@ ) (func (param (ref any) (ref null $d)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null $a) + (br_on_cast_desc_eq 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -130,7 +130,7 @@ ) (func (param (ref any) (ref null $d)) (result (ref $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref $a) + (br_on_cast_desc_eq 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -139,7 +139,7 @@ ) (func (param (ref any) (ref $d)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null $a) + (br_on_cast_desc_eq 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -148,7 +148,7 @@ ) (func (param (ref any) (ref $d)) (result (ref $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref $a) + (br_on_cast_desc_eq 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -159,7 +159,7 @@ ;; All nullness combinations with exact subtype descriptor (func (param (ref null any) (ref null (exact $d))) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -168,7 +168,7 @@ ) (func (param (ref null any) (ref null (exact $d))) (result (ref $a)) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -177,7 +177,7 @@ ) (func (param (ref null any) (ref (exact $d))) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -186,7 +186,7 @@ ) (func (param (ref null any) (ref (exact $d))) (result (ref $a)) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -195,7 +195,7 @@ ) (func (param (ref any) (ref null (exact $d))) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null $a) + (br_on_cast_desc_eq 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -204,7 +204,7 @@ ) (func (param (ref any) (ref null (exact $d))) (result (ref $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref $a) + (br_on_cast_desc_eq 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -213,7 +213,7 @@ ) (func (param (ref any) (ref (exact $d))) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null $a) + (br_on_cast_desc_eq 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -222,7 +222,7 @@ ) (func (param (ref any) (ref (exact $d))) (result (ref $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref $a) + (br_on_cast_desc_eq 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -233,7 +233,7 @@ ;; All nullness combinations with exact casts. (func (param (ref null any) (ref null (exact $b))) (result (ref null (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null any) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -242,7 +242,7 @@ ) (func (param (ref null any) (ref null (exact $b))) (result (ref (exact $a))) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq 1 (ref null any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -251,7 +251,7 @@ ) (func (param (ref null any) (ref (exact $b))) (result (ref null (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null any) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -260,7 +260,7 @@ ) (func (param (ref null any) (ref (exact $b))) (result (ref (exact $a))) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq 1 (ref null any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -269,7 +269,7 @@ ) (func (param (ref any) (ref null (exact $b))) (result (ref null (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref any) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -278,7 +278,7 @@ ) (func (param (ref any) (ref null (exact $b))) (result (ref (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref (exact $a)) + (br_on_cast_desc_eq 1 (ref any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -287,7 +287,7 @@ ) (func (param (ref any) (ref (exact $b))) (result (ref null (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref any) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -296,7 +296,7 @@ ) (func (param (ref any) (ref (exact $b))) (result (ref (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref (exact $a)) + (br_on_cast_desc_eq 1 (ref any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -307,7 +307,7 @@ ;; Unreachable descriptor (func (param (ref null any)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (local.get 0) (unreachable) ) @@ -316,7 +316,7 @@ ) (func (param (ref null any)) (result (ref $a)) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (local.get 0) (unreachable) ) @@ -325,7 +325,7 @@ ) (func (param (ref any)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null $a) + (br_on_cast_desc_eq 1 (ref any) (ref null $a) (local.get 0) (unreachable) ) @@ -334,7 +334,7 @@ ) (func (param (ref any)) (result (ref $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref $a) + (br_on_cast_desc_eq 1 (ref any) (ref $a) (local.get 0) (unreachable) ) @@ -343,7 +343,7 @@ ) (func (param (ref null any)) (result (ref null (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null any) (ref null (exact $a)) (local.get 0) (unreachable) ) @@ -352,7 +352,7 @@ ) (func (param (ref null any)) (result (ref (exact $a))) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq 1 (ref null any) (ref (exact $a)) (local.get 0) (unreachable) ) @@ -361,7 +361,7 @@ ) (func (param (ref any)) (result (ref null (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref any) (ref null (exact $a)) (local.get 0) (unreachable) ) @@ -370,7 +370,7 @@ ) (func (param (ref any)) (result (ref (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref (exact $a)) + (br_on_cast_desc_eq 1 (ref any) (ref (exact $a)) (local.get 0) (unreachable) ) @@ -381,7 +381,7 @@ ;; Null descriptor (func (param (ref null any)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (local.get 0) (ref.null none) ) @@ -390,7 +390,7 @@ ) (func (param (ref null any)) (result (ref $a)) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (local.get 0) (ref.null none) ) @@ -399,7 +399,7 @@ ) (func (param (ref any)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null $a) + (br_on_cast_desc_eq 1 (ref any) (ref null $a) (local.get 0) (ref.null none) ) @@ -408,7 +408,7 @@ ) (func (param (ref any)) (result (ref $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref $a) + (br_on_cast_desc_eq 1 (ref any) (ref $a) (local.get 0) (ref.null none) ) @@ -417,7 +417,7 @@ ) (func (param (ref null any)) (result (ref null (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null any) (ref null (exact $a)) (local.get 0) (ref.null none) ) @@ -426,7 +426,7 @@ ) (func (param (ref null any)) (result (ref (exact $a))) (block (result (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq 1 (ref null any) (ref (exact $a)) (local.get 0) (ref.null none) ) @@ -435,7 +435,7 @@ ) (func (param (ref any)) (result (ref null (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref any) (ref null (exact $a)) (local.get 0) (ref.null none) ) @@ -444,7 +444,7 @@ ) (func (param (ref any)) (result (ref (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref any) (ref (exact $a)) + (br_on_cast_desc_eq 1 (ref any) (ref (exact $a)) (local.get 0) (ref.null none) ) @@ -465,7 +465,7 @@ ;; Cast to self (func (param (ref null $a) (ref null $b)) (result (ref null $a)) (block (result (ref $a)) - (br_on_cast_desc 1 (ref null $a) (ref null $a) + (br_on_cast_desc_eq 1 (ref null $a) (ref null $a) (local.get 0) (local.get 1) ) @@ -474,7 +474,7 @@ ) (func (param (ref null $a) (ref null (exact $b))) (result (ref null (exact $a))) (block (result (ref $a)) - (br_on_cast_desc 1 (ref null $a) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null $a) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -485,7 +485,7 @@ ;; Cast to unrelated type (func (param (ref null i31) (ref null $b)) (result (ref null $a)) (block (result (ref i31)) - (br_on_cast_desc 1 (ref null i31) (ref null $a) + (br_on_cast_desc_eq 1 (ref null i31) (ref null $a) (local.get 0) (local.get 1) ) @@ -494,7 +494,7 @@ ) (func (param (ref null i31) (ref null (exact $b))) (result (ref null (exact $a))) (block (result (ref i31)) - (br_on_cast_desc 1 (ref null i31) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null i31) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -505,7 +505,7 @@ ;; Cast from defined type to unrelated type (func (param (ref null $e) (ref null $b)) (result (ref null $a)) (block (result (ref $e)) - (br_on_cast_desc 1 (ref null $e) (ref null $a) + (br_on_cast_desc_eq 1 (ref null $e) (ref null $a) (local.get 0) (local.get 1) ) @@ -514,7 +514,7 @@ ) (func (param (ref null $e) (ref null (exact $b))) (result (ref null (exact $a))) (block (result (ref $e)) - (br_on_cast_desc 1 (ref null $e) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null $e) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -525,7 +525,7 @@ ;; Cast from exact defined type to unrelated type (func (param (ref null (exact $e)) (ref null $b)) (result (ref null $a)) (block (result (ref (exact $e))) - (br_on_cast_desc 1 (ref null (exact $e)) (ref null $a) + (br_on_cast_desc_eq 1 (ref null (exact $e)) (ref null $a) (local.get 0) (local.get 1) ) @@ -534,7 +534,7 @@ ) (func (param (ref null (exact $e)) (ref null (exact $b))) (result (ref null (exact $a))) (block (result (ref (exact $e))) - (br_on_cast_desc 1 (ref null (exact $e)) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null (exact $e)) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -545,7 +545,7 @@ ;; Cast to supertype (func (param (ref null $c) (ref null $b)) (result (ref null $a)) (block (result (ref $c)) - (br_on_cast_desc 1 (ref null $c) (ref null $a) + (br_on_cast_desc_eq 1 (ref null $c) (ref null $a) (local.get 0) (local.get 1) ) @@ -553,7 +553,7 @@ ) (func (param (ref null $c) (ref null (exact $b))) (result (ref null (exact $a))) (block (result (ref $c)) - (br_on_cast_desc 1 (ref null $c) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null $c) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -564,7 +564,7 @@ ;; Cast from exact to supertype (func (param (ref null (exact $c)) (ref null $b)) (result (ref null $a)) (block (result (ref (exact $c))) - (br_on_cast_desc 1 (ref null (exact $c)) (ref null $a) + (br_on_cast_desc_eq 1 (ref null (exact $c)) (ref null $a) (local.get 0) (local.get 1) ) @@ -572,7 +572,7 @@ ) (func (param (ref null (exact $c)) (ref null (exact $b))) (result (ref null (exact $a))) (block (result (ref (exact $c))) - (br_on_cast_desc 1 (ref null (exact $c)) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null (exact $c)) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -583,7 +583,7 @@ ;; Cast to subtype (func (param (ref null $a) (ref null $d)) (result (ref null $c)) (block (result (ref $a)) - (br_on_cast_desc 1 (ref null $a) (ref null $c) + (br_on_cast_desc_eq 1 (ref null $a) (ref null $c) (local.get 0) (local.get 1) ) @@ -592,7 +592,7 @@ ) (func (param (ref null $a) (ref null (exact $d))) (result (ref null (exact $c))) (block (result (ref $a)) - (br_on_cast_desc 1 (ref null $a) (ref null (exact $c)) + (br_on_cast_desc_eq 1 (ref null $a) (ref null (exact $c)) (local.get 0) (local.get 1) ) @@ -603,7 +603,7 @@ ;; Cast from exact to subtype (func (param (ref null (exact $a)) (ref null $d)) (result (ref null $c)) (block (result (ref (exact $a))) - (br_on_cast_desc 1 (ref null (exact $a)) (ref null $c) + (br_on_cast_desc_eq 1 (ref null (exact $a)) (ref null $c) (local.get 0) (local.get 1) ) @@ -612,7 +612,7 @@ ) (func (param (ref null (exact $a)) (ref null (exact $d))) (result (ref null (exact $c))) (block (result (ref (exact $a))) - (br_on_cast_desc 1 (ref null (exact $a)) (ref null (exact $c)) + (br_on_cast_desc_eq 1 (ref null (exact $a)) (ref null (exact $c)) (local.get 0) (local.get 1) ) @@ -623,7 +623,7 @@ ;; Cast from null (func (param (ref null $b)) (result (ref null $a)) (block (result (ref $a)) - (br_on_cast_desc 1 (ref null none) (ref null $a) + (br_on_cast_desc_eq 1 (ref null none) (ref null $a) (ref.null none) (local.get 0) ) @@ -632,7 +632,7 @@ ) (func (param (ref null (exact $b))) (result (ref null (exact $a))) (block (result (ref $a)) - (br_on_cast_desc 1 (ref null none) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null none) (ref null (exact $a)) (ref.null none) (local.get 0) ) @@ -643,7 +643,7 @@ ;; Cast from unreachable (func (param (ref null $b)) (result (ref null $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (unreachable) (local.get 0) ) @@ -652,7 +652,7 @@ ) (func (param (ref null (exact $b))) (result (ref null (exact $a))) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null (exact $a)) + (br_on_cast_desc_eq 1 (ref null any) (ref null (exact $a)) (unreachable) (local.get 0) ) @@ -663,7 +663,7 @@ ;; Cast to descriptor type (func (param (ref null any) (ref null $e)) (result (ref null $d)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $d) + (br_on_cast_desc_eq 1 (ref null any) (ref null $d) (local.get 0) (local.get 1) ) @@ -672,7 +672,7 @@ ) (func (param (ref null any) (ref null (exact $e))) (result (ref null (exact $d))) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null (exact $d)) + (br_on_cast_desc_eq 1 (ref null any) (ref null (exact $d)) (local.get 0) (local.get 1) ) @@ -685,7 +685,7 @@ (module ;; Type must exist. (func (result anyref) - (br_on_cast_desc 0 anyref (ref 1) + (br_on_cast_desc_eq 0 anyref (ref 1) (unreachable) ) ) @@ -697,7 +697,7 @@ (module ;; Type must have a descriptor. (func (result anyref) - (br_on_cast_desc 0 anyref anyref + (br_on_cast_desc_eq 0 anyref anyref (unreachable) ) ) @@ -709,7 +709,7 @@ (module ;; Type must have a descriptor. (func (result anyref) - (br_on_cast_desc 0 anyref nullref + (br_on_cast_desc_eq 0 anyref nullref (unreachable) ) ) @@ -722,7 +722,7 @@ (type $a (struct)) ;; Type must have a descriptor. (func (result anyref) - (br_on_cast_desc 0 anyref (ref $a) + (br_on_cast_desc_eq 0 anyref (ref $a) (unreachable) ) ) @@ -738,7 +738,7 @@ ) ;; Cannot cast to descriptor without its own descriptor. (func (result anyref) - (br_on_cast_desc 0 anyref (ref $b) (unreachable)) + (br_on_cast_desc_eq 0 anyref (ref $b) (unreachable)) ) ) "type 1 does not have a descriptor" @@ -752,7 +752,7 @@ ) ;; Descriptor must have expected type. (func (param (ref null any) (ref null struct)) (result (ref null any)) - (br_on_cast_desc 0 (ref null any) (ref $a) + (br_on_cast_desc_eq 0 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -769,7 +769,7 @@ ) ;; Descriptor must be exact when cast is exact. (func (param (ref null any) (ref $b)) (result (ref null any)) - (br_on_cast_desc 0 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq 0 (ref null any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -786,7 +786,7 @@ ) ;; Descriptor must be exact when cast is exact, even if the descriptor is null. (func (param (ref null any)) (result (ref null any)) - (br_on_cast_desc 0 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq 0 (ref null any) (ref (exact $a)) (local.get 0) (ref.null $b) ) @@ -805,7 +805,7 @@ ) ;; An exact reference to a subtype of the descriptor does not cut it. (func (param (ref null any) (ref (exact $d))) (result (ref null any)) - (br_on_cast_desc 0 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq 0 (ref null any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -822,7 +822,7 @@ ) ;; Cannot cast across hierarchies. (func (param (ref null func) (ref $b)) (result (ref null any)) - (br_on_cast_desc 0 (ref null func) (ref $a) + (br_on_cast_desc_eq 0 (ref null func) (ref $a) (local.get 0) (local.get 1) ) @@ -839,7 +839,7 @@ ) ;; Cannot cast across hierarchies even with unreachable input. (func (result (ref null any)) - (br_on_cast_desc 0 (ref null func) (ref $a) + (br_on_cast_desc_eq 0 (ref null func) (ref $a) (unreachable) ) ) @@ -857,7 +857,7 @@ ) ;; Ouput type is determined by immediate, not actual input. (func (param (ref $c) (ref $d)) (result (ref null $c)) - (br_on_cast_desc 0 (ref $c) (ref $a) + (br_on_cast_desc_eq 0 (ref $c) (ref $a) (local.get 0) (local.get 1) ) @@ -876,7 +876,7 @@ ) ;; Same, but with an exact reference to the descriptor subtype. (func (param (ref $c) (ref (exact $d))) (result (ref null $c)) - (br_on_cast_desc 0 (ref $c) (ref $a) + (br_on_cast_desc_eq 0 (ref $c) (ref $a) (local.get 0) (local.get 1) ) @@ -895,7 +895,7 @@ ) ;; Same, but now the cast value and descriptor are both null. (func (result (ref null $c)) - (br_on_cast_desc 0 (ref null none) (ref $a) + (br_on_cast_desc_eq 0 (ref null none) (ref $a) (ref.null none) (ref.null none) ) @@ -914,7 +914,7 @@ ) ;; Same, but now the cast value and descriptor are bottom. (func (result (ref null $c)) - (br_on_cast_desc 0 (ref none) (ref $a) + (br_on_cast_desc_eq 0 (ref none) (ref $a) (unreachable) ) ) @@ -931,7 +931,7 @@ ;; Fallthough type should be nullable. (func (param (ref null any) (ref null $b)) (result (ref $a)) (block (result (ref any)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -949,7 +949,7 @@ (type $b (describes $a) (struct)) ) ;; Invalid in constant expression. - (global (ref $a) (br_on_cast_desc 0 (ref null any) (ref null $a) (ref.null none) (ref.null none))) + (global (ref $a) (br_on_cast_desc_eq 0 (ref null any) (ref null $a) (ref.null none) (ref.null none))) ) "constant expression required" ) @@ -965,7 +965,7 @@ ;; One extra value. (func (param (ref null any) (ref null $b)) (result i32 (ref null $a)) (block (result i32 (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (i32.const 42) (local.get 0) (local.get 1) @@ -977,7 +977,7 @@ ;; Two extra values. (func (param (ref null any) (ref null $b)) (result i32 i64 (ref null $a)) (block (result i32 i64 (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (i32.const 42) (i64.const 1337) (local.get 0) @@ -990,7 +990,7 @@ ;; Extra reference value. (func (param (ref null any) (ref null $b)) (result (ref null eq) (ref null $a)) (block (result (ref null any) (ref any)) - (br_on_cast_desc 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq 1 (ref null any) (ref null $a) (local.get 1) (local.get 0) (local.get 1) @@ -1008,7 +1008,7 @@ ) ;; No types at label. (func - (br_on_cast_desc 0 (ref null any) (ref $a) + (br_on_cast_desc_eq 0 (ref null any) (ref $a) (unreachable) ) (unreachable) @@ -1025,7 +1025,7 @@ ) ;; Too many types at label. (func (param (ref null any) (ref null $b)) (result i32 (ref $a)) - (br_on_cast_desc 0 (ref null any) (ref $a) + (br_on_cast_desc_eq 0 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -1043,7 +1043,7 @@ ) ;; Mismatched types at label. (func (param (ref null any) (ref null $b)) (result (ref null eq) (ref $a)) - (br_on_cast_desc 0 (ref null any) (ref $a) + (br_on_cast_desc_eq 0 (ref null any) (ref $a) (local.get 0) (local.get 0) (local.get 1) @@ -1063,7 +1063,7 @@ ;; No types at fallthrough. (func (result (ref $a)) (block - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (unreachable) ) ) @@ -1082,7 +1082,7 @@ ;; Too many types at fallthrough. (func (result (ref $a)) (block (result i32 (ref $a)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (unreachable) ) ) @@ -1101,7 +1101,7 @@ ;; Label types do not match fallthrough types. (func (result (ref null any) (ref $a)) (block (result (ref null eq) (ref null any)) - (br_on_cast_desc 1 (ref null any) (ref $a) + (br_on_cast_desc_eq 1 (ref null any) (ref $a) (unreachable) ) ) @@ -1149,35 +1149,35 @@ (func (export "self-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $a-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $a-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $a1) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $a1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $a-null) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $a-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $a1) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $a1) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $a1) (global.get $b2)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $a1) (global.get $b2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1185,35 +1185,35 @@ (func (export "self-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $a-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $a-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $a1) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $a1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $a-null) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $a-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nonnullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $a1) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $a1) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $a1) (global.get $b2)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $a1) (global.get $b2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1221,35 +1221,35 @@ (func (export "self-exact-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $a-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $a-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $a-null) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $a-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b2-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b2-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1257,35 +1257,35 @@ (func (export "self-exact-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $a-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $a-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $a-null) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $a-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nonnullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b2-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b2-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1293,35 +1293,35 @@ (func (export "down-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $a-null) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $a-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $a-null) (global.get $d1)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $a-null) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d1)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d2)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1329,35 +1329,35 @@ (func (export "down-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $c) (global.get $a-null) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref $c) (global.get $a-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $c) (global.get $a-null) (global.get $d1)) + (br_on_cast_desc_eq 0 anyref (ref $c) (global.get $a-null) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nonnullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d1)) + (br_on_cast_desc_eq 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d2)) + (br_on_cast_desc_eq 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1365,35 +1365,35 @@ (func (export "down-exact-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $c)) (global.get $a-null) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $c)) (global.get $a-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $c)) (global.get $a-null) (global.get $d1-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $c)) (global.get $a-null) (global.get $d1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1401,35 +1401,35 @@ (func (export "down-exact-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $c)) (global.get $a-null) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref (exact $c)) (global.get $a-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $c)) (global.get $a-null) (global.get $d1-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $c)) (global.get $a-null) (global.get $d1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nonnullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1437,35 +1437,35 @@ (func (export "up-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $c-null) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $c-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $c1) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $c1) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $c-null) (global.get $d1)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $c-null) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $c1) (global.get $d1)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $c1) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $c1) (global.get $d2)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $c1) (global.get $d2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1473,35 +1473,35 @@ (func (export "up-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $c-null) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $c-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $c1) (global.get $d-null)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $c1) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $c-null) (global.get $d1)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $c-null) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nonnullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $c1) (global.get $d1)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $c1) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $c1) (global.get $d2)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $c1) (global.get $d2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1509,28 +1509,28 @@ (func (export "up-exact-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $c-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $c-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $c1) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $c1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $c-null) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $c-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $c1) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $c1) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1538,28 +1538,28 @@ (func (export "up-exact-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $c-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $c-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $c1) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $c1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $c-null) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $c-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $c1) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $c1) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1567,28 +1567,28 @@ (func (export "nodesc-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $no-desc-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $no-desc-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $no-desc) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $no-desc) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $no-desc-null) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $no-desc-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $no-desc) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $no-desc) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1596,28 +1596,28 @@ (func (export "nodesc-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $no-desc-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $no-desc-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $no-desc) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $no-desc) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $no-desc-null) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $no-desc-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $no-desc) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $no-desc) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1625,28 +1625,28 @@ (func (export "nodesc-exact-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $no-desc-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $no-desc-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $no-desc) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $no-desc) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $no-desc) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $no-desc) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1654,28 +1654,28 @@ (func (export "nodesc-exact-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $no-desc-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $no-desc-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $no-desc) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $no-desc) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $no-desc) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $no-desc) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1683,28 +1683,28 @@ (func (export "i31-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $i31-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $i31-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $i31) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $i31) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $i31-null) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $i31-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null $a) (global.get $i31) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref null $a) (global.get $i31) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1712,28 +1712,28 @@ (func (export "i31-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $i31-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $i31-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $i31) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $i31) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $i31-null) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $i31-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref $a) (global.get $i31) (global.get $b1)) + (br_on_cast_desc_eq 0 anyref (ref $a) (global.get $i31) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1741,28 +1741,28 @@ (func (export "i31-exact-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $i31-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $i31-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $i31) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $i31) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $i31-null) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $i31-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref null (exact $a)) (global.get $i31) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref null (exact $a)) (global.get $i31) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1770,28 +1770,28 @@ (func (export "i31-exact-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $i31-null) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $i31-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $i31) (global.get $b-null)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $i31) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $i31-null) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $i31-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc 0 anyref (ref (exact $a)) (global.get $i31) (global.get $b1-exact)) + (br_on_cast_desc_eq 0 anyref (ref (exact $a)) (global.get $i31) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1939,7 +1939,7 @@ (i32.const 1) (i32.const 2) (ref.null none) - (br_on_cast_desc 0 eqref (ref null $a) (global.get $b1)) + (br_on_cast_desc_eq 0 eqref (ref null $a) (global.get $b1)) (unreachable) ) (call $assert-eq-ref (ref.null none)) @@ -1952,7 +1952,7 @@ (i32.const 1) (i32.const 2) (global.get $a1) - (br_on_cast_desc 0 eqref (ref null $a) (global.get $b1)) + (br_on_cast_desc_eq 0 eqref (ref null $a) (global.get $b1)) (unreachable) ) (call $assert-eq-ref (global.get $a1)) @@ -1965,7 +1965,7 @@ (i32.const 1) (i32.const 2) (ref.null none) - (br_on_cast_desc 0 eqref (ref $a) (global.get $b2)) + (br_on_cast_desc_eq 0 eqref (ref $a) (global.get $b2)) (call $assert-eq-ref (ref.null none)) (call $assert-eq-i32 (i32.const 2)) (call $assert-eq-i32 (i32.const 1)) @@ -1979,7 +1979,7 @@ (i32.const 1) (i32.const 2) (global.get $a1) - (br_on_cast_desc 0 eqref (ref $a) (global.get $b2)) + (br_on_cast_desc_eq 0 eqref (ref $a) (global.get $b2)) (call $assert-eq-ref (global.get $a1)) (call $assert-eq-i32 (i32.const 2)) (call $assert-eq-i32 (i32.const 1)) diff --git a/test/core/custom-descriptors/br_on_cast_desc_fail.wast b/test/core/custom-descriptors/br_on_cast_desc_eq_fail.wast similarity index 75% rename from test/core/custom-descriptors/br_on_cast_desc_fail.wast rename to test/core/custom-descriptors/br_on_cast_desc_eq_fail.wast index d85e9836e..e06ace2b5 100644 --- a/test/core/custom-descriptors/br_on_cast_desc_fail.wast +++ b/test/core/custom-descriptors/br_on_cast_desc_eq_fail.wast @@ -11,7 +11,7 @@ ;; All nullness combinations (func (param (ref null any) (ref null $b)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -20,7 +20,7 @@ ) (func (param (ref null any) (ref null $b)) (result (ref null any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -28,7 +28,7 @@ ) (func (param (ref null any) (ref $b)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -37,7 +37,7 @@ ) (func (param (ref null any) (ref $b)) (result (ref null any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -45,7 +45,7 @@ ) (func (param (ref any) (ref null $b)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -54,7 +54,7 @@ ) (func (param (ref any) (ref null $b)) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -62,7 +62,7 @@ ) (func (param (ref any) (ref $b)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -71,7 +71,7 @@ ) (func (param (ref any) (ref $b)) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -81,7 +81,7 @@ ;; All nullness combinations with subtype descriptor (func (param (ref null any) (ref null $d)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -90,7 +90,7 @@ ) (func (param (ref null any) (ref null $d)) (result (ref null any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -98,7 +98,7 @@ ) (func (param (ref null any) (ref $d)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -107,7 +107,7 @@ ) (func (param (ref null any) (ref $d)) (result (ref null any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -115,7 +115,7 @@ ) (func (param (ref any) (ref null $d)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -124,7 +124,7 @@ ) (func (param (ref any) (ref null $d)) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -132,7 +132,7 @@ ) (func (param (ref any) (ref $d)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -141,7 +141,7 @@ ) (func (param (ref any) (ref $d)) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -151,7 +151,7 @@ ;; All nullness combinations with exact subtype descriptor (func (param (ref null any) (ref null (exact $d))) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -160,7 +160,7 @@ ) (func (param (ref null any) (ref null (exact $d))) (result (ref null any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -168,7 +168,7 @@ ) (func (param (ref null any) (ref (exact $d))) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (local.get 0) (local.get 1) ) @@ -177,7 +177,7 @@ ) (func (param (ref null any) (ref (exact $d))) (result (ref null any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -185,7 +185,7 @@ ) (func (param (ref any) (ref null (exact $d))) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -194,7 +194,7 @@ ) (func (param (ref any) (ref null (exact $d))) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -202,7 +202,7 @@ ) (func (param (ref any) (ref (exact $d))) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null $a) (local.get 0) (local.get 1) ) @@ -211,7 +211,7 @@ ) (func (param (ref any) (ref (exact $d))) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref $a) (local.get 0) (local.get 1) ) @@ -221,7 +221,7 @@ ;; All nullness combinations with exact casts. (func (param (ref null any) (ref null (exact $b))) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -230,7 +230,7 @@ ) (func (param (ref null any) (ref null (exact $b))) (result (ref null any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -238,7 +238,7 @@ ) (func (param (ref null any) (ref (exact $b))) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -247,7 +247,7 @@ ) (func (param (ref null any) (ref (exact $b))) (result (ref null any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -255,7 +255,7 @@ ) (func (param (ref any) (ref null (exact $b))) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref any) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -264,7 +264,7 @@ ) (func (param (ref any) (ref null (exact $b))) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -272,7 +272,7 @@ ) (func (param (ref any) (ref (exact $b))) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref any) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -281,7 +281,7 @@ ) (func (param (ref any) (ref (exact $b))) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -291,7 +291,7 @@ ;; Unreachable descriptor (func (param (ref null any)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (local.get 0) (unreachable) ) @@ -300,7 +300,7 @@ ) (func (param (ref null any)) (result (ref null any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (local.get 0) (unreachable) ) @@ -308,7 +308,7 @@ ) (func (param (ref any)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null $a) (local.get 0) (unreachable) ) @@ -317,7 +317,7 @@ ) (func (param (ref any)) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref $a) (local.get 0) (unreachable) ) @@ -325,7 +325,7 @@ ) (func (param (ref null any)) (result (ref any)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref null any) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null (exact $a)) (local.get 0) (unreachable) ) @@ -334,7 +334,7 @@ ) (func (param (ref null any)) (result (ref null any)) (block (result (ref (exact $a))) - (br_on_cast_desc_fail 1 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref (exact $a)) (local.get 0) (unreachable) ) @@ -342,7 +342,7 @@ ) (func (param (ref any)) (result (ref any)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref any) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null (exact $a)) (local.get 0) (unreachable) ) @@ -351,7 +351,7 @@ ) (func (param (ref any)) (result (ref any)) (block (result (ref (exact $a))) - (br_on_cast_desc_fail 1 (ref any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref any) (ref (exact $a)) (local.get 0) (unreachable) ) @@ -361,7 +361,7 @@ ;; Null descriptor (func (param (ref null any)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (local.get 0) (ref.null none) ) @@ -370,7 +370,7 @@ ) (func (param (ref null any)) (result (ref null any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (local.get 0) (ref.null none) ) @@ -378,7 +378,7 @@ ) (func (param (ref any)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null $a) (local.get 0) (ref.null none) ) @@ -387,7 +387,7 @@ ) (func (param (ref any)) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref any) (ref $a) (local.get 0) (ref.null none) ) @@ -395,7 +395,7 @@ ) (func (param (ref null any)) (result (ref any)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref null any) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null (exact $a)) (local.get 0) (ref.null none) ) @@ -404,7 +404,7 @@ ) (func (param (ref null any)) (result (ref null any)) (block (result (ref (exact $a))) - (br_on_cast_desc_fail 1 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref (exact $a)) (local.get 0) (ref.null none) ) @@ -412,7 +412,7 @@ ) (func (param (ref any)) (result (ref any)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref any) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref any) (ref null (exact $a)) (local.get 0) (ref.null none) ) @@ -421,7 +421,7 @@ ) (func (param (ref any)) (result (ref any)) (block (result (ref (exact $a))) - (br_on_cast_desc_fail 1 (ref any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref any) (ref (exact $a)) (local.get 0) (ref.null none) ) @@ -441,7 +441,7 @@ ;; Cast to self (func (param (ref null $a) (ref null $b)) (result (ref $a)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null $a) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null $a) (ref null $a) (local.get 0) (local.get 1) ) @@ -450,7 +450,7 @@ ) (func (param (ref null $a) (ref null (exact $b))) (result (ref $a)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref null $a) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null $a) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -461,7 +461,7 @@ ;; Cast to unrelated type (func (param (ref null i31) (ref null $b)) (result (ref i31)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null i31) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null i31) (ref null $a) (local.get 0) (local.get 1) ) @@ -470,7 +470,7 @@ ) (func (param (ref null i31) (ref null (exact $b))) (result (ref i31)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref null i31) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null i31) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -481,7 +481,7 @@ ;; Cast from defined type to unrelated type (func (param (ref null $e) (ref null $b)) (result (ref $e)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null $e) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null $e) (ref null $a) (local.get 0) (local.get 1) ) @@ -490,7 +490,7 @@ ) (func (param (ref null $e) (ref null (exact $b))) (result (ref $e)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref null $e) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null $e) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -501,7 +501,7 @@ ;; Cast from exact defined type to unrelated type (func (param (ref null (exact $e)) (ref null $b)) (result (ref (exact $e))) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null (exact $e)) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null (exact $e)) (ref null $a) (local.get 0) (local.get 1) ) @@ -510,7 +510,7 @@ ) (func (param (ref null (exact $e)) (ref null (exact $b))) (result (ref (exact $e))) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref null (exact $e)) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null (exact $e)) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -521,7 +521,7 @@ ;; Cast to supertype (func (param (ref null $c) (ref null $b)) (result (ref $c)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null $c) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null $c) (ref null $a) (local.get 0) (local.get 1) ) @@ -530,7 +530,7 @@ ) (func (param (ref null $c) (ref null (exact $b))) (result (ref $c)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref null $c) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null $c) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -541,7 +541,7 @@ ;; Cast from exact to supertype (func (param (ref null (exact $c)) (ref null $b)) (result (ref $c)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null (exact $c)) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null (exact $c)) (ref null $a) (local.get 0) (local.get 1) ) @@ -550,7 +550,7 @@ ) (func (param (ref null (exact $c)) (ref null (exact $b))) (result (ref $c)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref null (exact $c)) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null (exact $c)) (ref null (exact $a)) (local.get 0) (local.get 1) ) @@ -561,7 +561,7 @@ ;; Cast to subtype (func (param (ref null $a) (ref null $d)) (result (ref $a)) (block (result (ref null $c)) - (br_on_cast_desc_fail 1 (ref null $a) (ref null $c) + (br_on_cast_desc_eq_fail 1 (ref null $a) (ref null $c) (local.get 0) (local.get 1) ) @@ -570,7 +570,7 @@ ) (func (param (ref null $a) (ref null (exact $d))) (result (ref $a)) (block (result (ref null (exact $c))) - (br_on_cast_desc_fail 1 (ref null $a) (ref null (exact $c)) + (br_on_cast_desc_eq_fail 1 (ref null $a) (ref null (exact $c)) (local.get 0) (local.get 1) ) @@ -581,7 +581,7 @@ ;; Cast from exact to subtype (func (param (ref null (exact $a)) (ref null $d)) (result (ref (exact $a))) (block (result (ref null $c)) - (br_on_cast_desc_fail 1 (ref null (exact $a)) (ref null $c) + (br_on_cast_desc_eq_fail 1 (ref null (exact $a)) (ref null $c) (local.get 0) (local.get 1) ) @@ -590,7 +590,7 @@ ) (func (param (ref null (exact $a)) (ref null (exact $d))) (result (ref (exact $a))) (block (result (ref null (exact $c))) - (br_on_cast_desc_fail 1 (ref null (exact $a)) (ref null (exact $c)) + (br_on_cast_desc_eq_fail 1 (ref null (exact $a)) (ref null (exact $c)) (local.get 0) (local.get 1) ) @@ -601,7 +601,7 @@ ;; Cast from null (func (param (ref null $b)) (result (ref $a)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null none) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null none) (ref null $a) (ref.null none) (local.get 0) ) @@ -610,7 +610,7 @@ ) (func (param (ref null (exact $b))) (result (ref $a)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref null none) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null none) (ref null (exact $a)) (ref.null none) (local.get 0) ) @@ -621,7 +621,7 @@ ;; Cast from unreachable (func (param (ref null $b)) (result (ref any)) (block (result (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (unreachable) (local.get 0) ) @@ -630,7 +630,7 @@ ) (func (param (ref null (exact $b))) (result (ref any)) (block (result (ref null (exact $a))) - (br_on_cast_desc_fail 1 (ref null any) (ref null (exact $a)) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null (exact $a)) (unreachable) (local.get 0) ) @@ -641,7 +641,7 @@ ;; Cast to descriptor type (func (param (ref null any) (ref null $e)) (result (ref any)) (block (result (ref null $d)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $d) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $d) (local.get 0) (local.get 1) ) @@ -650,7 +650,7 @@ ) (func (param (ref null any) (ref null (exact $e))) (result (ref any)) (block (result (ref null (exact $d))) - (br_on_cast_desc_fail 1 (ref null any) (ref null (exact $d)) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null (exact $d)) (local.get 0) (local.get 1) ) @@ -663,7 +663,7 @@ (module ;; Type must exist. (func (result anyref) - (br_on_cast_desc_fail 0 anyref (ref 1) + (br_on_cast_desc_eq_fail 0 anyref (ref 1) (unreachable) ) ) @@ -675,7 +675,7 @@ (module ;; Type must have a descriptor. (func (result anyref) - (br_on_cast_desc_fail 0 anyref anyref + (br_on_cast_desc_eq_fail 0 anyref anyref (unreachable) ) ) @@ -687,7 +687,7 @@ (module ;; Type must have a descriptor. (func (result anyref) - (br_on_cast_desc_fail 0 anyref nullref + (br_on_cast_desc_eq_fail 0 anyref nullref (unreachable) ) ) @@ -700,7 +700,7 @@ (type $a (struct)) ;; Type must have a descriptor. (func (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (unreachable) ) ) @@ -716,7 +716,7 @@ ) ;; Cannot cast to descriptor without its own descriptor. (func (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $b) (unreachable)) + (br_on_cast_desc_eq_fail 0 anyref (ref $b) (unreachable)) ) ) "type 1 does not have a descriptor" @@ -730,7 +730,7 @@ ) ;; Descriptor must have expected type. (func (param (ref null any) (ref null struct)) (result (ref null any)) - (br_on_cast_desc_fail 0 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 0 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -747,7 +747,7 @@ ) ;; Descriptor must be exact when cast is exact. (func (param (ref null any) (ref $b)) (result (ref null any)) - (br_on_cast_desc_fail 0 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 0 (ref null any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -764,7 +764,7 @@ ) ;; Descriptor must be exact when cast is exact, even if the descriptor is null. (func (param (ref null any)) (result (ref null any)) - (br_on_cast_desc_fail 0 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 0 (ref null any) (ref (exact $a)) (local.get 0) (ref.null $b) ) @@ -783,7 +783,7 @@ ) ;; An exact reference to a subtype of the descriptor does not cut it. (func (param (ref null any) (ref (exact $d))) (result (ref null any)) - (br_on_cast_desc_fail 0 (ref null any) (ref (exact $a)) + (br_on_cast_desc_eq_fail 0 (ref null any) (ref (exact $a)) (local.get 0) (local.get 1) ) @@ -800,7 +800,7 @@ ) ;; Cannot cast across hierarchies. (func (param (ref null func) (ref $b)) (result (ref null any)) - (br_on_cast_desc_fail 0 (ref null func) (ref $a) + (br_on_cast_desc_eq_fail 0 (ref null func) (ref $a) (local.get 0) (local.get 1) ) @@ -817,7 +817,7 @@ ) ;; Cannot cast across hierarchies even with unreachable input. (func (result (ref null any)) - (br_on_cast_desc_fail 0 (ref null func) (ref $a) + (br_on_cast_desc_eq_fail 0 (ref null func) (ref $a) (unreachable) ) ) @@ -836,7 +836,7 @@ ;; Ouput type is determined by immediate, not actual input. (func (param (ref $c) (ref $d)) (result (ref null any)) (block (result (ref null $c)) - (br_on_cast_desc_fail 1 (ref $c) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref $c) (ref $a) (local.get 0) (local.get 1) ) @@ -857,7 +857,7 @@ ;; Same, but with an exact reference to the descriptor subtype. (func (param (ref $c) (ref (exact $d))) (result (ref null any)) (block (result (ref null $c)) - (br_on_cast_desc_fail 1 (ref $c) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref $c) (ref $a) (local.get 0) (local.get 1) ) @@ -878,7 +878,7 @@ ;; Same, but now the cast value and descriptor are both null. (func (result (ref null any)) (block (result (ref null $c)) - (br_on_cast_desc_fail 1 (ref null none) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null none) (ref $a) (ref.null none) (ref.null none) ) @@ -899,7 +899,7 @@ ;; Same, but now the cast value and descriptor are bottom. (func (result (ref null any)) (block (result (ref null $c)) - (br_on_cast_desc_fail 1 (ref none) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref none) (ref $a) (unreachable) ) ) @@ -917,7 +917,7 @@ ;; Branch type should be nullable. (func (param (ref null any) (ref null $b)) (result (ref any)) (block (result (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -934,7 +934,7 @@ (type $b (describes $a) (struct)) ) ;; Invalid in constant expression. - (global (ref $a) (br_on_cast_desc_fail 0 (ref null any) (ref null $a) (ref.null none) (ref.null none))) + (global (ref $a) (br_on_cast_desc_eq_fail 0 (ref null any) (ref null $a) (ref.null none) (ref.null none))) ) "constant expression required" ) @@ -950,7 +950,7 @@ ;; One extra value. (func (param (ref null any) (ref null $b)) (result i32 (ref any)) (block (result i32 (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (i32.const 42) (local.get 0) (local.get 1) @@ -962,7 +962,7 @@ ;; Two extra values. (func (param (ref null any) (ref null $b)) (result i32 i64 (ref any)) (block (result i32 i64 (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (i32.const 42) (i64.const 1337) (local.get 0) @@ -975,7 +975,7 @@ ;; Extra reference value. (func (param (ref null any) (ref null $b)) (result (ref null eq) (ref any)) (block (result (ref null any) (ref null $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref null $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref null $a) (local.get 1) (local.get 0) (local.get 1) @@ -993,7 +993,7 @@ ) ;; No types at label. (func - (br_on_cast_desc_fail 0 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 0 (ref null any) (ref $a) (unreachable) ) (unreachable) @@ -1010,7 +1010,7 @@ ) ;; Too many types at label. (func (param (ref null any) (ref null $b)) (result i32 (ref null any)) - (br_on_cast_desc_fail 0 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 0 (ref null any) (ref $a) (local.get 0) (local.get 1) ) @@ -1028,7 +1028,7 @@ ) ;; Mismatched types at label. (func (param (ref null any) (ref null $b)) (result (ref null eq) (ref null any)) - (br_on_cast_desc_fail 0 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 0 (ref null any) (ref $a) (local.get 0) (local.get 0) (local.get 1) @@ -1048,7 +1048,7 @@ ;; No types at fallthrough. (func (result (ref null any)) (block - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (unreachable) ) ) @@ -1067,7 +1067,7 @@ ;; Too many types at fallthrough. (func (result (ref null any)) (block (result i32 (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (ref.null none) (ref.null none) ) @@ -1087,7 +1087,7 @@ ;; Label types do not match fallthrough types. (func (result (ref null any) (ref null any)) (block (result (ref null eq) (ref $a)) - (br_on_cast_desc_fail 1 (ref null any) (ref $a) + (br_on_cast_desc_eq_fail 1 (ref null any) (ref $a) (unreachable) ) ) @@ -1135,35 +1135,35 @@ (func (export "self-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $a-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $a-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $a1) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $a1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $a-null) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $a-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $a1) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $a1) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $a1) (global.get $b2)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $a1) (global.get $b2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1171,35 +1171,35 @@ (func (export "self-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $a-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $a-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $a1) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $a1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $a-null) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $a-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nonnullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $a1) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $a1) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $a1) (global.get $b2)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $a1) (global.get $b2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1207,35 +1207,35 @@ (func (export "self-exact-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $a-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $a-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $a-null) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $a-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b2-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $a1) (global.get $b2-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1243,35 +1243,35 @@ (func (export "self-exact-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $a-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $a-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $a-null) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $a-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nonnullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "self-exact-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b2-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $a1) (global.get $b2-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1279,35 +1279,35 @@ (func (export "down-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $a-null) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $a-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $a-null) (global.get $d1)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $a-null) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d1)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d2)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $c1-as-a) (global.get $d2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1315,35 +1315,35 @@ (func (export "down-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $c) (global.get $a-null) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref $c) (global.get $a-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $c) (global.get $a-null) (global.get $d1)) + (br_on_cast_desc_eq_fail 0 anyref (ref $c) (global.get $a-null) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nonnullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d1)) + (br_on_cast_desc_eq_fail 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d2)) + (br_on_cast_desc_eq_fail 0 anyref (ref $c) (global.get $c1-as-a) (global.get $d2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1351,35 +1351,35 @@ (func (export "down-exact-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $c)) (global.get $a-null) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $c)) (global.get $a-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $c)) (global.get $a-null) (global.get $d1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $c)) (global.get $a-null) (global.get $d1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1387,35 +1387,35 @@ (func (export "down-exact-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $c)) (global.get $a-null) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $c)) (global.get $a-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $c)) (global.get $a-null) (global.get $d1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $c)) (global.get $a-null) (global.get $d1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nonnullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "down-exact-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1423,35 +1423,35 @@ (func (export "up-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $c-null) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $c-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $c1) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $c1) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $c-null) (global.get $d1)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $c-null) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $c1) (global.get $d1)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $c1) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $c1) (global.get $d2)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $c1) (global.get $d2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1459,35 +1459,35 @@ (func (export "up-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $c-null) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $c-null) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $c1) (global.get $d-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $c1) (global.get $d-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $c-null) (global.get $d1)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $c-null) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nonnullable-val-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $c1) (global.get $d1)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $c1) (global.get $d1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $c1) (global.get $d2)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $c1) (global.get $d2)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1495,28 +1495,28 @@ (func (export "up-exact-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $c-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $c-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $c1) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $c1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $c-null) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $c-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $c1) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $c1) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1524,28 +1524,28 @@ (func (export "up-exact-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $c-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $c-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $c1) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $c1) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $c-null) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $c-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "up-exact-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $c1) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $c1) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1553,28 +1553,28 @@ (func (export "nodesc-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $no-desc-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $no-desc-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $no-desc) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $no-desc) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $no-desc-null) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $no-desc-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $no-desc) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $no-desc) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1582,28 +1582,28 @@ (func (export "nodesc-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $no-desc-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $no-desc-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $no-desc) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $no-desc) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $no-desc-null) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $no-desc-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $no-desc) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $no-desc) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1611,28 +1611,28 @@ (func (export "nodesc-exact-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $no-desc-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $no-desc-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $no-desc) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $no-desc) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $no-desc) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $no-desc) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1640,28 +1640,28 @@ (func (export "nodesc-exact-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $no-desc-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $no-desc-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $no-desc) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $no-desc) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "nodesc-exact-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $no-desc) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $no-desc) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1669,28 +1669,28 @@ (func (export "i31-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $i31-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $i31-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $i31) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $i31) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $i31-null) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $i31-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null $a) (global.get $i31) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref null $a) (global.get $i31) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1698,28 +1698,28 @@ (func (export "i31-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $i31-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $i31-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $i31) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $i31) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $i31-null) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $i31-null) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref $a) (global.get $i31) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 anyref (ref $a) (global.get $i31) (global.get $b1)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1727,28 +1727,28 @@ (func (export "i31-exact-nullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $i31-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $i31-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $i31) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $i31) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $i31-null) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $i31-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref null (exact $a)) (global.get $i31) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref null (exact $a)) (global.get $i31) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1756,28 +1756,28 @@ (func (export "i31-exact-nonnullable-null-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $i31-null) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $i31-null) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nonnullable-val-null") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $i31) (global.get $b-null)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $i31) (global.get $b-null)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nonnullable-null-desc") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $i31-null) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $i31-null) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) ) (func (export "i31-exact-nonnullable-val-other") (result i32) (block (result anyref) - (br_on_cast_desc_fail 0 anyref (ref (exact $a)) (global.get $i31) (global.get $b1-exact)) + (br_on_cast_desc_eq_fail 0 anyref (ref (exact $a)) (global.get $i31) (global.get $b1-exact)) (return (i32.const 0)) ) (return (i32.const 1)) @@ -1925,7 +1925,7 @@ (i32.const 1) (i32.const 2) (ref.null none) - (br_on_cast_desc_fail 0 eqref (ref null $a) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 eqref (ref null $a) (global.get $b1)) (call $assert-eq-ref (ref.null none)) (call $assert-eq-i32 (i32.const 2)) (call $assert-eq-i32 (i32.const 1)) @@ -1939,7 +1939,7 @@ (i32.const 1) (i32.const 2) (global.get $a1) - (br_on_cast_desc_fail 0 eqref (ref null $a) (global.get $b1)) + (br_on_cast_desc_eq_fail 0 eqref (ref null $a) (global.get $b1)) (call $assert-eq-ref (global.get $a1)) (call $assert-eq-i32 (i32.const 2)) (call $assert-eq-i32 (i32.const 1)) @@ -1953,7 +1953,7 @@ (i32.const 1) (i32.const 2) (ref.null none) - (br_on_cast_desc_fail 0 eqref (ref $a) (global.get $b2)) + (br_on_cast_desc_eq_fail 0 eqref (ref $a) (global.get $b2)) (unreachable) ) (call $assert-eq-ref (ref.null none)) @@ -1966,7 +1966,7 @@ (i32.const 1) (i32.const 2) (global.get $a1) - (br_on_cast_desc_fail 0 eqref (ref $a) (global.get $b2)) + (br_on_cast_desc_eq_fail 0 eqref (ref $a) (global.get $b2)) (unreachable) ) (call $assert-eq-ref (global.get $a1)) diff --git a/test/core/custom-descriptors/ref_cast_desc.wast b/test/core/custom-descriptors/ref_cast_desc_eq.wast similarity index 66% rename from test/core/custom-descriptors/ref_cast_desc.wast rename to test/core/custom-descriptors/ref_cast_desc_eq.wast index 722965a9d..bc5471850 100644 --- a/test/core/custom-descriptors/ref_cast_desc.wast +++ b/test/core/custom-descriptors/ref_cast_desc_eq.wast @@ -10,158 +10,158 @@ ;; All nullness combinations (func (param (ref null any) (ref null $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref null $b)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref $b)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref null $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref null $b)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref $b)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) ;; All nullness combinations with subtype descriptors (func (param (ref null any) (ref null $d)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref null $d)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref $d)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref $d)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref null $d)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref null $d)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref $d)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref $d)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) ;; All nullness combinations with exact subtype descriptors (func (param (ref null any) (ref null (exact $d))) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref null (exact $d))) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref (exact $d))) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref (exact $d))) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref null (exact $d))) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref null (exact $d))) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref (exact $d))) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref (exact $d))) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) ;; All nullness combinations with exact casts (func (param (ref null any) (ref null (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref null (exact $b))) (result (ref (exact $a))) - (ref.cast_desc (ref (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref (exact $b))) (result (ref (exact $a))) - (ref.cast_desc (ref (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref null (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref null (exact $b))) (result (ref (exact $a))) - (ref.cast_desc (ref (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (local.get 1)) ) (func (param (ref any) (ref (exact $b))) (result (ref (exact $a))) - (ref.cast_desc (ref (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (local.get 1)) ) ;; Unreachable descriptor (func (param (ref null any)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (unreachable)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (unreachable)) ) (func (param (ref null any)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (unreachable)) + (ref.cast_desc_eq (ref $a) (local.get 0) (unreachable)) ) (func (param (ref any)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (unreachable)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (unreachable)) ) (func (param (ref any)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (unreachable)) + (ref.cast_desc_eq (ref $a) (local.get 0) (unreachable)) ) (func (param (ref null any)) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (unreachable)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (unreachable)) ) (func (param (ref null any)) (result (ref (exact $a))) - (ref.cast_desc (ref (exact $a)) (local.get 0) (unreachable)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (unreachable)) ) (func (param (ref any)) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (unreachable)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (unreachable)) ) (func (param (ref any)) (result (ref (exact $a))) - (ref.cast_desc (ref (exact $a)) (local.get 0) (unreachable)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (unreachable)) ) ;; Null descriptor (func (param (ref null any)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (ref.null none)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (ref.null none)) ) (func (param (ref null any)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (ref.null none)) + (ref.cast_desc_eq (ref $a) (local.get 0) (ref.null none)) ) (func (param (ref any)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (ref.null none)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (ref.null none)) ) (func (param (ref any)) (result (ref $a)) - (ref.cast_desc (ref $a) (local.get 0) (ref.null none)) + (ref.cast_desc_eq (ref $a) (local.get 0) (ref.null none)) ) (func (param (ref null any)) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (ref.null none)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (ref.null none)) ) (func (param (ref null any)) (result (ref (exact $a))) - (ref.cast_desc (ref (exact $a)) (local.get 0) (ref.null none)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (ref.null none)) ) (func (param (ref any)) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (ref.null none)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (ref.null none)) ) (func (param (ref any)) (result (ref (exact $a))) - (ref.cast_desc (ref (exact $a)) (local.get 0) (ref.null none)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (ref.null none)) ) ) @@ -176,90 +176,90 @@ ;; Cast to self (func (param (ref null $a) (ref null $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null $a) (ref null (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (local.get 1)) ) ;; Cast to unrelated type (func (param (ref null i31) (ref null $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null i31) (ref null (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (local.get 1)) ) ;; Cast from defined type to unrelated type (func (param (ref null $e) (ref null $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null $e) (ref null (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (local.get 1)) ) ;; Cast from exact defined type to unrelated type (func (param (ref null (exact $e)) (ref null $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null (exact $e)) (ref null (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (local.get 1)) ) ;; Cast to supertype (func (param (ref null $c) (ref null $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null $c) (ref null (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (local.get 1)) ) ;; Cast from exact to supertype (func (param (ref null (exact $c)) (ref null $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $a) (local.get 0) (local.get 1)) ) (func (param (ref null (exact $c)) (ref null (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $a)) (local.get 0) (local.get 1)) ) ;; Cast to subtype (func (param (ref null $a) (ref null $d)) (result (ref null $c)) - (ref.cast_desc (ref null $c) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $c) (local.get 0) (local.get 1)) ) (func (param (ref null $a) (ref null (exact $d))) (result (ref null (exact $c))) - (ref.cast_desc (ref null (exact $c)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $c)) (local.get 0) (local.get 1)) ) ;; Cast from exact to subtype (func (param (ref null (exact $a)) (ref null $d)) (result (ref null $c)) - (ref.cast_desc (ref null $c) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $c) (local.get 0) (local.get 1)) ) (func (param (ref null (exact $a)) (ref null (exact $d))) (result (ref null (exact $c))) - (ref.cast_desc (ref null (exact $c)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $c)) (local.get 0) (local.get 1)) ) ;; Cast from null (func (param (ref null $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (ref.null none) (local.get 0)) + (ref.cast_desc_eq (ref null $a) (ref.null none) (local.get 0)) ) (func (param (ref null (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (ref.null none) (local.get 0)) + (ref.cast_desc_eq (ref null (exact $a)) (ref.null none) (local.get 0)) ) ;; Cast from unreachable (func (param (ref null $b)) (result (ref null $a)) - (ref.cast_desc (ref null $a) (unreachable) (local.get 0)) + (ref.cast_desc_eq (ref null $a) (unreachable) (local.get 0)) ) (func (param (ref null (exact $b))) (result (ref null (exact $a))) - (ref.cast_desc (ref null (exact $a)) (unreachable) (local.get 0)) + (ref.cast_desc_eq (ref null (exact $a)) (unreachable) (local.get 0)) ) ;; Cast to descriptor type (func (param (ref null any) (ref null $e)) (result (ref null $d)) - (ref.cast_desc (ref null $d) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null $d) (local.get 0) (local.get 1)) ) (func (param (ref null any) (ref null (exact $e))) (result (ref null (exact $d))) - (ref.cast_desc (ref null (exact $d)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref null (exact $d)) (local.get 0) (local.get 1)) ) ) @@ -267,7 +267,7 @@ (module ;; Type must exist. (func (result anyref) - (ref.cast_desc (ref 1) (unreachable)) + (ref.cast_desc_eq (ref 1) (unreachable)) ) ) "unknown type" @@ -277,7 +277,7 @@ (module ;; Type must have a descriptor. (func (result anyref) - (ref.cast_desc (ref any) (unreachable)) + (ref.cast_desc_eq (ref any) (unreachable)) ) ) "type any does not have a descriptor" @@ -287,7 +287,7 @@ (module ;; Type must have a descriptor. (func (result nullref) - (ref.cast_desc (ref null none) (unreachable)) + (ref.cast_desc_eq (ref null none) (unreachable)) ) ) "type none does not have a descriptor" @@ -298,7 +298,7 @@ (type $a (struct)) ;; Type must have a descriptor. (func (result anyref) - (ref.cast_desc (ref $a) (unreachable)) + (ref.cast_desc_eq (ref $a) (unreachable)) ) ) "type 0 does not have a descriptor" @@ -312,7 +312,7 @@ ) ;; Cannot cast to descriptor without its own descriptor. (func (result anyref) - (ref.cast_desc (ref $b) (unreachable)) + (ref.cast_desc_eq (ref $b) (unreachable)) ) ) "type 1 does not have a descriptor" @@ -326,7 +326,7 @@ ) ;; Descriptor must have expected type. (func (param (ref null any) (ref null struct)) (result (ref null any)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) ) "type mismatch" @@ -340,7 +340,7 @@ ) ;; Descriptor must be exact when cast is exact. (func (param (ref null any) (ref $b)) (result (ref null any)) - (ref.cast_desc (ref (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (local.get 1)) ) ) "type mismatch" @@ -354,7 +354,7 @@ ) ;; Descriptor must be exact when cast is exact, even if the descriptor is null. (func (param (ref null any)) (result (ref null any)) - (ref.cast_desc (ref (exact $a)) (local.get 0) (ref.null $b)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (ref.null $b)) ) ) "type mismatch" @@ -370,7 +370,7 @@ ) ;; An exact reference to a subtype of the descriptor does not cut it. (func (param (ref null any) (ref (exact $d))) (result (ref null any)) - (ref.cast_desc (ref (exact $a)) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref (exact $a)) (local.get 0) (local.get 1)) ) ) "type mismatch" @@ -384,7 +384,7 @@ ) ;; Cannot cast across hierarchies. (func (param (ref null func) (ref $b)) (result (ref null any)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) ) "type mismatch" @@ -400,7 +400,7 @@ ) ;; Ouput type is determined by immediate, not actual input. (func (param (ref $c) (ref $d)) (result (ref null $c)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) ) "type mismatch" @@ -416,7 +416,7 @@ ) ;; Same, but with an exact reference to the descriptor subtype. (func (param (ref $c) (ref (exact $d))) (result (ref null $c)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) ) "type mismatch" @@ -432,7 +432,7 @@ ) ;; Same, but with an exact reference to the expected descriptor type. (func (param (ref $c) (ref (exact $b))) (result (ref null $c)) - (ref.cast_desc (ref $a) (local.get 0) (local.get 1)) + (ref.cast_desc_eq (ref $a) (local.get 0) (local.get 1)) ) ) "type mismatch" @@ -448,7 +448,7 @@ ) ;; Same, but now the cast value and descriptor are both null. (func (result (ref null $c)) - (ref.cast_desc (ref $a) (ref.null none) (ref.null none)) + (ref.cast_desc_eq (ref $a) (ref.null none) (ref.null none)) ) ) "type mismatch" @@ -464,7 +464,7 @@ ) ;; Same, but now the cast value and descriptor are bottom. (func (result (ref null $c)) - (ref.cast_desc (ref $a) (unreachable)) + (ref.cast_desc_eq (ref $a) (unreachable)) ) ) "type mismatch" @@ -477,7 +477,7 @@ (type $b (describes $a) (struct)) ) ;; Invalid in constant expression. - (global (ref $a) (ref.cast_desc (ref null $a) (ref.null none) (ref.null none))) + (global (ref $a) (ref.cast_desc_eq (ref null $a) (ref.null none) (ref.null none))) ) "constant expression required" ) @@ -519,293 +519,293 @@ (global $i31-null (ref null any) (ref.null i31)) (func (export "self-nullable-null-null") (result anyref) - (ref.cast_desc (ref null $a) (global.get $a-null) (global.get $b-null)) + (ref.cast_desc_eq (ref null $a) (global.get $a-null) (global.get $b-null)) ) (func (export "self-nullable-val-null") (result anyref) - (ref.cast_desc (ref null $a) (global.get $a1) (global.get $b-null)) + (ref.cast_desc_eq (ref null $a) (global.get $a1) (global.get $b-null)) ) (func (export "self-nullable-null-desc") (result anyref) - (ref.cast_desc (ref null $a) (global.get $a-null) (global.get $b1)) + (ref.cast_desc_eq (ref null $a) (global.get $a-null) (global.get $b1)) ) (func (export "self-nullable-val-desc") (result anyref) - (ref.cast_desc (ref null $a) (global.get $a1) (global.get $b1)) + (ref.cast_desc_eq (ref null $a) (global.get $a1) (global.get $b1)) ) (func (export "self-nullable-val-other") (result anyref) - (ref.cast_desc (ref null $a) (global.get $a1) (global.get $b2)) + (ref.cast_desc_eq (ref null $a) (global.get $a1) (global.get $b2)) ) (func (export "self-nonnullable-null-null") (result anyref) - (ref.cast_desc (ref $a) (global.get $a-null) (global.get $b-null)) + (ref.cast_desc_eq (ref $a) (global.get $a-null) (global.get $b-null)) ) (func (export "self-nonnullable-val-null") (result anyref) - (ref.cast_desc (ref $a) (global.get $a1) (global.get $b-null)) + (ref.cast_desc_eq (ref $a) (global.get $a1) (global.get $b-null)) ) (func (export "self-nonnullable-null-desc") (result anyref) - (ref.cast_desc (ref $a) (global.get $a-null) (global.get $b1)) + (ref.cast_desc_eq (ref $a) (global.get $a-null) (global.get $b1)) ) (func (export "self-nonnullable-val-desc") (result anyref) - (ref.cast_desc (ref $a) (global.get $a1) (global.get $b1)) + (ref.cast_desc_eq (ref $a) (global.get $a1) (global.get $b1)) ) (func (export "self-nonnullable-val-other") (result anyref) - (ref.cast_desc (ref $a) (global.get $a1) (global.get $b2)) + (ref.cast_desc_eq (ref $a) (global.get $a1) (global.get $b2)) ) (func (export "self-exact-nullable-null-null") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $a-null) (global.get $b-null)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $a-null) (global.get $b-null)) ) (func (export "self-exact-nullable-val-null") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $a1) (global.get $b-null)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $a1) (global.get $b-null)) ) (func (export "self-exact-nullable-null-desc") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $a-null) (global.get $b1-exact)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $a-null) (global.get $b1-exact)) ) (func (export "self-exact-nullable-val-desc") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $a1) (global.get $b1-exact)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $a1) (global.get $b1-exact)) ) (func (export "self-exact-nullable-val-other") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $a1) (global.get $b2-exact)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $a1) (global.get $b2-exact)) ) (func (export "self-exact-nonnullable-null-null") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $a-null) (global.get $b-null)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $a-null) (global.get $b-null)) ) (func (export "self-exact-nonnullable-val-null") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $a1) (global.get $b-null)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $a1) (global.get $b-null)) ) (func (export "self-exact-nonnullable-null-desc") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $a-null) (global.get $b1-exact)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $a-null) (global.get $b1-exact)) ) (func (export "self-exact-nonnullable-val-desc") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $a1) (global.get $b1-exact)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $a1) (global.get $b1-exact)) ) (func (export "self-exact-nonnullable-val-other") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $a1) (global.get $b2-exact)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $a1) (global.get $b2-exact)) ) (func (export "down-nullable-null-null") (result anyref) - (ref.cast_desc (ref null $c) (global.get $a-null) (global.get $d-null)) + (ref.cast_desc_eq (ref null $c) (global.get $a-null) (global.get $d-null)) ) (func (export "down-nullable-val-null") (result anyref) - (ref.cast_desc (ref null $c) (global.get $c1-as-a) (global.get $d-null)) + (ref.cast_desc_eq (ref null $c) (global.get $c1-as-a) (global.get $d-null)) ) (func (export "down-nullable-null-desc") (result anyref) - (ref.cast_desc (ref null $c) (global.get $a-null) (global.get $d1)) + (ref.cast_desc_eq (ref null $c) (global.get $a-null) (global.get $d1)) ) (func (export "down-nullable-val-desc") (result anyref) - (ref.cast_desc (ref null $c) (global.get $c1-as-a) (global.get $d1)) + (ref.cast_desc_eq (ref null $c) (global.get $c1-as-a) (global.get $d1)) ) (func (export "down-nullable-val-other") (result anyref) - (ref.cast_desc (ref null $c) (global.get $c1-as-a) (global.get $d2)) + (ref.cast_desc_eq (ref null $c) (global.get $c1-as-a) (global.get $d2)) ) (func (export "down-nonnullable-null-null") (result anyref) - (ref.cast_desc (ref $c) (global.get $a-null) (global.get $d-null)) + (ref.cast_desc_eq (ref $c) (global.get $a-null) (global.get $d-null)) ) (func (export "down-nonnullable-val-null") (result anyref) - (ref.cast_desc (ref $c) (global.get $c1-as-a) (global.get $d-null)) + (ref.cast_desc_eq (ref $c) (global.get $c1-as-a) (global.get $d-null)) ) (func (export "down-nonnullable-null-desc") (result anyref) - (ref.cast_desc (ref $c) (global.get $a-null) (global.get $d1)) + (ref.cast_desc_eq (ref $c) (global.get $a-null) (global.get $d1)) ) (func (export "down-nonnullable-val-desc") (result anyref) - (ref.cast_desc (ref $c) (global.get $c1-as-a) (global.get $d1)) + (ref.cast_desc_eq (ref $c) (global.get $c1-as-a) (global.get $d1)) ) (func (export "down-nonnullable-val-other") (result anyref) - (ref.cast_desc (ref $c) (global.get $c1-as-a) (global.get $d2)) + (ref.cast_desc_eq (ref $c) (global.get $c1-as-a) (global.get $d2)) ) (func (export "down-exact-nullable-null-null") (result anyref) - (ref.cast_desc (ref null (exact $c)) (global.get $a-null) (global.get $d-null)) + (ref.cast_desc_eq (ref null (exact $c)) (global.get $a-null) (global.get $d-null)) ) (func (export "down-exact-nullable-val-null") (result anyref) - (ref.cast_desc (ref null (exact $c)) (global.get $c1-as-a) (global.get $d-null)) + (ref.cast_desc_eq (ref null (exact $c)) (global.get $c1-as-a) (global.get $d-null)) ) (func (export "down-exact-nullable-null-desc") (result anyref) - (ref.cast_desc (ref null (exact $c)) (global.get $a-null) (global.get $d1-exact)) + (ref.cast_desc_eq (ref null (exact $c)) (global.get $a-null) (global.get $d1-exact)) ) (func (export "down-exact-nullable-val-desc") (result anyref) - (ref.cast_desc (ref null (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) + (ref.cast_desc_eq (ref null (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) ) (func (export "down-exact-nullable-val-other") (result anyref) - (ref.cast_desc (ref null (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) + (ref.cast_desc_eq (ref null (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) ) (func (export "down-exact-nonnullable-null-null") (result anyref) - (ref.cast_desc (ref (exact $c)) (global.get $a-null) (global.get $d-null)) + (ref.cast_desc_eq (ref (exact $c)) (global.get $a-null) (global.get $d-null)) ) (func (export "down-exact-nonnullable-val-null") (result anyref) - (ref.cast_desc (ref (exact $c)) (global.get $c1-as-a) (global.get $d-null)) + (ref.cast_desc_eq (ref (exact $c)) (global.get $c1-as-a) (global.get $d-null)) ) (func (export "down-exact-nonnullable-null-desc") (result anyref) - (ref.cast_desc (ref (exact $c)) (global.get $a-null) (global.get $d1-exact)) + (ref.cast_desc_eq (ref (exact $c)) (global.get $a-null) (global.get $d1-exact)) ) (func (export "down-exact-nonnullable-val-desc") (result anyref) - (ref.cast_desc (ref (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) + (ref.cast_desc_eq (ref (exact $c)) (global.get $c1-as-a) (global.get $d1-exact)) ) (func (export "down-exact-nonnullable-val-other") (result anyref) - (ref.cast_desc (ref (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) + (ref.cast_desc_eq (ref (exact $c)) (global.get $c1-as-a) (global.get $d2-exact)) ) (func (export "up-nullable-null-null") (result anyref) - (ref.cast_desc (ref null $a) (global.get $c-null) (global.get $d-null)) + (ref.cast_desc_eq (ref null $a) (global.get $c-null) (global.get $d-null)) ) (func (export "up-nullable-val-null") (result anyref) - (ref.cast_desc (ref null $a) (global.get $c1) (global.get $d-null)) + (ref.cast_desc_eq (ref null $a) (global.get $c1) (global.get $d-null)) ) (func (export "up-nullable-null-desc") (result anyref) - (ref.cast_desc (ref null $a) (global.get $c-null) (global.get $d1)) + (ref.cast_desc_eq (ref null $a) (global.get $c-null) (global.get $d1)) ) (func (export "up-nullable-val-desc") (result anyref) - (ref.cast_desc (ref null $a) (global.get $c1) (global.get $d1)) + (ref.cast_desc_eq (ref null $a) (global.get $c1) (global.get $d1)) ) (func (export "up-nullable-val-other") (result anyref) - (ref.cast_desc (ref null $a) (global.get $c1) (global.get $d2)) + (ref.cast_desc_eq (ref null $a) (global.get $c1) (global.get $d2)) ) (func (export "up-nonnullable-null-null") (result anyref) - (ref.cast_desc (ref $a) (global.get $c-null) (global.get $d-null)) + (ref.cast_desc_eq (ref $a) (global.get $c-null) (global.get $d-null)) ) (func (export "up-nonnullable-val-null") (result anyref) - (ref.cast_desc (ref $a) (global.get $c1) (global.get $d-null)) + (ref.cast_desc_eq (ref $a) (global.get $c1) (global.get $d-null)) ) (func (export "up-nonnullable-null-desc") (result anyref) - (ref.cast_desc (ref $a) (global.get $c-null) (global.get $d1)) + (ref.cast_desc_eq (ref $a) (global.get $c-null) (global.get $d1)) ) (func (export "up-nonnullable-val-desc") (result anyref) - (ref.cast_desc (ref $a) (global.get $c1) (global.get $d1)) + (ref.cast_desc_eq (ref $a) (global.get $c1) (global.get $d1)) ) (func (export "up-nonnullable-val-other") (result anyref) - (ref.cast_desc (ref $a) (global.get $c1) (global.get $d2)) + (ref.cast_desc_eq (ref $a) (global.get $c1) (global.get $d2)) ) (func (export "up-exact-nullable-null-null") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $c-null) (global.get $b-null)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $c-null) (global.get $b-null)) ) (func (export "up-exact-nullable-val-null") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $c1) (global.get $b-null)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $c1) (global.get $b-null)) ) (func (export "up-exact-nullable-null-desc") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $c-null) (global.get $b1-exact)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $c-null) (global.get $b1-exact)) ) (func (export "up-exact-nullable-val-other") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $c1) (global.get $b1-exact)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $c1) (global.get $b1-exact)) ) (func (export "up-exact-nonnullable-null-null") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $c-null) (global.get $b-null)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $c-null) (global.get $b-null)) ) (func (export "up-exact-nonnullable-val-null") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $c1) (global.get $b-null)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $c1) (global.get $b-null)) ) (func (export "up-exact-nonnullable-null-desc") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $c-null) (global.get $b1-exact)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $c-null) (global.get $b1-exact)) ) (func (export "up-exact-nonnullable-val-other") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $c1) (global.get $b1-exact)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $c1) (global.get $b1-exact)) ) (func (export "nodesc-nullable-null-null") (result anyref) - (ref.cast_desc (ref null $a) (global.get $no-desc-null) (global.get $b-null)) + (ref.cast_desc_eq (ref null $a) (global.get $no-desc-null) (global.get $b-null)) ) (func (export "nodesc-nullable-val-null") (result anyref) - (ref.cast_desc (ref null $a) (global.get $no-desc) (global.get $b-null)) + (ref.cast_desc_eq (ref null $a) (global.get $no-desc) (global.get $b-null)) ) (func (export "nodesc-nullable-null-desc") (result anyref) - (ref.cast_desc (ref null $a) (global.get $no-desc-null) (global.get $b1)) + (ref.cast_desc_eq (ref null $a) (global.get $no-desc-null) (global.get $b1)) ) (func (export "nodesc-nullable-val-other") (result anyref) - (ref.cast_desc (ref null $a) (global.get $no-desc) (global.get $b1)) + (ref.cast_desc_eq (ref null $a) (global.get $no-desc) (global.get $b1)) ) (func (export "nodesc-nonnullable-null-null") (result anyref) - (ref.cast_desc (ref $a) (global.get $no-desc-null) (global.get $b-null)) + (ref.cast_desc_eq (ref $a) (global.get $no-desc-null) (global.get $b-null)) ) (func (export "nodesc-nonnullable-val-null") (result anyref) - (ref.cast_desc (ref $a) (global.get $no-desc) (global.get $b-null)) + (ref.cast_desc_eq (ref $a) (global.get $no-desc) (global.get $b-null)) ) (func (export "nodesc-nonnullable-null-desc") (result anyref) - (ref.cast_desc (ref $a) (global.get $no-desc-null) (global.get $b1)) + (ref.cast_desc_eq (ref $a) (global.get $no-desc-null) (global.get $b1)) ) (func (export "nodesc-nonnullable-val-other") (result anyref) - (ref.cast_desc (ref $a) (global.get $no-desc) (global.get $b1)) + (ref.cast_desc_eq (ref $a) (global.get $no-desc) (global.get $b1)) ) (func (export "nodesc-exact-nullable-null-null") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $no-desc-null) (global.get $b-null)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $no-desc-null) (global.get $b-null)) ) (func (export "nodesc-exact-nullable-val-null") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $no-desc) (global.get $b-null)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $no-desc) (global.get $b-null)) ) (func (export "nodesc-exact-nullable-null-desc") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) ) (func (export "nodesc-exact-nullable-val-other") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $no-desc) (global.get $b1-exact)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $no-desc) (global.get $b1-exact)) ) (func (export "nodesc-exact-nonnullable-null-null") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $no-desc-null) (global.get $b-null)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $no-desc-null) (global.get $b-null)) ) (func (export "nodesc-exact-nonnullable-val-null") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $no-desc) (global.get $b-null)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $no-desc) (global.get $b-null)) ) (func (export "nodesc-exact-nonnullable-null-desc") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $no-desc-null) (global.get $b1-exact)) ) (func (export "nodesc-exact-nonnullable-val-other") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $no-desc) (global.get $b1-exact)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $no-desc) (global.get $b1-exact)) ) (func (export "i31-nullable-null-null") (result anyref) - (ref.cast_desc (ref null $a) (global.get $i31-null) (global.get $b-null)) + (ref.cast_desc_eq (ref null $a) (global.get $i31-null) (global.get $b-null)) ) (func (export "i31-nullable-val-null") (result anyref) - (ref.cast_desc (ref null $a) (global.get $i31) (global.get $b-null)) + (ref.cast_desc_eq (ref null $a) (global.get $i31) (global.get $b-null)) ) (func (export "i31-nullable-null-desc") (result anyref) - (ref.cast_desc (ref null $a) (global.get $i31-null) (global.get $b1)) + (ref.cast_desc_eq (ref null $a) (global.get $i31-null) (global.get $b1)) ) (func (export "i31-nullable-val-other") (result anyref) - (ref.cast_desc (ref null $a) (global.get $i31) (global.get $b1)) + (ref.cast_desc_eq (ref null $a) (global.get $i31) (global.get $b1)) ) (func (export "i31-nonnullable-null-null") (result anyref) - (ref.cast_desc (ref $a) (global.get $i31-null) (global.get $b-null)) + (ref.cast_desc_eq (ref $a) (global.get $i31-null) (global.get $b-null)) ) (func (export "i31-nonnullable-val-null") (result anyref) - (ref.cast_desc (ref $a) (global.get $i31) (global.get $b-null)) + (ref.cast_desc_eq (ref $a) (global.get $i31) (global.get $b-null)) ) (func (export "i31-nonnullable-null-desc") (result anyref) - (ref.cast_desc (ref $a) (global.get $i31-null) (global.get $b1)) + (ref.cast_desc_eq (ref $a) (global.get $i31-null) (global.get $b1)) ) (func (export "i31-nonnullable-val-other") (result anyref) - (ref.cast_desc (ref $a) (global.get $i31) (global.get $b1)) + (ref.cast_desc_eq (ref $a) (global.get $i31) (global.get $b1)) ) (func (export "i31-exact-nullable-null-null") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $i31-null) (global.get $b-null)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $i31-null) (global.get $b-null)) ) (func (export "i31-exact-nullable-val-null") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $i31) (global.get $b-null)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $i31) (global.get $b-null)) ) (func (export "i31-exact-nullable-null-desc") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $i31-null) (global.get $b1-exact)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $i31-null) (global.get $b1-exact)) ) (func (export "i31-exact-nullable-val-other") (result anyref) - (ref.cast_desc (ref null (exact $a)) (global.get $i31) (global.get $b1-exact)) + (ref.cast_desc_eq (ref null (exact $a)) (global.get $i31) (global.get $b1-exact)) ) (func (export "i31-exact-nonnullable-null-null") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $i31-null) (global.get $b-null)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $i31-null) (global.get $b-null)) ) (func (export "i31-exact-nonnullable-val-null") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $i31) (global.get $b-null)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $i31) (global.get $b-null)) ) (func (export "i31-exact-nonnullable-null-desc") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $i31-null) (global.get $b1-exact)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $i31-null) (global.get $b1-exact)) ) (func (export "i31-exact-nonnullable-val-other") (result anyref) - (ref.cast_desc (ref (exact $a)) (global.get $i31) (global.get $b1-exact)) + (ref.cast_desc_eq (ref (exact $a)) (global.get $i31) (global.get $b1-exact)) ) ) diff --git a/test/js-api/wasm-module-builder.js b/test/js-api/wasm-module-builder.js index 459f37996..712e05c75 100644 --- a/test/js-api/wasm-module-builder.js +++ b/test/js-api/wasm-module-builder.js @@ -493,10 +493,10 @@ let kExprI31GetU = 0x1e; let kExprStructNewDesc = 0x20; let kExprStructNewDefaultDesc = 0x21; let kExprRefGetDesc = 0x22; -let kExprRefCastDesc = 0x23; -let kExprRefCastDescNull = 0x24; -let kExprBrOnCastDesc = 0x25; -let kExprBrOnCastDescFail = 0x26; +let kExprRefCastDescEq = 0x23; +let kExprRefCastDescEqNull = 0x24; +let kExprBrOnCastDescEq = 0x25; +let kExprBrOnCastDescEqFail = 0x26; // Numeric opcodes. let kExprMemoryInit = 0x08; @@ -1614,7 +1614,7 @@ let wasmEncodeHeapType = function(type) { return result; }; -let [wasmBrOnCast, wasmBrOnCastFail, wasmBrOnCastDesc, wasmBrOnCastDescFail] = +let [wasmBrOnCast, wasmBrOnCastFail, wasmBrOnCastDescEq, wasmBrOnCastDescEqFail] = (function() { return [ (labelIdx, sourceType, targetType) => @@ -1622,9 +1622,9 @@ let [wasmBrOnCast, wasmBrOnCastFail, wasmBrOnCastDesc, wasmBrOnCastDescFail] = (labelIdx, sourceType, targetType) => wasmBrOnCastImpl(labelIdx, sourceType, targetType, kExprBrOnCastFail), (labelIdx, sourceType, targetType) => - wasmBrOnCastImpl(labelIdx, sourceType, targetType, kExprBrOnCastDesc), + wasmBrOnCastImpl(labelIdx, sourceType, targetType, kExprBrOnCastDescEq), (labelIdx, sourceType, targetType) => - wasmBrOnCastImpl(labelIdx, sourceType, targetType, kExprBrOnCastDescFail), + wasmBrOnCastImpl(labelIdx, sourceType, targetType, kExprBrOnCastDescEqFail), ]; function wasmBrOnCastImpl(labelIdx, sourceType, targetType, opcode) { labelIdx = wasmUnsignedLeb(labelIdx, kMaxVarInt32Size);