mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-27 21:00:50 +00:00
Bug 1592783 - Update in-tree and spec-tests for trapping change. r=lth
This commit relies on a patch to the spec interpreter/tests to also make the
trapping change there [1] [2].
[1] https://github.com/eqrion/wasm-spec/tree/spidermonkey-tree-tests
[2] b467c3e4e3
Differential Revision: https://phabricator.services.mozilla.com/D51756
--HG--
extra : moz-landing-system : lando
This commit is contained in:
parent
dfd7ad632e
commit
4d03d80f48
@ -55,6 +55,14 @@ function testTableFill(tbl_type, val_type, obj) {
|
||||
|
||||
// Now a bunch of tests involving only table 1.
|
||||
|
||||
// Partly outside the table
|
||||
assertErrorMessage(() => ins.exports.fill1(8, obj[5], 3),
|
||||
RangeError, /table index out of bounds/);
|
||||
|
||||
assertEq(ins.exports.get1(7), null);
|
||||
assertEq(ins.exports.get1(8), null);
|
||||
assertEq(ins.exports.get1(9), null);
|
||||
|
||||
// Within the table
|
||||
assertEq(ins.exports.fill1(2, obj[0], 3), undefined);
|
||||
assertEq(ins.exports.get1(1), null);
|
||||
@ -91,14 +99,6 @@ function testTableFill(tbl_type, val_type, obj) {
|
||||
assertEq(ins.exports.fill1(10, obj[4], 0), undefined);
|
||||
assertEq(ins.exports.get1(9), null);
|
||||
|
||||
// Partly outside the table
|
||||
assertErrorMessage(() => ins.exports.fill1(8, obj[5], 3),
|
||||
RangeError, /table index out of bounds/);
|
||||
|
||||
assertEq(ins.exports.get1(7), null);
|
||||
assertEq(ins.exports.get1(8), obj[5]);
|
||||
assertEq(ins.exports.get1(9), obj[5]);
|
||||
|
||||
// Boundary tests on table 1: at the edge of the table.
|
||||
|
||||
// Length-zero fill1 at the edge of the table must succeed
|
||||
|
@ -589,7 +589,7 @@ assertEq(mem8[npages*64*1024-1], 2);
|
||||
assertEq(tbl.get(0), i.exports.f);
|
||||
assertEq(tbl.get(1), i.exports.g);
|
||||
|
||||
// Element segment applies partially and prevents subsequent elem segment and
|
||||
// Element segment doesn't apply and prevents subsequent elem segment and
|
||||
// data segment from being applied.
|
||||
|
||||
if (wasmBulkMemSupported()) {
|
||||
@ -609,13 +609,13 @@ if (wasmBulkMemSupported()) {
|
||||
LinkError,
|
||||
/elem segment does not fit/);
|
||||
assertEq(tbl.get(0), null);
|
||||
assertEq(typeof tbl.get(1), "function");
|
||||
assertEq(typeof tbl.get(2), "function");
|
||||
assertEq(tbl.get(1), null);
|
||||
assertEq(tbl.get(2), null);
|
||||
let v = new Uint8Array(mem.buffer);
|
||||
assertEq(v[0], 0);
|
||||
}
|
||||
|
||||
// Data segment applies partially and prevents subsequent data segment from
|
||||
// Data segment doesn't apply and prevents subsequent data segment from
|
||||
// being applied.
|
||||
|
||||
if (wasmBulkMemSupported()) {
|
||||
@ -630,8 +630,8 @@ if (wasmBulkMemSupported()) {
|
||||
LinkError,
|
||||
/data segment does not fit/);
|
||||
let v = new Uint8Array(mem.buffer);
|
||||
assertEq(v[65534], 1);
|
||||
assertEq(v[65535], 2);
|
||||
assertEq(v[65534], 0);
|
||||
assertEq(v[65535], 0);
|
||||
assertEq(v[0], 0);
|
||||
}
|
||||
|
||||
|
@ -13,7 +13,7 @@ if (conf.debug &&
|
||||
|
||||
const PAGESIZE = 65536;
|
||||
|
||||
// memory.fill: out of bounds, but should perform a partial fill.
|
||||
// memory.fill: out of bounds, should not perform writes
|
||||
//
|
||||
// Arithmetic overflow of memory offset + len should not affect the behavior, we
|
||||
// should still fill up to the limit.
|
||||
@ -24,7 +24,8 @@ function mem_fill(min, max, shared, backup, write=backup*2) {
|
||||
(memory (export "mem") ${min} ${max} ${shared})
|
||||
(func (export "run") (param $offs i32) (param $val i32) (param $len i32)
|
||||
(memory.fill (local.get $offs) (local.get $val) (local.get $len))))`);
|
||||
// A fill past the end should throw *and* have filled all the way up to the end
|
||||
// A fill past the end should throw *and* not have filled all the way up to
|
||||
// the end
|
||||
let offs = min*PAGESIZE - backup;
|
||||
let val = 37;
|
||||
assertErrorMessage(() => ins.exports.run(offs, val, write),
|
||||
@ -32,7 +33,7 @@ function mem_fill(min, max, shared, backup, write=backup*2) {
|
||||
/index out of bounds/);
|
||||
let v = new Uint8Array(ins.exports.mem.buffer);
|
||||
for (let i=0; i < backup; i++)
|
||||
assertEq(v[offs+i], val);
|
||||
assertEq(v[offs+i], 0);
|
||||
for (let i=0; i < offs; i++)
|
||||
assertEq(v[i], 0);
|
||||
}
|
||||
@ -45,8 +46,8 @@ mem_fill(2, 4, "shared", 256);
|
||||
mem_fill(2, 4, "shared", 257);
|
||||
mem_fill(2, 4, "shared", 257, 0xFFFFFFFF); // offs + len overflows 32-bit
|
||||
|
||||
// memory.init: out of bounds of the memory or the segment, but should perform
|
||||
// the operation up to the appropriate bound.
|
||||
// memory.init: out of bounds of the memory or the segment, and should not perform
|
||||
// the operation at all.
|
||||
//
|
||||
// Arithmetic overflow of memoffset + len or of bufferoffset + len should not
|
||||
// affect the behavior.
|
||||
@ -61,22 +62,18 @@ function mem_init(min, max, shared, backup, write) {
|
||||
(data "\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42\\42")
|
||||
(func (export "run") (param $offs i32) (param $len i32)
|
||||
(memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))`);
|
||||
// A fill writing past the end of the memory should throw *and* have filled
|
||||
// A fill writing past the end of the memory should throw *and* not have filled
|
||||
// all the way up to the end.
|
||||
//
|
||||
// A fill reading past the end of the segment should throw *and* have filled
|
||||
// A fill reading past the end of the segment should throw *and* not have filled
|
||||
// memory with as much data as was available.
|
||||
let offs = min*PAGESIZE - backup;
|
||||
assertErrorMessage(() => ins.exports.run(offs, write),
|
||||
WebAssembly.RuntimeError,
|
||||
/index out of bounds/);
|
||||
let v = new Uint8Array(ins.exports.mem.buffer);
|
||||
for (let i=0; i < Math.min(backup, mem_init_len); i++)
|
||||
assertEq(v[offs + i], 0x42);
|
||||
for (let i=Math.min(backup, mem_init_len); i < backup; i++)
|
||||
for (let i=0; i < min; i++)
|
||||
assertEq(v[offs + i], 0);
|
||||
for (let i=0; i < offs; i++)
|
||||
assertEq(v[i], 0);
|
||||
}
|
||||
|
||||
// We exceed the bounds of the memory but not of the data segment
|
||||
@ -97,8 +94,8 @@ mem_init(1, "", "", Math.floor(mem_init_len/2), 0xFFFFFF00);
|
||||
// We arithmetically overflow the segment limit but not the memory limit
|
||||
mem_init(1, "", "", PAGESIZE, 0xFFFFFFFC);
|
||||
|
||||
// memory.copy: out of bounds of the memory for the source or target, but should
|
||||
// perform the operation up to the appropriate bound. Major cases:
|
||||
// memory.copy: out of bounds of the memory for the source or target, and should
|
||||
// not perform at all. Major cases:
|
||||
//
|
||||
// - non-overlapping regions
|
||||
// - overlapping regions with src >= dest
|
||||
@ -125,9 +122,7 @@ function mem_copy(min, max, shared, srcOffs, targetOffs, len) {
|
||||
let copyDown = srcOffs < targetOffs;
|
||||
let targetAvail = v.length - targetOffs;
|
||||
let srcAvail = v.length - srcOffs;
|
||||
let targetLim = targetOffs + Math.min(len, targetAvail, srcAvail);
|
||||
let srcLim = srcOffs + Math.min(len, targetAvail, srcAvail);
|
||||
let immediateOOB = copyDown && (srcOffs + len > v.length || targetOffs + len > v.length);
|
||||
|
||||
for (let i=srcOffs, j=0; i < srcLim; i++, j++)
|
||||
v[i] = j;
|
||||
@ -135,38 +130,10 @@ function mem_copy(min, max, shared, srcOffs, targetOffs, len) {
|
||||
WebAssembly.RuntimeError,
|
||||
/index out of bounds/);
|
||||
|
||||
// :lth wants lambda-lifting and closure optimizations
|
||||
var t = 0;
|
||||
var s = 0;
|
||||
var i = 0;
|
||||
function checkTarget() {
|
||||
if (i >= targetOffs && i < targetLim) {
|
||||
assertEq(v[i], (t++) & 0xFF);
|
||||
if (i >= srcOffs && i < srcLim)
|
||||
s++;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkSource() {
|
||||
for (var i=0, s=0; i < v.length; i++ ) {
|
||||
if (i >= srcOffs && i < srcLim) {
|
||||
assertEq(v[i], (s++) & 0xFF);
|
||||
if (i >= targetOffs && i < targetLim)
|
||||
t++;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
for (i=0; i < v.length; i++ ) {
|
||||
if (immediateOOB) {
|
||||
if (checkSource())
|
||||
continue;
|
||||
} else {
|
||||
if (copyDown && (checkSource() || checkTarget()))
|
||||
continue;
|
||||
if (!copyDown && (checkTarget() || checkSource()))
|
||||
continue;
|
||||
continue;
|
||||
}
|
||||
assertEq(v[i], 0);
|
||||
}
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
// Sundry test cases for the "partial write" bounds checking semantics.
|
||||
|
||||
// table.init: out of bounds of the table or the element segment, but should
|
||||
// perform the operation up to the appropriate bound.
|
||||
// table.init: out of bounds of the table or the element segment, and should
|
||||
// not perform the operation at all.
|
||||
//
|
||||
// Arithmetic overflow of tableoffset + len or of segmentoffset + len should not
|
||||
// affect the behavior.
|
||||
@ -44,13 +44,9 @@ function tbl_init(min, max, backup, write, segoffs=0) {
|
||||
WebAssembly.RuntimeError,
|
||||
/index out of bounds/);
|
||||
let tbl = ins.exports.tbl;
|
||||
for (let i=0; i < Math.min(backup, tbl_init_len - segoffs); i++) {
|
||||
assertEq(tbl.get(offs + i), ins.exports["f" + (i + segoffs)]);
|
||||
}
|
||||
for (let i=Math.min(backup, tbl_init_len); i < backup; i++)
|
||||
assertEq(tbl.get(offs + i), null);
|
||||
for (let i=0; i < offs; i++)
|
||||
for (let i=0; i < min; i++) {
|
||||
assertEq(tbl.get(i), null);
|
||||
}
|
||||
}
|
||||
|
||||
// We exceed the bounds of the table but not of the element segment
|
||||
@ -67,8 +63,8 @@ tbl_init(tbl_init_len*4, tbl_init_len*4, tbl_init_len, 0xFFFFFFF0);
|
||||
// We arithmetically overflow the segment limit but not the table limit
|
||||
tbl_init(tbl_init_len, tbl_init_len, tbl_init_len, 0xFFFFFFFC, Math.floor(tbl_init_len/2));
|
||||
|
||||
// table.copy: out of bounds of the table for the source or target, but should
|
||||
// perform the operation up to the appropriate bound. Major cases:
|
||||
// table.copy: out of bounds of the table for the source or target, and should
|
||||
// perform the operation at all. Major cases:
|
||||
//
|
||||
// - non-overlapping regions
|
||||
// - overlapping regions with src > dest
|
||||
@ -116,9 +112,7 @@ function tbl_copy(min, max, srcOffs, targetOffs, len) {
|
||||
let copyDown = srcOffs < targetOffs;
|
||||
let targetAvail = tbl.length - targetOffs;
|
||||
let srcAvail = tbl.length - srcOffs;
|
||||
let targetLim = targetOffs + Math.min(len, targetAvail, srcAvail);
|
||||
let srcLim = srcOffs + Math.min(len, targetAvail, srcAvail);
|
||||
let immediateOOB = copyDown && (srcOffs + len > tbl.length || targetOffs + len > tbl.length);
|
||||
|
||||
for (let i=srcOffs, j=0; i < srcLim; i++, j++)
|
||||
tbl.set(i, ins.exports["f" + j]);
|
||||
@ -126,37 +120,10 @@ function tbl_copy(min, max, srcOffs, targetOffs, len) {
|
||||
WebAssembly.RuntimeError,
|
||||
/index out of bounds/);
|
||||
|
||||
var t = 0;
|
||||
var s = 0;
|
||||
var i = 0;
|
||||
function checkTarget() {
|
||||
if (i >= targetOffs && i < targetLim) {
|
||||
assertEq(tbl.get(i), ins.exports["f" + (t++)]);
|
||||
if (i >= srcOffs && i < srcLim)
|
||||
s++;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function checkSource() {
|
||||
for (var i=0, s=0; i < tbl.length; i++ ) {
|
||||
if (i >= srcOffs && i < srcLim) {
|
||||
assertEq(tbl.get(i), ins.exports["f" + (s++)]);
|
||||
if (i >= targetOffs && i < targetLim)
|
||||
t++;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
for (i=0; i < tbl.length; i++ ) {
|
||||
if (immediateOOB) {
|
||||
if (checkSource())
|
||||
continue;
|
||||
} else {
|
||||
if (copyDown && (checkSource() || checkTarget()))
|
||||
continue;
|
||||
if (!copyDown && (checkTarget() || checkSource()))
|
||||
continue;
|
||||
continue;
|
||||
}
|
||||
assertEq(tbl.get(i), null);
|
||||
}
|
||||
|
@ -42,10 +42,10 @@ run(() => call($3, "fill", [0, 0, 65_536]));
|
||||
assert_trap(() => call($3, "fill", [65_280, 1, 257]));
|
||||
|
||||
// bulk.wast:45
|
||||
assert_return(() => call($3, "load8_u", [65_280]), 1);
|
||||
assert_return(() => call($3, "load8_u", [65_280]), 0);
|
||||
|
||||
// bulk.wast:46
|
||||
assert_return(() => call($3, "load8_u", [65_535]), 1);
|
||||
assert_return(() => call($3, "load8_u", [65_535]), 0);
|
||||
|
||||
// bulk.wast:49
|
||||
run(() => call($3, "fill", [65_536, 0, 0]));
|
||||
@ -156,16 +156,16 @@ assert_return(() => call($5, "load8_u", [1]), 204);
|
||||
assert_return(() => call($5, "load8_u", [2]), 0);
|
||||
|
||||
// bulk.wast:132
|
||||
run(() => call($5, "init", [65_532, 0, 4]));
|
||||
|
||||
// bulk.wast:135
|
||||
assert_trap(() => call($5, "init", [65_534, 0, 3]));
|
||||
|
||||
// bulk.wast:137
|
||||
assert_return(() => call($5, "load8_u", [65_534]), 170);
|
||||
// bulk.wast:134
|
||||
assert_return(() => call($5, "load8_u", [65_534]), 0);
|
||||
|
||||
// bulk.wast:135
|
||||
assert_return(() => call($5, "load8_u", [65_535]), 0);
|
||||
|
||||
// bulk.wast:138
|
||||
assert_return(() => call($5, "load8_u", [65_535]), 187);
|
||||
run(() => call($5, "init", [65_532, 0, 4]));
|
||||
|
||||
// bulk.wast:141
|
||||
run(() => call($5, "init", [65_536, 0, 0]));
|
||||
@ -203,113 +203,113 @@ assert_trap(() => call($6, "init_active", []));
|
||||
// bulk.wast:172
|
||||
let $7 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x03\x60\x00\x01\x7f\x60\x03\x7f\x7f\x7f\x00\x60\x01\x7f\x01\x7f\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x02\x04\x84\x80\x80\x80\x00\x01\x70\x00\x03\x07\x8f\x80\x80\x80\x00\x02\x04\x69\x6e\x69\x74\x00\x02\x04\x63\x61\x6c\x6c\x00\x03\x09\x90\x80\x80\x80\x00\x01\x05\x70\x04\xd2\x00\x0b\xd2\x01\x0b\xd2\x00\x0b\xd2\x01\x0b\x0a\xb0\x80\x80\x80\x00\x04\x84\x80\x80\x80\x00\x00\x41\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x01\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xfc\x0c\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b");
|
||||
|
||||
// bulk.wast:191
|
||||
run(() => call($7, "init", [0, 1, 2]));
|
||||
|
||||
// bulk.wast:192
|
||||
assert_return(() => call($7, "call", [0]), 1);
|
||||
|
||||
// bulk.wast:193
|
||||
assert_return(() => call($7, "call", [1]), 0);
|
||||
assert_trap(() => call($7, "init", [2, 0, 2]));
|
||||
|
||||
// bulk.wast:194
|
||||
assert_trap(() => call($7, "call", [2]));
|
||||
|
||||
// bulk.wast:197
|
||||
run(() => call($7, "init", [1, 2, 2]));
|
||||
run(() => call($7, "init", [0, 1, 2]));
|
||||
|
||||
// bulk.wast:198
|
||||
assert_return(() => call($7, "call", [0]), 1);
|
||||
|
||||
// bulk.wast:199
|
||||
assert_return(() => call($7, "call", [1]), 0);
|
||||
|
||||
// bulk.wast:200
|
||||
assert_trap(() => call($7, "init", [2, 0, 2]));
|
||||
assert_trap(() => call($7, "call", [2]));
|
||||
|
||||
// bulk.wast:202
|
||||
assert_return(() => call($7, "call", [2]), 0);
|
||||
|
||||
// bulk.wast:205
|
||||
run(() => call($7, "init", [3, 0, 0]));
|
||||
// bulk.wast:203
|
||||
run(() => call($7, "init", [1, 2, 2]));
|
||||
|
||||
// bulk.wast:206
|
||||
run(() => call($7, "init", [3, 0, 0]));
|
||||
|
||||
// bulk.wast:207
|
||||
run(() => call($7, "init", [0, 4, 0]));
|
||||
|
||||
// bulk.wast:209
|
||||
// bulk.wast:210
|
||||
run(() => call($7, "init", [4, 0, 0]));
|
||||
|
||||
// bulk.wast:210
|
||||
// bulk.wast:211
|
||||
run(() => call($7, "init", [0, 5, 0]));
|
||||
|
||||
// bulk.wast:214
|
||||
// bulk.wast:215
|
||||
let $8 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x86\x80\x80\x80\x00\x05\x00\x00\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x01\x07\xbb\x80\x80\x80\x00\x04\x0c\x64\x72\x6f\x70\x5f\x70\x61\x73\x73\x69\x76\x65\x00\x01\x0c\x69\x6e\x69\x74\x5f\x70\x61\x73\x73\x69\x76\x65\x00\x02\x0b\x64\x72\x6f\x70\x5f\x61\x63\x74\x69\x76\x65\x00\x03\x0b\x69\x6e\x69\x74\x5f\x61\x63\x74\x69\x76\x65\x00\x04\x09\x8d\x80\x80\x80\x00\x02\x05\x70\x01\xd2\x00\x0b\x00\x41\x00\x0b\x01\x00\x0a\xbe\x80\x80\x80\x00\x05\x82\x80\x80\x80\x00\x00\x0b\x85\x80\x80\x80\x00\x00\xfc\x0d\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x00\x41\x00\x41\x00\xfc\x0c\x00\x00\x0b\x85\x80\x80\x80\x00\x00\xfc\x0d\x01\x0b\x8c\x80\x80\x80\x00\x00\x41\x00\x41\x00\x41\x00\xfc\x0c\x01\x00\x0b");
|
||||
|
||||
// bulk.wast:229
|
||||
// bulk.wast:230
|
||||
run(() => call($8, "init_passive", []));
|
||||
|
||||
// bulk.wast:230
|
||||
// bulk.wast:231
|
||||
run(() => call($8, "drop_passive", []));
|
||||
|
||||
// bulk.wast:231
|
||||
// bulk.wast:232
|
||||
assert_trap(() => call($8, "drop_passive", []));
|
||||
|
||||
// bulk.wast:232
|
||||
// bulk.wast:233
|
||||
assert_trap(() => call($8, "init_passive", []));
|
||||
|
||||
// bulk.wast:233
|
||||
// bulk.wast:234
|
||||
assert_trap(() => call($8, "drop_active", []));
|
||||
|
||||
// bulk.wast:234
|
||||
// bulk.wast:235
|
||||
assert_trap(() => call($8, "init_active", []));
|
||||
|
||||
// bulk.wast:238
|
||||
// bulk.wast:239
|
||||
let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x03\x60\x00\x01\x7f\x60\x03\x7f\x7f\x7f\x00\x60\x01\x7f\x01\x7f\x03\x86\x80\x80\x80\x00\x05\x00\x00\x00\x01\x02\x04\x84\x80\x80\x80\x00\x01\x70\x00\x0a\x07\x8f\x80\x80\x80\x00\x02\x04\x63\x6f\x70\x79\x00\x03\x04\x63\x61\x6c\x6c\x00\x04\x09\x89\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x03\x00\x01\x02\x0a\xb9\x80\x80\x80\x00\x05\x84\x80\x80\x80\x00\x00\x41\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x01\x0b\x84\x80\x80\x80\x00\x00\x41\x02\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xfc\x0e\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b");
|
||||
|
||||
// bulk.wast:257
|
||||
// bulk.wast:258
|
||||
run(() => call($9, "copy", [3, 0, 3]));
|
||||
|
||||
// bulk.wast:259
|
||||
// bulk.wast:260
|
||||
assert_return(() => call($9, "call", [3]), 0);
|
||||
|
||||
// bulk.wast:260
|
||||
// bulk.wast:261
|
||||
assert_return(() => call($9, "call", [4]), 1);
|
||||
|
||||
// bulk.wast:261
|
||||
// bulk.wast:262
|
||||
assert_return(() => call($9, "call", [5]), 2);
|
||||
|
||||
// bulk.wast:264
|
||||
// bulk.wast:265
|
||||
run(() => call($9, "copy", [0, 1, 3]));
|
||||
|
||||
// bulk.wast:266
|
||||
// bulk.wast:267
|
||||
assert_return(() => call($9, "call", [0]), 1);
|
||||
|
||||
// bulk.wast:267
|
||||
// bulk.wast:268
|
||||
assert_return(() => call($9, "call", [1]), 2);
|
||||
|
||||
// bulk.wast:268
|
||||
// bulk.wast:269
|
||||
assert_return(() => call($9, "call", [2]), 0);
|
||||
|
||||
// bulk.wast:271
|
||||
// bulk.wast:272
|
||||
run(() => call($9, "copy", [2, 0, 3]));
|
||||
|
||||
// bulk.wast:273
|
||||
// bulk.wast:274
|
||||
assert_return(() => call($9, "call", [2]), 1);
|
||||
|
||||
// bulk.wast:274
|
||||
// bulk.wast:275
|
||||
assert_return(() => call($9, "call", [3]), 2);
|
||||
|
||||
// bulk.wast:275
|
||||
// bulk.wast:276
|
||||
assert_return(() => call($9, "call", [4]), 0);
|
||||
|
||||
// bulk.wast:278
|
||||
// bulk.wast:279
|
||||
run(() => call($9, "copy", [6, 8, 2]));
|
||||
|
||||
// bulk.wast:279
|
||||
// bulk.wast:280
|
||||
run(() => call($9, "copy", [8, 6, 2]));
|
||||
|
||||
// bulk.wast:282
|
||||
// bulk.wast:283
|
||||
run(() => call($9, "copy", [10, 0, 0]));
|
||||
|
||||
// bulk.wast:283
|
||||
// bulk.wast:284
|
||||
run(() => call($9, "copy", [0, 10, 0]));
|
||||
|
||||
// bulk.wast:286
|
||||
// bulk.wast:287
|
||||
run(() => call($9, "copy", [11, 0, 0]));
|
||||
|
||||
// bulk.wast:287
|
||||
// bulk.wast:288
|
||||
run(() => call($9, "copy", [0, 11, 0]));
|
||||
|
File diff suppressed because one or more lines are too long
@ -279,31 +279,22 @@ let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8e\x80\x80\x80\x00\x02\
|
||||
assert_trap(() => call($9, "run", [65_280, 37, 512]));
|
||||
|
||||
// memory_fill.wast:640
|
||||
assert_return(() => call($9, "checkRange", [65_280, 65_536, 37]), -1);
|
||||
assert_return(() => call($9, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_fill.wast:642
|
||||
assert_return(() => call($9, "checkRange", [0, 65_280, 0]), -1);
|
||||
|
||||
// memory_fill.wast:644
|
||||
let $10 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8e\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xfc\x0b\x00\x0b");
|
||||
|
||||
// memory_fill.wast:661
|
||||
// memory_fill.wast:659
|
||||
assert_trap(() => call($10, "run", [65_279, 37, 514]));
|
||||
|
||||
// memory_fill.wast:662
|
||||
assert_return(() => call($10, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_fill.wast:664
|
||||
assert_return(() => call($10, "checkRange", [65_279, 65_536, 37]), -1);
|
||||
|
||||
// memory_fill.wast:666
|
||||
assert_return(() => call($10, "checkRange", [0, 65_279, 0]), -1);
|
||||
|
||||
// memory_fill.wast:668
|
||||
let $11 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8e\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xfc\x0b\x00\x0b");
|
||||
|
||||
// memory_fill.wast:685
|
||||
// memory_fill.wast:681
|
||||
assert_trap(() => call($11, "run", [65_279, 37, -1]));
|
||||
|
||||
// memory_fill.wast:688
|
||||
assert_return(() => call($11, "checkRange", [65_279, 65_536, 37]), -1);
|
||||
|
||||
// memory_fill.wast:690
|
||||
assert_return(() => call($11, "checkRange", [0, 65_279, 0]), -1);
|
||||
// memory_fill.wast:684
|
||||
assert_return(() => call($11, "checkRange", [0, 1, 0]), -1);
|
||||
|
@ -663,85 +663,49 @@ let $17 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02
|
||||
assert_trap(() => call($17, "run", [65_528, 16]));
|
||||
|
||||
// memory_init.wast:828
|
||||
assert_return(() => call($17, "checkRange", [0, 65_528, 0]), -1);
|
||||
assert_return(() => call($17, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_init.wast:830
|
||||
assert_return(() => call($17, "checkRange", [65_528, 65_536, 66]), -1);
|
||||
|
||||
// memory_init.wast:832
|
||||
assert_return(() => call($17, "checkRange", [65_536, 65_536, 0]), -1);
|
||||
|
||||
// memory_init.wast:834
|
||||
let $18 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0c\x81\x80\x80\x80\x00\x01\x0a\xbe\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x41\x00\x20\x01\xfc\x08\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x01\x01\x10\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42");
|
||||
|
||||
// memory_init.wast:852
|
||||
// memory_init.wast:848
|
||||
assert_trap(() => call($18, "run", [65_527, 16]));
|
||||
|
||||
// memory_init.wast:855
|
||||
assert_return(() => call($18, "checkRange", [0, 65_527, 0]), -1);
|
||||
// memory_init.wast:851
|
||||
assert_return(() => call($18, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_init.wast:857
|
||||
assert_return(() => call($18, "checkRange", [65_527, 65_536, 66]), -1);
|
||||
|
||||
// memory_init.wast:859
|
||||
assert_return(() => call($18, "checkRange", [65_536, 65_536, 0]), -1);
|
||||
|
||||
// memory_init.wast:861
|
||||
// memory_init.wast:853
|
||||
let $19 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0c\x81\x80\x80\x80\x00\x01\x0a\xbe\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x41\x00\x20\x01\xfc\x08\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x01\x01\x10\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42");
|
||||
|
||||
// memory_init.wast:879
|
||||
// memory_init.wast:871
|
||||
assert_trap(() => call($19, "run", [65_472, 30]));
|
||||
|
||||
// memory_init.wast:882
|
||||
assert_return(() => call($19, "checkRange", [0, 65_472, 0]), -1);
|
||||
// memory_init.wast:874
|
||||
assert_return(() => call($19, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_init.wast:884
|
||||
assert_return(() => call($19, "checkRange", [65_472, 65_488, 66]), -1);
|
||||
|
||||
// memory_init.wast:886
|
||||
assert_return(() => call($19, "checkRange", [65_488, 65_536, 0]), -1);
|
||||
|
||||
// memory_init.wast:888
|
||||
// memory_init.wast:876
|
||||
let $20 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0c\x81\x80\x80\x80\x00\x01\x0a\xbe\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x41\x00\x20\x01\xfc\x08\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x01\x01\x10\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42");
|
||||
|
||||
// memory_init.wast:906
|
||||
// memory_init.wast:894
|
||||
assert_trap(() => call($20, "run", [65_473, 31]));
|
||||
|
||||
// memory_init.wast:909
|
||||
assert_return(() => call($20, "checkRange", [0, 65_473, 0]), -1);
|
||||
// memory_init.wast:897
|
||||
assert_return(() => call($20, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_init.wast:911
|
||||
assert_return(() => call($20, "checkRange", [65_473, 65_489, 66]), -1);
|
||||
|
||||
// memory_init.wast:913
|
||||
assert_return(() => call($20, "checkRange", [65_489, 65_536, 0]), -1);
|
||||
|
||||
// memory_init.wast:915
|
||||
// memory_init.wast:899
|
||||
let $21 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0c\x81\x80\x80\x80\x00\x01\x0a\xbe\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x41\x00\x20\x01\xfc\x08\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x01\x01\x10\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42");
|
||||
|
||||
// memory_init.wast:933
|
||||
// memory_init.wast:917
|
||||
assert_trap(() => call($21, "run", [65_528, -256]));
|
||||
|
||||
// memory_init.wast:936
|
||||
assert_return(() => call($21, "checkRange", [0, 65_528, 0]), -1);
|
||||
// memory_init.wast:920
|
||||
assert_return(() => call($21, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_init.wast:938
|
||||
assert_return(() => call($21, "checkRange", [65_528, 65_536, 66]), -1);
|
||||
|
||||
// memory_init.wast:940
|
||||
assert_return(() => call($21, "checkRange", [65_536, 65_536, 0]), -1);
|
||||
|
||||
// memory_init.wast:942
|
||||
// memory_init.wast:922
|
||||
let $22 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0c\x81\x80\x80\x80\x00\x01\x0a\xbe\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x41\x00\x20\x01\xfc\x08\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x01\x01\x10\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42");
|
||||
|
||||
// memory_init.wast:960
|
||||
// memory_init.wast:940
|
||||
assert_trap(() => call($22, "run", [0, -4]));
|
||||
|
||||
// memory_init.wast:963
|
||||
assert_return(() => call($22, "checkRange", [0, 0, 0]), -1);
|
||||
|
||||
// memory_init.wast:965
|
||||
assert_return(() => call($22, "checkRange", [0, 16, 66]), -1);
|
||||
|
||||
// memory_init.wast:967
|
||||
assert_return(() => call($22, "checkRange", [16, 65_536, 0]), -1);
|
||||
// memory_init.wast:943
|
||||
assert_return(() => call($22, "checkRange", [0, 1, 0]), -1);
|
||||
|
@ -1044,28 +1044,28 @@ let $22 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x03
|
||||
assert_trap(() => call($22, "run", [0, 24, 16]));
|
||||
|
||||
// table_copy.wast:860
|
||||
assert_return(() => call($22, "test", [0]), 0);
|
||||
assert_trap(() => call($22, "test", [0]));
|
||||
|
||||
// table_copy.wast:861
|
||||
assert_return(() => call($22, "test", [1]), 1);
|
||||
assert_trap(() => call($22, "test", [1]));
|
||||
|
||||
// table_copy.wast:862
|
||||
assert_return(() => call($22, "test", [2]), 2);
|
||||
assert_trap(() => call($22, "test", [2]));
|
||||
|
||||
// table_copy.wast:863
|
||||
assert_return(() => call($22, "test", [3]), 3);
|
||||
assert_trap(() => call($22, "test", [3]));
|
||||
|
||||
// table_copy.wast:864
|
||||
assert_return(() => call($22, "test", [4]), 4);
|
||||
assert_trap(() => call($22, "test", [4]));
|
||||
|
||||
// table_copy.wast:865
|
||||
assert_return(() => call($22, "test", [5]), 5);
|
||||
assert_trap(() => call($22, "test", [5]));
|
||||
|
||||
// table_copy.wast:866
|
||||
assert_return(() => call($22, "test", [6]), 6);
|
||||
assert_trap(() => call($22, "test", [6]));
|
||||
|
||||
// table_copy.wast:867
|
||||
assert_return(() => call($22, "test", [7]), 7);
|
||||
assert_trap(() => call($22, "test", [7]));
|
||||
|
||||
// table_copy.wast:868
|
||||
assert_trap(() => call($22, "test", [8]));
|
||||
@ -1146,31 +1146,31 @@ let $23 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x03
|
||||
assert_trap(() => call($23, "run", [0, 23, 15]));
|
||||
|
||||
// table_copy.wast:921
|
||||
assert_return(() => call($23, "test", [0]), 0);
|
||||
assert_trap(() => call($23, "test", [0]));
|
||||
|
||||
// table_copy.wast:922
|
||||
assert_return(() => call($23, "test", [1]), 1);
|
||||
assert_trap(() => call($23, "test", [1]));
|
||||
|
||||
// table_copy.wast:923
|
||||
assert_return(() => call($23, "test", [2]), 2);
|
||||
assert_trap(() => call($23, "test", [2]));
|
||||
|
||||
// table_copy.wast:924
|
||||
assert_return(() => call($23, "test", [3]), 3);
|
||||
assert_trap(() => call($23, "test", [3]));
|
||||
|
||||
// table_copy.wast:925
|
||||
assert_return(() => call($23, "test", [4]), 4);
|
||||
assert_trap(() => call($23, "test", [4]));
|
||||
|
||||
// table_copy.wast:926
|
||||
assert_return(() => call($23, "test", [5]), 5);
|
||||
assert_trap(() => call($23, "test", [5]));
|
||||
|
||||
// table_copy.wast:927
|
||||
assert_return(() => call($23, "test", [6]), 6);
|
||||
assert_trap(() => call($23, "test", [6]));
|
||||
|
||||
// table_copy.wast:928
|
||||
assert_return(() => call($23, "test", [7]), 7);
|
||||
assert_trap(() => call($23, "test", [7]));
|
||||
|
||||
// table_copy.wast:929
|
||||
assert_return(() => call($23, "test", [8]), 8);
|
||||
assert_trap(() => call($23, "test", [8]));
|
||||
|
||||
// table_copy.wast:930
|
||||
assert_trap(() => call($23, "test", [9]));
|
||||
@ -1383,28 +1383,28 @@ assert_trap(() => call($25, "test", [9]));
|
||||
assert_trap(() => call($25, "test", [10]));
|
||||
|
||||
// table_copy.wast:1054
|
||||
assert_return(() => call($25, "test", [11]), 0);
|
||||
assert_trap(() => call($25, "test", [11]));
|
||||
|
||||
// table_copy.wast:1055
|
||||
assert_return(() => call($25, "test", [12]), 1);
|
||||
assert_trap(() => call($25, "test", [12]));
|
||||
|
||||
// table_copy.wast:1056
|
||||
assert_return(() => call($25, "test", [13]), 2);
|
||||
assert_trap(() => call($25, "test", [13]));
|
||||
|
||||
// table_copy.wast:1057
|
||||
assert_return(() => call($25, "test", [14]), 3);
|
||||
assert_trap(() => call($25, "test", [14]));
|
||||
|
||||
// table_copy.wast:1058
|
||||
assert_return(() => call($25, "test", [15]), 4);
|
||||
assert_trap(() => call($25, "test", [15]));
|
||||
|
||||
// table_copy.wast:1059
|
||||
assert_return(() => call($25, "test", [16]), 5);
|
||||
assert_trap(() => call($25, "test", [16]));
|
||||
|
||||
// table_copy.wast:1060
|
||||
assert_return(() => call($25, "test", [17]), 6);
|
||||
assert_trap(() => call($25, "test", [17]));
|
||||
|
||||
// table_copy.wast:1061
|
||||
assert_return(() => call($25, "test", [18]), 7);
|
||||
assert_trap(() => call($25, "test", [18]));
|
||||
|
||||
// table_copy.wast:1062
|
||||
assert_trap(() => call($25, "test", [19]));
|
||||
@ -1617,28 +1617,28 @@ assert_trap(() => call($27, "test", [19]));
|
||||
assert_trap(() => call($27, "test", [20]));
|
||||
|
||||
// table_copy.wast:1186
|
||||
assert_return(() => call($27, "test", [21]), 0);
|
||||
assert_trap(() => call($27, "test", [21]));
|
||||
|
||||
// table_copy.wast:1187
|
||||
assert_return(() => call($27, "test", [22]), 1);
|
||||
assert_trap(() => call($27, "test", [22]));
|
||||
|
||||
// table_copy.wast:1188
|
||||
assert_return(() => call($27, "test", [23]), 2);
|
||||
assert_trap(() => call($27, "test", [23]));
|
||||
|
||||
// table_copy.wast:1189
|
||||
assert_return(() => call($27, "test", [24]), 3);
|
||||
assert_return(() => call($27, "test", [24]), 0);
|
||||
|
||||
// table_copy.wast:1190
|
||||
assert_return(() => call($27, "test", [25]), 4);
|
||||
assert_return(() => call($27, "test", [25]), 1);
|
||||
|
||||
// table_copy.wast:1191
|
||||
assert_return(() => call($27, "test", [26]), 5);
|
||||
assert_return(() => call($27, "test", [26]), 2);
|
||||
|
||||
// table_copy.wast:1192
|
||||
assert_return(() => call($27, "test", [27]), 6);
|
||||
assert_return(() => call($27, "test", [27]), 3);
|
||||
|
||||
// table_copy.wast:1193
|
||||
assert_return(() => call($27, "test", [28]), 7);
|
||||
assert_return(() => call($27, "test", [28]), 4);
|
||||
|
||||
// table_copy.wast:1194
|
||||
assert_return(() => call($27, "test", [29]), 5);
|
||||
@ -1758,52 +1758,52 @@ let $29 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x03
|
||||
assert_trap(() => call($29, "run", [0, 112, -32]));
|
||||
|
||||
// table_copy.wast:1287
|
||||
assert_return(() => call($29, "test", [0]), 0);
|
||||
assert_trap(() => call($29, "test", [0]));
|
||||
|
||||
// table_copy.wast:1288
|
||||
assert_return(() => call($29, "test", [1]), 1);
|
||||
assert_trap(() => call($29, "test", [1]));
|
||||
|
||||
// table_copy.wast:1289
|
||||
assert_return(() => call($29, "test", [2]), 2);
|
||||
assert_trap(() => call($29, "test", [2]));
|
||||
|
||||
// table_copy.wast:1290
|
||||
assert_return(() => call($29, "test", [3]), 3);
|
||||
assert_trap(() => call($29, "test", [3]));
|
||||
|
||||
// table_copy.wast:1291
|
||||
assert_return(() => call($29, "test", [4]), 4);
|
||||
assert_trap(() => call($29, "test", [4]));
|
||||
|
||||
// table_copy.wast:1292
|
||||
assert_return(() => call($29, "test", [5]), 5);
|
||||
assert_trap(() => call($29, "test", [5]));
|
||||
|
||||
// table_copy.wast:1293
|
||||
assert_return(() => call($29, "test", [6]), 6);
|
||||
assert_trap(() => call($29, "test", [6]));
|
||||
|
||||
// table_copy.wast:1294
|
||||
assert_return(() => call($29, "test", [7]), 7);
|
||||
assert_trap(() => call($29, "test", [7]));
|
||||
|
||||
// table_copy.wast:1295
|
||||
assert_return(() => call($29, "test", [8]), 8);
|
||||
assert_trap(() => call($29, "test", [8]));
|
||||
|
||||
// table_copy.wast:1296
|
||||
assert_return(() => call($29, "test", [9]), 9);
|
||||
assert_trap(() => call($29, "test", [9]));
|
||||
|
||||
// table_copy.wast:1297
|
||||
assert_return(() => call($29, "test", [10]), 10);
|
||||
assert_trap(() => call($29, "test", [10]));
|
||||
|
||||
// table_copy.wast:1298
|
||||
assert_return(() => call($29, "test", [11]), 11);
|
||||
assert_trap(() => call($29, "test", [11]));
|
||||
|
||||
// table_copy.wast:1299
|
||||
assert_return(() => call($29, "test", [12]), 12);
|
||||
assert_trap(() => call($29, "test", [12]));
|
||||
|
||||
// table_copy.wast:1300
|
||||
assert_return(() => call($29, "test", [13]), 13);
|
||||
assert_trap(() => call($29, "test", [13]));
|
||||
|
||||
// table_copy.wast:1301
|
||||
assert_return(() => call($29, "test", [14]), 14);
|
||||
assert_trap(() => call($29, "test", [14]));
|
||||
|
||||
// table_copy.wast:1302
|
||||
assert_return(() => call($29, "test", [15]), 15);
|
||||
assert_trap(() => call($29, "test", [15]));
|
||||
|
||||
// table_copy.wast:1303
|
||||
assert_trap(() => call($29, "test", [16]));
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -43,10 +43,10 @@ run(() => call($3, "fill", [0, 0, 65_536]));
|
||||
assert_trap(() => call($3, "fill", [65_280, 1, 257]));
|
||||
|
||||
// bulk.wast:45
|
||||
assert_return(() => call($3, "load8_u", [65_280]), 1);
|
||||
assert_return(() => call($3, "load8_u", [65_280]), 0);
|
||||
|
||||
// bulk.wast:46
|
||||
assert_return(() => call($3, "load8_u", [65_535]), 1);
|
||||
assert_return(() => call($3, "load8_u", [65_535]), 0);
|
||||
|
||||
// bulk.wast:49
|
||||
run(() => call($3, "fill", [65_536, 0, 0]));
|
||||
@ -157,16 +157,16 @@ assert_return(() => call($5, "load8_u", [1]), 204);
|
||||
assert_return(() => call($5, "load8_u", [2]), 0);
|
||||
|
||||
// bulk.wast:132
|
||||
run(() => call($5, "init", [65_532, 0, 4]));
|
||||
|
||||
// bulk.wast:135
|
||||
assert_trap(() => call($5, "init", [65_534, 0, 3]));
|
||||
|
||||
// bulk.wast:137
|
||||
assert_return(() => call($5, "load8_u", [65_534]), 170);
|
||||
// bulk.wast:134
|
||||
assert_return(() => call($5, "load8_u", [65_534]), 0);
|
||||
|
||||
// bulk.wast:135
|
||||
assert_return(() => call($5, "load8_u", [65_535]), 0);
|
||||
|
||||
// bulk.wast:138
|
||||
assert_return(() => call($5, "load8_u", [65_535]), 187);
|
||||
run(() => call($5, "init", [65_532, 0, 4]));
|
||||
|
||||
// bulk.wast:141
|
||||
run(() => call($5, "init", [65_536, 0, 0]));
|
||||
@ -204,115 +204,115 @@ assert_trap(() => call($6, "init_active", []));
|
||||
// bulk.wast:172
|
||||
let $7 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x03\x60\x00\x01\x7f\x60\x03\x7f\x7f\x7f\x00\x60\x01\x7f\x01\x7f\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x02\x04\x84\x80\x80\x80\x00\x01\x70\x00\x03\x07\x8f\x80\x80\x80\x00\x02\x04\x69\x6e\x69\x74\x00\x02\x04\x63\x61\x6c\x6c\x00\x03\x09\x90\x80\x80\x80\x00\x01\x05\x70\x04\xd2\x00\x0b\xd2\x01\x0b\xd2\x00\x0b\xd2\x01\x0b\x0a\xb0\x80\x80\x80\x00\x04\x84\x80\x80\x80\x00\x00\x41\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x01\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xfc\x0c\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b");
|
||||
|
||||
// bulk.wast:191
|
||||
run(() => call($7, "init", [0, 1, 2]));
|
||||
|
||||
// bulk.wast:192
|
||||
assert_return(() => call($7, "call", [0]), 1);
|
||||
|
||||
// bulk.wast:193
|
||||
assert_return(() => call($7, "call", [1]), 0);
|
||||
assert_trap(() => call($7, "init", [2, 0, 2]));
|
||||
|
||||
// bulk.wast:194
|
||||
assert_trap(() => call($7, "call", [2]));
|
||||
|
||||
// bulk.wast:197
|
||||
run(() => call($7, "init", [1, 2, 2]));
|
||||
run(() => call($7, "init", [0, 1, 2]));
|
||||
|
||||
// bulk.wast:198
|
||||
assert_return(() => call($7, "call", [0]), 1);
|
||||
|
||||
// bulk.wast:199
|
||||
assert_return(() => call($7, "call", [1]), 0);
|
||||
|
||||
// bulk.wast:200
|
||||
assert_trap(() => call($7, "init", [2, 0, 2]));
|
||||
assert_trap(() => call($7, "call", [2]));
|
||||
|
||||
// bulk.wast:202
|
||||
assert_return(() => call($7, "call", [2]), 0);
|
||||
|
||||
// bulk.wast:205
|
||||
run(() => call($7, "init", [3, 0, 0]));
|
||||
// bulk.wast:203
|
||||
run(() => call($7, "init", [1, 2, 2]));
|
||||
|
||||
// bulk.wast:206
|
||||
run(() => call($7, "init", [3, 0, 0]));
|
||||
|
||||
// bulk.wast:207
|
||||
run(() => call($7, "init", [0, 4, 0]));
|
||||
|
||||
// bulk.wast:209
|
||||
// bulk.wast:210
|
||||
run(() => call($7, "init", [4, 0, 0]));
|
||||
|
||||
// bulk.wast:210
|
||||
// bulk.wast:211
|
||||
run(() => call($7, "init", [0, 5, 0]));
|
||||
|
||||
// bulk.wast:214
|
||||
// bulk.wast:215
|
||||
let $8 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x86\x80\x80\x80\x00\x05\x00\x00\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x01\x07\xbb\x80\x80\x80\x00\x04\x0c\x64\x72\x6f\x70\x5f\x70\x61\x73\x73\x69\x76\x65\x00\x01\x0c\x69\x6e\x69\x74\x5f\x70\x61\x73\x73\x69\x76\x65\x00\x02\x0b\x64\x72\x6f\x70\x5f\x61\x63\x74\x69\x76\x65\x00\x03\x0b\x69\x6e\x69\x74\x5f\x61\x63\x74\x69\x76\x65\x00\x04\x09\x8d\x80\x80\x80\x00\x02\x05\x70\x01\xd2\x00\x0b\x00\x41\x00\x0b\x01\x00\x0a\xbe\x80\x80\x80\x00\x05\x82\x80\x80\x80\x00\x00\x0b\x85\x80\x80\x80\x00\x00\xfc\x0d\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x00\x41\x00\x41\x00\xfc\x0c\x00\x00\x0b\x85\x80\x80\x80\x00\x00\xfc\x0d\x01\x0b\x8c\x80\x80\x80\x00\x00\x41\x00\x41\x00\x41\x00\xfc\x0c\x01\x00\x0b");
|
||||
|
||||
// bulk.wast:229
|
||||
// bulk.wast:230
|
||||
run(() => call($8, "init_passive", []));
|
||||
|
||||
// bulk.wast:230
|
||||
// bulk.wast:231
|
||||
run(() => call($8, "drop_passive", []));
|
||||
|
||||
// bulk.wast:231
|
||||
// bulk.wast:232
|
||||
assert_trap(() => call($8, "drop_passive", []));
|
||||
|
||||
// bulk.wast:232
|
||||
// bulk.wast:233
|
||||
assert_trap(() => call($8, "init_passive", []));
|
||||
|
||||
// bulk.wast:233
|
||||
// bulk.wast:234
|
||||
assert_trap(() => call($8, "drop_active", []));
|
||||
|
||||
// bulk.wast:234
|
||||
// bulk.wast:235
|
||||
assert_trap(() => call($8, "init_active", []));
|
||||
|
||||
// bulk.wast:238
|
||||
// bulk.wast:239
|
||||
let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x03\x60\x00\x01\x7f\x60\x03\x7f\x7f\x7f\x00\x60\x01\x7f\x01\x7f\x03\x86\x80\x80\x80\x00\x05\x00\x00\x00\x01\x02\x04\x84\x80\x80\x80\x00\x01\x70\x00\x0a\x07\x8f\x80\x80\x80\x00\x02\x04\x63\x6f\x70\x79\x00\x03\x04\x63\x61\x6c\x6c\x00\x04\x09\x89\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x03\x00\x01\x02\x0a\xb9\x80\x80\x80\x00\x05\x84\x80\x80\x80\x00\x00\x41\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x01\x0b\x84\x80\x80\x80\x00\x00\x41\x02\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xfc\x0e\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b");
|
||||
|
||||
// bulk.wast:257
|
||||
// bulk.wast:258
|
||||
run(() => call($9, "copy", [3, 0, 3]));
|
||||
|
||||
// bulk.wast:259
|
||||
// bulk.wast:260
|
||||
assert_return(() => call($9, "call", [3]), 0);
|
||||
|
||||
// bulk.wast:260
|
||||
// bulk.wast:261
|
||||
assert_return(() => call($9, "call", [4]), 1);
|
||||
|
||||
// bulk.wast:261
|
||||
// bulk.wast:262
|
||||
assert_return(() => call($9, "call", [5]), 2);
|
||||
|
||||
// bulk.wast:264
|
||||
// bulk.wast:265
|
||||
run(() => call($9, "copy", [0, 1, 3]));
|
||||
|
||||
// bulk.wast:266
|
||||
// bulk.wast:267
|
||||
assert_return(() => call($9, "call", [0]), 1);
|
||||
|
||||
// bulk.wast:267
|
||||
// bulk.wast:268
|
||||
assert_return(() => call($9, "call", [1]), 2);
|
||||
|
||||
// bulk.wast:268
|
||||
// bulk.wast:269
|
||||
assert_return(() => call($9, "call", [2]), 0);
|
||||
|
||||
// bulk.wast:271
|
||||
// bulk.wast:272
|
||||
run(() => call($9, "copy", [2, 0, 3]));
|
||||
|
||||
// bulk.wast:273
|
||||
// bulk.wast:274
|
||||
assert_return(() => call($9, "call", [2]), 1);
|
||||
|
||||
// bulk.wast:274
|
||||
// bulk.wast:275
|
||||
assert_return(() => call($9, "call", [3]), 2);
|
||||
|
||||
// bulk.wast:275
|
||||
// bulk.wast:276
|
||||
assert_return(() => call($9, "call", [4]), 0);
|
||||
|
||||
// bulk.wast:278
|
||||
// bulk.wast:279
|
||||
run(() => call($9, "copy", [6, 8, 2]));
|
||||
|
||||
// bulk.wast:279
|
||||
// bulk.wast:280
|
||||
run(() => call($9, "copy", [8, 6, 2]));
|
||||
|
||||
// bulk.wast:282
|
||||
// bulk.wast:283
|
||||
run(() => call($9, "copy", [10, 0, 0]));
|
||||
|
||||
// bulk.wast:283
|
||||
// bulk.wast:284
|
||||
run(() => call($9, "copy", [0, 10, 0]));
|
||||
|
||||
// bulk.wast:286
|
||||
// bulk.wast:287
|
||||
run(() => call($9, "copy", [11, 0, 0]));
|
||||
|
||||
// bulk.wast:287
|
||||
// bulk.wast:288
|
||||
run(() => call($9, "copy", [0, 11, 0]));
|
||||
reinitializeRegistry();
|
||||
})();
|
||||
|
File diff suppressed because one or more lines are too long
@ -280,33 +280,24 @@ let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8e\x80\x80\x80\x00\x02\
|
||||
assert_trap(() => call($9, "run", [65_280, 37, 512]));
|
||||
|
||||
// memory_fill.wast:640
|
||||
assert_return(() => call($9, "checkRange", [65_280, 65_536, 37]), -1);
|
||||
assert_return(() => call($9, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_fill.wast:642
|
||||
assert_return(() => call($9, "checkRange", [0, 65_280, 0]), -1);
|
||||
|
||||
// memory_fill.wast:644
|
||||
let $10 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8e\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xfc\x0b\x00\x0b");
|
||||
|
||||
// memory_fill.wast:661
|
||||
// memory_fill.wast:659
|
||||
assert_trap(() => call($10, "run", [65_279, 37, 514]));
|
||||
|
||||
// memory_fill.wast:662
|
||||
assert_return(() => call($10, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_fill.wast:664
|
||||
assert_return(() => call($10, "checkRange", [65_279, 65_536, 37]), -1);
|
||||
|
||||
// memory_fill.wast:666
|
||||
assert_return(() => call($10, "checkRange", [0, 65_279, 0]), -1);
|
||||
|
||||
// memory_fill.wast:668
|
||||
let $11 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8e\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xfc\x0b\x00\x0b");
|
||||
|
||||
// memory_fill.wast:685
|
||||
// memory_fill.wast:681
|
||||
assert_trap(() => call($11, "run", [65_279, 37, -1]));
|
||||
|
||||
// memory_fill.wast:688
|
||||
assert_return(() => call($11, "checkRange", [65_279, 65_536, 37]), -1);
|
||||
|
||||
// memory_fill.wast:690
|
||||
assert_return(() => call($11, "checkRange", [0, 65_279, 0]), -1);
|
||||
// memory_fill.wast:684
|
||||
assert_return(() => call($11, "checkRange", [0, 1, 0]), -1);
|
||||
reinitializeRegistry();
|
||||
})();
|
||||
|
@ -664,87 +664,51 @@ let $17 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02
|
||||
assert_trap(() => call($17, "run", [65_528, 16]));
|
||||
|
||||
// memory_init.wast:828
|
||||
assert_return(() => call($17, "checkRange", [0, 65_528, 0]), -1);
|
||||
assert_return(() => call($17, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_init.wast:830
|
||||
assert_return(() => call($17, "checkRange", [65_528, 65_536, 66]), -1);
|
||||
|
||||
// memory_init.wast:832
|
||||
assert_return(() => call($17, "checkRange", [65_536, 65_536, 0]), -1);
|
||||
|
||||
// memory_init.wast:834
|
||||
let $18 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0c\x81\x80\x80\x80\x00\x01\x0a\xbe\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x41\x00\x20\x01\xfc\x08\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x01\x01\x10\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42");
|
||||
|
||||
// memory_init.wast:852
|
||||
// memory_init.wast:848
|
||||
assert_trap(() => call($18, "run", [65_527, 16]));
|
||||
|
||||
// memory_init.wast:855
|
||||
assert_return(() => call($18, "checkRange", [0, 65_527, 0]), -1);
|
||||
// memory_init.wast:851
|
||||
assert_return(() => call($18, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_init.wast:857
|
||||
assert_return(() => call($18, "checkRange", [65_527, 65_536, 66]), -1);
|
||||
|
||||
// memory_init.wast:859
|
||||
assert_return(() => call($18, "checkRange", [65_536, 65_536, 0]), -1);
|
||||
|
||||
// memory_init.wast:861
|
||||
// memory_init.wast:853
|
||||
let $19 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0c\x81\x80\x80\x80\x00\x01\x0a\xbe\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x41\x00\x20\x01\xfc\x08\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x01\x01\x10\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42");
|
||||
|
||||
// memory_init.wast:879
|
||||
// memory_init.wast:871
|
||||
assert_trap(() => call($19, "run", [65_472, 30]));
|
||||
|
||||
// memory_init.wast:882
|
||||
assert_return(() => call($19, "checkRange", [0, 65_472, 0]), -1);
|
||||
// memory_init.wast:874
|
||||
assert_return(() => call($19, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_init.wast:884
|
||||
assert_return(() => call($19, "checkRange", [65_472, 65_488, 66]), -1);
|
||||
|
||||
// memory_init.wast:886
|
||||
assert_return(() => call($19, "checkRange", [65_488, 65_536, 0]), -1);
|
||||
|
||||
// memory_init.wast:888
|
||||
// memory_init.wast:876
|
||||
let $20 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0c\x81\x80\x80\x80\x00\x01\x0a\xbe\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x41\x00\x20\x01\xfc\x08\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x01\x01\x10\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42");
|
||||
|
||||
// memory_init.wast:906
|
||||
// memory_init.wast:894
|
||||
assert_trap(() => call($20, "run", [65_473, 31]));
|
||||
|
||||
// memory_init.wast:909
|
||||
assert_return(() => call($20, "checkRange", [0, 65_473, 0]), -1);
|
||||
// memory_init.wast:897
|
||||
assert_return(() => call($20, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_init.wast:911
|
||||
assert_return(() => call($20, "checkRange", [65_473, 65_489, 66]), -1);
|
||||
|
||||
// memory_init.wast:913
|
||||
assert_return(() => call($20, "checkRange", [65_489, 65_536, 0]), -1);
|
||||
|
||||
// memory_init.wast:915
|
||||
// memory_init.wast:899
|
||||
let $21 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0c\x81\x80\x80\x80\x00\x01\x0a\xbe\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x41\x00\x20\x01\xfc\x08\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x01\x01\x10\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42");
|
||||
|
||||
// memory_init.wast:933
|
||||
// memory_init.wast:917
|
||||
assert_trap(() => call($21, "run", [65_528, -256]));
|
||||
|
||||
// memory_init.wast:936
|
||||
assert_return(() => call($21, "checkRange", [0, 65_528, 0]), -1);
|
||||
// memory_init.wast:920
|
||||
assert_return(() => call($21, "checkRange", [0, 1, 0]), -1);
|
||||
|
||||
// memory_init.wast:938
|
||||
assert_return(() => call($21, "checkRange", [65_528, 65_536, 66]), -1);
|
||||
|
||||
// memory_init.wast:940
|
||||
assert_return(() => call($21, "checkRange", [65_536, 65_536, 0]), -1);
|
||||
|
||||
// memory_init.wast:942
|
||||
// memory_init.wast:922
|
||||
let $22 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\x94\x80\x80\x80\x00\x02\x0a\x63\x68\x65\x63\x6b\x52\x61\x6e\x67\x65\x00\x00\x03\x72\x75\x6e\x00\x01\x0c\x81\x80\x80\x80\x00\x01\x0a\xbe\x80\x80\x80\x00\x02\xa7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x01\x46\x04\x40\x41\x7f\x0f\x0b\x20\x00\x2d\x00\x00\x20\x02\x46\x04\x40\x20\x00\x41\x01\x6a\x21\x00\x0c\x01\x0b\x0b\x20\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x41\x00\x20\x01\xfc\x08\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x01\x01\x10\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42");
|
||||
|
||||
// memory_init.wast:960
|
||||
// memory_init.wast:940
|
||||
assert_trap(() => call($22, "run", [0, -4]));
|
||||
|
||||
// memory_init.wast:963
|
||||
assert_return(() => call($22, "checkRange", [0, 0, 0]), -1);
|
||||
|
||||
// memory_init.wast:965
|
||||
assert_return(() => call($22, "checkRange", [0, 16, 66]), -1);
|
||||
|
||||
// memory_init.wast:967
|
||||
assert_return(() => call($22, "checkRange", [16, 65_536, 0]), -1);
|
||||
// memory_init.wast:943
|
||||
assert_return(() => call($22, "checkRange", [0, 1, 0]), -1);
|
||||
reinitializeRegistry();
|
||||
})();
|
||||
|
@ -1045,28 +1045,28 @@ let $22 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x03
|
||||
assert_trap(() => call($22, "run", [0, 24, 16]));
|
||||
|
||||
// table_copy.wast:860
|
||||
assert_return(() => call($22, "test", [0]), 0);
|
||||
assert_trap(() => call($22, "test", [0]));
|
||||
|
||||
// table_copy.wast:861
|
||||
assert_return(() => call($22, "test", [1]), 1);
|
||||
assert_trap(() => call($22, "test", [1]));
|
||||
|
||||
// table_copy.wast:862
|
||||
assert_return(() => call($22, "test", [2]), 2);
|
||||
assert_trap(() => call($22, "test", [2]));
|
||||
|
||||
// table_copy.wast:863
|
||||
assert_return(() => call($22, "test", [3]), 3);
|
||||
assert_trap(() => call($22, "test", [3]));
|
||||
|
||||
// table_copy.wast:864
|
||||
assert_return(() => call($22, "test", [4]), 4);
|
||||
assert_trap(() => call($22, "test", [4]));
|
||||
|
||||
// table_copy.wast:865
|
||||
assert_return(() => call($22, "test", [5]), 5);
|
||||
assert_trap(() => call($22, "test", [5]));
|
||||
|
||||
// table_copy.wast:866
|
||||
assert_return(() => call($22, "test", [6]), 6);
|
||||
assert_trap(() => call($22, "test", [6]));
|
||||
|
||||
// table_copy.wast:867
|
||||
assert_return(() => call($22, "test", [7]), 7);
|
||||
assert_trap(() => call($22, "test", [7]));
|
||||
|
||||
// table_copy.wast:868
|
||||
assert_trap(() => call($22, "test", [8]));
|
||||
@ -1147,31 +1147,31 @@ let $23 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x03
|
||||
assert_trap(() => call($23, "run", [0, 23, 15]));
|
||||
|
||||
// table_copy.wast:921
|
||||
assert_return(() => call($23, "test", [0]), 0);
|
||||
assert_trap(() => call($23, "test", [0]));
|
||||
|
||||
// table_copy.wast:922
|
||||
assert_return(() => call($23, "test", [1]), 1);
|
||||
assert_trap(() => call($23, "test", [1]));
|
||||
|
||||
// table_copy.wast:923
|
||||
assert_return(() => call($23, "test", [2]), 2);
|
||||
assert_trap(() => call($23, "test", [2]));
|
||||
|
||||
// table_copy.wast:924
|
||||
assert_return(() => call($23, "test", [3]), 3);
|
||||
assert_trap(() => call($23, "test", [3]));
|
||||
|
||||
// table_copy.wast:925
|
||||
assert_return(() => call($23, "test", [4]), 4);
|
||||
assert_trap(() => call($23, "test", [4]));
|
||||
|
||||
// table_copy.wast:926
|
||||
assert_return(() => call($23, "test", [5]), 5);
|
||||
assert_trap(() => call($23, "test", [5]));
|
||||
|
||||
// table_copy.wast:927
|
||||
assert_return(() => call($23, "test", [6]), 6);
|
||||
assert_trap(() => call($23, "test", [6]));
|
||||
|
||||
// table_copy.wast:928
|
||||
assert_return(() => call($23, "test", [7]), 7);
|
||||
assert_trap(() => call($23, "test", [7]));
|
||||
|
||||
// table_copy.wast:929
|
||||
assert_return(() => call($23, "test", [8]), 8);
|
||||
assert_trap(() => call($23, "test", [8]));
|
||||
|
||||
// table_copy.wast:930
|
||||
assert_trap(() => call($23, "test", [9]));
|
||||
@ -1384,28 +1384,28 @@ assert_trap(() => call($25, "test", [9]));
|
||||
assert_trap(() => call($25, "test", [10]));
|
||||
|
||||
// table_copy.wast:1054
|
||||
assert_return(() => call($25, "test", [11]), 0);
|
||||
assert_trap(() => call($25, "test", [11]));
|
||||
|
||||
// table_copy.wast:1055
|
||||
assert_return(() => call($25, "test", [12]), 1);
|
||||
assert_trap(() => call($25, "test", [12]));
|
||||
|
||||
// table_copy.wast:1056
|
||||
assert_return(() => call($25, "test", [13]), 2);
|
||||
assert_trap(() => call($25, "test", [13]));
|
||||
|
||||
// table_copy.wast:1057
|
||||
assert_return(() => call($25, "test", [14]), 3);
|
||||
assert_trap(() => call($25, "test", [14]));
|
||||
|
||||
// table_copy.wast:1058
|
||||
assert_return(() => call($25, "test", [15]), 4);
|
||||
assert_trap(() => call($25, "test", [15]));
|
||||
|
||||
// table_copy.wast:1059
|
||||
assert_return(() => call($25, "test", [16]), 5);
|
||||
assert_trap(() => call($25, "test", [16]));
|
||||
|
||||
// table_copy.wast:1060
|
||||
assert_return(() => call($25, "test", [17]), 6);
|
||||
assert_trap(() => call($25, "test", [17]));
|
||||
|
||||
// table_copy.wast:1061
|
||||
assert_return(() => call($25, "test", [18]), 7);
|
||||
assert_trap(() => call($25, "test", [18]));
|
||||
|
||||
// table_copy.wast:1062
|
||||
assert_trap(() => call($25, "test", [19]));
|
||||
@ -1618,28 +1618,28 @@ assert_trap(() => call($27, "test", [19]));
|
||||
assert_trap(() => call($27, "test", [20]));
|
||||
|
||||
// table_copy.wast:1186
|
||||
assert_return(() => call($27, "test", [21]), 0);
|
||||
assert_trap(() => call($27, "test", [21]));
|
||||
|
||||
// table_copy.wast:1187
|
||||
assert_return(() => call($27, "test", [22]), 1);
|
||||
assert_trap(() => call($27, "test", [22]));
|
||||
|
||||
// table_copy.wast:1188
|
||||
assert_return(() => call($27, "test", [23]), 2);
|
||||
assert_trap(() => call($27, "test", [23]));
|
||||
|
||||
// table_copy.wast:1189
|
||||
assert_return(() => call($27, "test", [24]), 3);
|
||||
assert_return(() => call($27, "test", [24]), 0);
|
||||
|
||||
// table_copy.wast:1190
|
||||
assert_return(() => call($27, "test", [25]), 4);
|
||||
assert_return(() => call($27, "test", [25]), 1);
|
||||
|
||||
// table_copy.wast:1191
|
||||
assert_return(() => call($27, "test", [26]), 5);
|
||||
assert_return(() => call($27, "test", [26]), 2);
|
||||
|
||||
// table_copy.wast:1192
|
||||
assert_return(() => call($27, "test", [27]), 6);
|
||||
assert_return(() => call($27, "test", [27]), 3);
|
||||
|
||||
// table_copy.wast:1193
|
||||
assert_return(() => call($27, "test", [28]), 7);
|
||||
assert_return(() => call($27, "test", [28]), 4);
|
||||
|
||||
// table_copy.wast:1194
|
||||
assert_return(() => call($27, "test", [29]), 5);
|
||||
@ -1759,52 +1759,52 @@ let $29 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x03
|
||||
assert_trap(() => call($29, "run", [0, 112, -32]));
|
||||
|
||||
// table_copy.wast:1287
|
||||
assert_return(() => call($29, "test", [0]), 0);
|
||||
assert_trap(() => call($29, "test", [0]));
|
||||
|
||||
// table_copy.wast:1288
|
||||
assert_return(() => call($29, "test", [1]), 1);
|
||||
assert_trap(() => call($29, "test", [1]));
|
||||
|
||||
// table_copy.wast:1289
|
||||
assert_return(() => call($29, "test", [2]), 2);
|
||||
assert_trap(() => call($29, "test", [2]));
|
||||
|
||||
// table_copy.wast:1290
|
||||
assert_return(() => call($29, "test", [3]), 3);
|
||||
assert_trap(() => call($29, "test", [3]));
|
||||
|
||||
// table_copy.wast:1291
|
||||
assert_return(() => call($29, "test", [4]), 4);
|
||||
assert_trap(() => call($29, "test", [4]));
|
||||
|
||||
// table_copy.wast:1292
|
||||
assert_return(() => call($29, "test", [5]), 5);
|
||||
assert_trap(() => call($29, "test", [5]));
|
||||
|
||||
// table_copy.wast:1293
|
||||
assert_return(() => call($29, "test", [6]), 6);
|
||||
assert_trap(() => call($29, "test", [6]));
|
||||
|
||||
// table_copy.wast:1294
|
||||
assert_return(() => call($29, "test", [7]), 7);
|
||||
assert_trap(() => call($29, "test", [7]));
|
||||
|
||||
// table_copy.wast:1295
|
||||
assert_return(() => call($29, "test", [8]), 8);
|
||||
assert_trap(() => call($29, "test", [8]));
|
||||
|
||||
// table_copy.wast:1296
|
||||
assert_return(() => call($29, "test", [9]), 9);
|
||||
assert_trap(() => call($29, "test", [9]));
|
||||
|
||||
// table_copy.wast:1297
|
||||
assert_return(() => call($29, "test", [10]), 10);
|
||||
assert_trap(() => call($29, "test", [10]));
|
||||
|
||||
// table_copy.wast:1298
|
||||
assert_return(() => call($29, "test", [11]), 11);
|
||||
assert_trap(() => call($29, "test", [11]));
|
||||
|
||||
// table_copy.wast:1299
|
||||
assert_return(() => call($29, "test", [12]), 12);
|
||||
assert_trap(() => call($29, "test", [12]));
|
||||
|
||||
// table_copy.wast:1300
|
||||
assert_return(() => call($29, "test", [13]), 13);
|
||||
assert_trap(() => call($29, "test", [13]));
|
||||
|
||||
// table_copy.wast:1301
|
||||
assert_return(() => call($29, "test", [14]), 14);
|
||||
assert_trap(() => call($29, "test", [14]));
|
||||
|
||||
// table_copy.wast:1302
|
||||
assert_return(() => call($29, "test", [15]), 15);
|
||||
assert_trap(() => call($29, "test", [15]));
|
||||
|
||||
// table_copy.wast:1303
|
||||
assert_trap(() => call($29, "test", [16]));
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user