diff options
Diffstat (limited to 'lib/compiler/test/beam_validator_SUITE_data/unsafe_catch.S')
-rw-r--r-- | lib/compiler/test/beam_validator_SUITE_data/unsafe_catch.S | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/lib/compiler/test/beam_validator_SUITE_data/unsafe_catch.S b/lib/compiler/test/beam_validator_SUITE_data/unsafe_catch.S new file mode 100644 index 0000000000..500ac11377 --- /dev/null +++ b/lib/compiler/test/beam_validator_SUITE_data/unsafe_catch.S @@ -0,0 +1,67 @@ +{module, unsafe_catch}. %% version = 0 + +{exports, [{small,2}]}. + +{attributes, []}. + +{labels, 14}. + + +{function, small, 2, 5}. + {label,4}. + {func_info,{atom,t},{atom,small},2}. + {label,5}. + {allocate_zero,2,2}. + {'catch',{y,1},{f,6}}. + {bs_init2,{f,0},1,0,2,{field_flags,[]},{x,2}}. + {bs_put_integer,{f,0}, + {integer,8}, + 1, + {field_flags,[aligned,unsigned,big]}, + {x,0}}. + {move,{x,1},{y,0}}. + {move,{x,2},{x,0}}. + {label,6}. + {catch_end,{y,1}}. + {test,is_tuple,{f,7},[{x,0}]}. + {test,test_arity,{f,7},[{x,0},2]}. + {get_tuple_element,{x,0},0,{x,1}}. + {test,is_eq_exact,{f,7},[{x,1},{atom,'EXIT'}]}. + {bs_init2,{f,0},0,0,0,{field_flags,[]},{x,0}}. + {label,7}. + {'catch',{y,1},{f,8}}. + {bs_init2,{f,0},2,0,1,{field_flags,[]},{x,1}}. + {bs_put_integer,{f,0}, + {integer,16}, + 1, + {field_flags,[aligned,unsigned,big]}, + {y,0}}. + {move,{x,0},{y,0}}. + {move,{x,1},{x,0}}. + {label,8}. + {catch_end,{y,1}}. + {test,is_tuple,{f,9},[{x,0}]}. + {test,test_arity,{f,9},[{x,0},2]}. + {get_tuple_element,{x,0},0,{x,1}}. + {test,is_eq_exact,{f,9},[{x,1},{atom,'EXIT'}]}. + {bs_init2,{f,0},0,0,0,{field_flags,[]},{x,0}}. + {label,9}. + {move,{integer,0},{x,1}}. + {bif,size,{f,0},[{x,0}],{x,2}}. + {bs_add,{f,0},[{x,1},{x,2},1],{x,1}}. + {bif,size,{f,0},[{y,0}],{x,2}}. + {bs_add,{f,0},[{x,1},{x,2},1],{x,1}}. + {bs_init2,{f,0},{x,1},0,2,{field_flags,[]},{x,1}}. + {bs_put_binary,{f,0}, + {atom,all}, + 8, + {field_flags,[aligned,unsigned,big]}, + {y,0}}. + {bs_put_binary,{f,0}, + {atom,all}, + 8, + {field_flags,[aligned,unsigned,big]}, + {x,0}}. + {move,{x,1},{x,0}}. + {deallocate,2}. + return. |