blob: e4b15a1c8d4cd03221c20ba5192d9769dee7c894 [file] [log] [blame]
// func_ptrs.wast:1
let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x9b\x80\x80\x80\x00\x07\x60\x00\x00\x60\x00\x00\x60\x00\x00\x60\x00\x01\x7f\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x60\x01\x7f\x00\x02\x92\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x06\x03\x87\x80\x80\x80\x00\x06\x00\x01\x04\x05\x05\x06\x07\x9c\x80\x80\x80\x00\x04\x03\x6f\x6e\x65\x00\x03\x03\x74\x77\x6f\x00\x04\x05\x74\x68\x72\x65\x65\x00\x05\x04\x66\x6f\x75\x72\x00\x06\x0a\xbb\x80\x80\x80\x00\x06\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x0d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x01\x6a\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x02\x6b\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x10\x00\x0b");
// func_ptrs.wast:26
assert_return(() => call($1, "one", []), 13);
// func_ptrs.wast:27
assert_return(() => call($1, "two", [13]), 14);
// func_ptrs.wast:28
assert_return(() => call($1, "three", [13]), 11);
// func_ptrs.wast:29
run(() => call($1, "four", [83]));
// func_ptrs.wast:31
assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x09\x86\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x00");
// func_ptrs.wast:32
assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x09\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b");
// func_ptrs.wast:34
assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x01\x09\x86\x80\x80\x80\x00\x01\x00\x42\x00\x0b\x00");
// func_ptrs.wast:38
assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x01\x09\x87\x80\x80\x80\x00\x01\x00\x41\x00\x68\x0b\x00");
// func_ptrs.wast:42
assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x01\x09\x85\x80\x80\x80\x00\x01\x00\x01\x0b\x00");
// func_ptrs.wast:47
assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x03\x82\x80\x80\x80\x00\x01\x2a\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b");
// func_ptrs.wast:48
assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x92\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x2b");
// func_ptrs.wast:50
let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8e\x80\x80\x80\x00\x03\x60\x00\x01\x7f\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x03\x88\x80\x80\x80\x00\x07\x00\x00\x00\x01\x01\x02\x02\x04\x85\x80\x80\x80\x00\x01\x70\x01\x07\x07\x07\x91\x80\x80\x80\x00\x02\x05\x63\x61\x6c\x6c\x74\x00\x05\x05\x63\x61\x6c\x6c\x75\x00\x06\x09\x8d\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x07\x00\x01\x02\x03\x04\x00\x02\x0a\xc6\x80\x80\x80\x00\x07\x84\x80\x80\x80\x00\x00\x41\x01\x0b\x84\x80\x80\x80\x00\x00\x41\x02\x0b\x84\x80\x80\x80\x00\x00\x41\x03\x0b\x84\x80\x80\x80\x00\x00\x41\x04\x0b\x84\x80\x80\x80\x00\x00\x41\x05\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x01\x00\x0b");
// func_ptrs.wast:70
assert_return(() => call($2, "callt", [0]), 1);
// func_ptrs.wast:71
assert_return(() => call($2, "callt", [1]), 2);
// func_ptrs.wast:72
assert_return(() => call($2, "callt", [2]), 3);
// func_ptrs.wast:73
assert_return(() => call($2, "callt", [3]), 4);
// func_ptrs.wast:74
assert_return(() => call($2, "callt", [4]), 5);
// func_ptrs.wast:75
assert_return(() => call($2, "callt", [5]), 1);
// func_ptrs.wast:76
assert_return(() => call($2, "callt", [6]), 3);
// func_ptrs.wast:77
assert_trap(() => call($2, "callt", [7]));
// func_ptrs.wast:78
assert_trap(() => call($2, "callt", [100]));
// func_ptrs.wast:79
assert_trap(() => call($2, "callt", [-1]));
// func_ptrs.wast:81
assert_return(() => call($2, "callu", [0]), 1);
// func_ptrs.wast:82
assert_return(() => call($2, "callu", [1]), 2);
// func_ptrs.wast:83
assert_return(() => call($2, "callu", [2]), 3);
// func_ptrs.wast:84
assert_return(() => call($2, "callu", [3]), 4);
// func_ptrs.wast:85
assert_return(() => call($2, "callu", [4]), 5);
// func_ptrs.wast:86
assert_return(() => call($2, "callu", [5]), 1);
// func_ptrs.wast:87
assert_return(() => call($2, "callu", [6]), 3);
// func_ptrs.wast:88
assert_trap(() => call($2, "callu", [7]));
// func_ptrs.wast:89
assert_trap(() => call($2, "callu", [100]));
// func_ptrs.wast:90
assert_trap(() => call($2, "callu", [-1]));
// func_ptrs.wast:92
let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x03\x84\x80\x80\x80\x00\x03\x00\x00\x01\x04\x85\x80\x80\x80\x00\x01\x70\x01\x02\x02\x07\x89\x80\x80\x80\x00\x01\x05\x63\x61\x6c\x6c\x74\x00\x02\x09\x88\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x02\x00\x01\x0a\x9f\x80\x80\x80\x00\x03\x84\x80\x80\x80\x00\x00\x41\x01\x0b\x84\x80\x80\x80\x00\x00\x41\x02\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b");
// func_ptrs.wast:104
assert_return(() => call($3, "callt", [0]), 1);
// func_ptrs.wast:105
assert_return(() => call($3, "callt", [1]), 2);