summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/gen-spec-js.py64
-rw-r--r--test/gen-spec-js/assert_return_nan.txt24
-rw-r--r--test/interp/logging-all-opcodes.txt4
-rw-r--r--test/interp/tracing-all-opcodes.txt5
-rw-r--r--test/parse/assert/assert-return-arithmetic-nan.txt3
-rw-r--r--test/parse/assert/assert-return-canonical-nan.txt3
-rw-r--r--test/parse/assert/bad-assert-return-arithmetic-nan-invalid-return-type.txt13
-rw-r--r--test/parse/assert/bad-assert-return-arithmetic-nan-too-few.txt12
-rw-r--r--test/parse/assert/bad-assert-return-arithmetic-nan-too-many.txt12
-rw-r--r--test/parse/assert/bad-assert-return-arithmetic-nan-unknown-function.txt9
-rw-r--r--test/parse/assert/bad-assert-return-canonical-nan-invalid-return-type.txt13
-rw-r--r--test/parse/assert/bad-assert-return-canonical-nan-too-few.txt12
-rw-r--r--test/parse/assert/bad-assert-return-canonical-nan-too-many.txt12
-rw-r--r--test/parse/assert/bad-assert-return-canonical-nan-unknown-function.txt9
-rwxr-xr-xtest/run-spec-wasm2c.py68
-rw-r--r--test/spec/bulk-memory-operations/bulk.txt48
-rw-r--r--test/spec/bulk-memory-operations/data.txt16
-rw-r--r--test/spec/bulk-memory-operations/elem.txt17
-rw-r--r--test/spec/bulk-memory-operations/memory_copy.txt7
-rw-r--r--test/spec/bulk-memory-operations/memory_fill.txt2
-rw-r--r--test/spec/bulk-memory-operations/memory_init.txt151
-rw-r--r--test/spec/bulk-memory-operations/table_copy.txt525
-rw-r--r--test/spec/bulk-memory-operations/table_init.txt415
-rw-r--r--test/spec/call.txt40
-rw-r--r--test/spec/reference-types/table_fill.txt6
-rw-r--r--test/spectest-interp-assert-failure.txt20
-rw-r--r--test/wasm2c/spec/call.txt2
27 files changed, 717 insertions, 795 deletions
diff --git a/test/gen-spec-js.py b/test/gen-spec-js.py
index b3f896f4..7e222781 100755
--- a/test/gen-spec-js.py
+++ b/test/gen-spec-js.py
@@ -165,14 +165,17 @@ def EscapeJSString(s):
def IsValidJSConstant(const):
type_ = const['type']
+ value = const['value']
+ if type_ in ('f32', 'f64') and value in ('nan:canonical', 'nan:arithmetic'):
+ return True
if type_ == 'i32':
return True
elif type_ == 'i64':
return False
elif type_ == 'f32':
- return not IsNaNF32(int(const['value']))
+ return not IsNaNF32(int(value))
elif type_ == 'f64':
- return not IsNaNF64(int(const['value']))
+ return not IsNaNF64(int(value))
def IsValidJSAction(action):
@@ -186,8 +189,7 @@ def IsValidJSCommand(command):
expected = command['expected']
return (IsValidJSAction(action) and
all(IsValidJSConstant(x) for x in expected))
- elif type_ in ('assert_return_canonical_nan', 'assert_return_arithmetic_nan',
- 'assert_trap', 'assert_exhaustion'):
+ elif type_ in ('assert_trap', 'assert_exhaustion'):
return IsValidJSAction(action)
@@ -201,8 +203,7 @@ def CollectInvalidModuleCommands(commands):
module_name = command.get('name')
if module_name:
module_map[module_name] = pair
- elif command['type'] in ('assert_return', 'assert_return_canonical_nan',
- 'assert_return_arithmetic_nan', 'assert_trap',
+ elif command['type'] in ('assert_return', 'assert_trap',
'assert_exhaustion'):
if IsValidJSCommand(command):
continue
@@ -252,15 +253,16 @@ class ModuleExtender(object):
self._Action(command['action'])
for expected in command['expected']:
self._Reinterpret(expected['type'])
- self._Constant(expected)
- self._Reinterpret(expected['type'])
+ if expected['value'] in ('nan:canonical', 'nan:arithmetic'):
+ self._NanBitmask(expected['value'] == 'nan:canonical', expected['type'])
+ self._And(expected['type'])
+ self._QuietNan(expected['type'])
+ else:
+ self._Constant(expected)
+ self._Reinterpret(expected['type'])
self._Eq(expected['type'])
self.lines.extend(['i32.eqz', 'br_if 0'])
self.lines.extend(['return', 'end', 'unreachable', ')'])
- elif command_type == 'assert_return_canonical_nan':
- self._AssertReturnNan(new_field, command, True)
- elif command_type == 'assert_return_arithmetic_nan':
- self._AssertReturnNan(new_field, command, False)
elif command_type in ('assert_trap', 'assert_exhaustion'):
self.lines.append('(func (export "%s")' % new_field)
self._Action(command['action'])
@@ -273,22 +275,6 @@ class ModuleExtender(object):
command['action']['args'] = []
command['expected'] = []
- def _AssertReturnNan(self, new_field, command, canonical):
- type_ = command['expected'][0]['type']
- self.lines.append('(func (export "%s")' % new_field)
- self.lines.append('block')
- self._Action(command['action'])
- self._Reinterpret(type_)
- self._NanBitmask(canonical, type_)
- self._And(type_)
- self._QuietNan(type_)
- self._Eq(type_)
- self.lines.extend(
- ['i32.eqz', 'br_if 0', 'return', 'end', 'unreachable', ')'])
-
- # Change the command to assert_return, it won't return NaN anymore.
- command['type'] = 'assert_return'
-
def _GetExports(self, wat):
result = {}
pattern = r'^\s*\(export \"(.*?)\"\s*\((\w+) (\d+)'
@@ -356,14 +342,16 @@ class ModuleExtender(object):
def _Constant(self, const):
inst = None
type_ = const['type']
+ value = const['value']
+ assert value not in ('nan:canonical', 'nan:arithmetic')
if type_ == 'i32':
- inst = 'i32.const %s' % const['value']
+ inst = 'i32.const %s' % value
elif type_ == 'i64':
- inst = 'i64.const %s' % const['value']
+ inst = 'i64.const %s' % value
elif type_ == 'f32':
- inst = F32ToWasm(int(const['value']))
+ inst = F32ToWasm(int(value))
elif type_ == 'f64':
- inst = F64ToWasm(int(const['value']))
+ inst = F64ToWasm(int(value))
self.lines.append(inst)
def _RunWasm2Wat(self, wasm_path):
@@ -403,8 +391,6 @@ class JSWriter(object):
'assert_unlinkable': self._WriteAssertModuleCommand,
'assert_uninstantiable': self._WriteAssertModuleCommand,
'assert_return': self._WriteAssertReturnCommand,
- 'assert_return_canonical_nan': self._WriteAssertActionCommand,
- 'assert_return_arithmetic_nan': self._WriteAssertActionCommand,
'assert_trap': self._WriteAssertActionCommand,
'assert_exhaustion': self._WriteAssertActionCommand,
}
@@ -463,13 +449,15 @@ class JSWriter(object):
def _Constant(self, const):
assert IsValidJSConstant(const), 'Invalid JS const: %s' % const
type_ = const['type']
- value = int(const['value'])
+ value = const['value']
+ if type_ in ('f32', 'f64') and value in ('nan:canonical', 'nan:arithmetic'):
+ return value
if type_ == 'i32':
- return I32ToJS(value)
+ return I32ToJS(int(value))
elif type_ == 'f32':
- return F32ToJS(value)
+ return F32ToJS(int(value))
elif type_ == 'f64':
- return F64ToJS(value)
+ return F64ToJS(int(value))
else:
assert False
diff --git a/test/gen-spec-js/assert_return_nan.txt b/test/gen-spec-js/assert_return_nan.txt
index b1ed8d8f..e3770cca 100644
--- a/test/gen-spec-js/assert_return_nan.txt
+++ b/test/gen-spec-js/assert_return_nan.txt
@@ -9,16 +9,16 @@
(func (export "f64_nan_with_tag") (result f64) f64.const nan:0x1234)
(func (export "f64_passthru") (param f64) (result f64) get_local 0))
-(assert_return_canonical_nan (invoke "f32_nan"))
-(assert_return_arithmetic_nan (invoke "f32_nan_with_tag"))
-(assert_return_canonical_nan (invoke "f64_nan"))
-(assert_return_arithmetic_nan (invoke "f64_nan_with_tag"))
+(assert_return (invoke "f32_nan") (f32.const nan:canonical))
+(assert_return (invoke "f32_nan_with_tag") (f32.const nan:arithmetic))
+(assert_return (invoke "f64_nan") (f64.const nan:canonical))
+(assert_return (invoke "f64_nan_with_tag") (f64.const nan:canonical))
;; Rewritten to avoid passing nan as a parameter.
-(assert_return_canonical_nan (invoke "f32_passthru" (f32.const -nan)))
-(assert_return_arithmetic_nan (invoke "f32_passthru" (f32.const nan:0x1234)))
-(assert_return_canonical_nan (invoke "f64_passthru" (f64.const -nan)))
-(assert_return_arithmetic_nan (invoke "f64_passthru" (f64.const nan:0x1234)))
+(assert_return (invoke "f32_passthru" (f32.const -nan)) (f32.const nan:canonical))
+(assert_return (invoke "f32_passthru" (f32.const nan:0x1234)) (f32.const nan:arithmetic))
+(assert_return (invoke "f64_passthru" (f64.const -nan)) (f64.const nan:canonical))
+(assert_return (invoke "f64_passthru" (f64.const nan:0x1234)) (f64.const nan:arithmetic))
(;; STDOUT ;;;
// A deliberately empty file for testing.
@@ -27,16 +27,16 @@
let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x16\x05\x60\x00\x01\x7d\x60\x01\x7d\x01\x7d\x60\x00\x01\x7c\x60\x01\x7c\x01\x7c\x60\x00\x00\x03\x0b\x0a\x00\x00\x01\x02\x02\x03\x04\x04\x04\x04\x07\x85\x01\x0a\x07\x66\x33\x32\x5f\x6e\x61\x6e\x00\x00\x10\x66\x33\x32\x5f\x6e\x61\x6e\x5f\x77\x69\x74\x68\x5f\x74\x61\x67\x00\x01\x0c\x66\x33\x32\x5f\x70\x61\x73\x73\x74\x68\x72\x75\x00\x02\x07\x66\x36\x34\x5f\x6e\x61\x6e\x00\x03\x10\x66\x36\x34\x5f\x6e\x61\x6e\x5f\x77\x69\x74\x68\x5f\x74\x61\x67\x00\x04\x0c\x66\x36\x34\x5f\x70\x61\x73\x73\x74\x68\x72\x75\x00\x05\x08\x61\x73\x73\x65\x72\x74\x5f\x30\x00\x06\x08\x61\x73\x73\x65\x72\x74\x5f\x31\x00\x07\x08\x61\x73\x73\x65\x72\x74\x5f\x32\x00\x08\x08\x61\x73\x73\x65\x72\x74\x5f\x33\x00\x09\x0a\xd3\x01\x0a\x07\x00\x43\x00\x00\xc0\x7f\x0b\x07\x00\x43\x34\x12\x80\x7f\x0b\x04\x00\x20\x00\x0b\x0b\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x0b\x0b\x00\x44\x34\x12\x00\x00\x00\x00\xf0\x7f\x0b\x04\x00\x20\x00\x0b\x20\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x02\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b\x20\x00\x02\x40\x43\x34\x12\x80\x7f\x10\x02\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b\x2e\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x05\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b\x2e\x00\x02\x40\x44\x34\x12\x00\x00\x00\x00\xf0\x7f\x10\x05\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b");
// assert_return_nan.txt:12
-assert_return_canonical_nan(() => call($1, "f32_nan", []));
+assert_return(() => call($1, "f32_nan", []), nan:canonical);
// assert_return_nan.txt:13
-assert_return_arithmetic_nan(() => call($1, "f32_nan_with_tag", []));
+assert_return(() => call($1, "f32_nan_with_tag", []), nan:arithmetic);
// assert_return_nan.txt:14
-assert_return_canonical_nan(() => call($1, "f64_nan", []));
+assert_return(() => call($1, "f64_nan", []), nan:canonical);
// assert_return_nan.txt:15
-assert_return_arithmetic_nan(() => call($1, "f64_nan_with_tag", []));
+assert_return(() => call($1, "f64_nan_with_tag", []), nan:canonical);
// assert_return_nan.txt:18
assert_return(() => call($1, "assert_0", []));
diff --git a/test/interp/logging-all-opcodes.txt b/test/interp/logging-all-opcodes.txt
index e5f4c36f..67402659 100644
--- a/test/interp/logging-all-opcodes.txt
+++ b/test/interp/logging-all-opcodes.txt
@@ -13027,8 +13027,8 @@ memory.init() => error: out of bounds memory access: memory.init out of bounds
data.drop() =>
memory.copy() =>
memory.fill() =>
-table.init() => error: element segment dropped
-elem.drop() => error: element segment dropped
+table.init() => error: out of bounds table access: table.init out of bounds
+elem.drop() =>
table.copy() => error: out of bounds table access: table.copy out of bounds
v128.load() =>
v128.store() =>
diff --git a/test/interp/tracing-all-opcodes.txt b/test/interp/tracing-all-opcodes.txt
index 0baf0fef..5a077122 100644
--- a/test/interp/tracing-all-opcodes.txt
+++ b/test/interp/tracing-all-opcodes.txt
@@ -1637,10 +1637,11 @@ memory.fill() =>
#0. 5136: V:1 | i32.const 2
#0. 5144: V:2 | i32.const 3
#0. 5152: V:3 | table.init $0, $0
-table.init() => error: element segment dropped
+table.init() => error: out of bounds table access: table.init out of bounds
>>> running export "elem.drop":
#0. 5168: V:0 | elem.drop $0
-elem.drop() => error: element segment dropped
+#0. 5176: V:0 | return
+elem.drop() =>
>>> running export "table.copy":
#0. 5180: V:0 | i32.const 1
#0. 5188: V:1 | i32.const 2
diff --git a/test/parse/assert/assert-return-arithmetic-nan.txt b/test/parse/assert/assert-return-arithmetic-nan.txt
index ac185883..74ba2795 100644
--- a/test/parse/assert/assert-return-arithmetic-nan.txt
+++ b/test/parse/assert/assert-return-arithmetic-nan.txt
@@ -6,5 +6,4 @@
f32.div)
(export "foo" (func $foo)))
-(assert_return_arithmetic_nan
- (invoke "foo" (f32.const 0)))
+(assert_return (invoke "foo" (f32.const 0)) (f32.const nan:arithmetic))
diff --git a/test/parse/assert/assert-return-canonical-nan.txt b/test/parse/assert/assert-return-canonical-nan.txt
index fc973f9c..69d08c42 100644
--- a/test/parse/assert/assert-return-canonical-nan.txt
+++ b/test/parse/assert/assert-return-canonical-nan.txt
@@ -6,5 +6,4 @@
f32.div)
(export "foo" (func $foo)))
-(assert_return_canonical_nan
- (invoke "foo" (f32.const 0)))
+(assert_return (invoke "foo" (f32.const 0)) (f32.const nan:canonical))
diff --git a/test/parse/assert/bad-assert-return-arithmetic-nan-invalid-return-type.txt b/test/parse/assert/bad-assert-return-arithmetic-nan-invalid-return-type.txt
deleted file mode 100644
index 97b8ffae..00000000
--- a/test/parse/assert/bad-assert-return-arithmetic-nan-invalid-return-type.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-;;; TOOL: wast2json
-;;; ERROR: 1
-(module
- (func $foo (result i32)
- i32.const 0)
- (export "foo" (func $foo)))
-
-(assert_return_arithmetic_nan (invoke "foo"))
-(;; STDERR ;;;
-out/test/parse/assert/bad-assert-return-arithmetic-nan-invalid-return-type.txt:8:32: error: type mismatch at action. got i32, expected f32 or f64
-(assert_return_arithmetic_nan (invoke "foo"))
- ^^^^^^
-;;; STDERR ;;)
diff --git a/test/parse/assert/bad-assert-return-arithmetic-nan-too-few.txt b/test/parse/assert/bad-assert-return-arithmetic-nan-too-few.txt
deleted file mode 100644
index 498fe9e0..00000000
--- a/test/parse/assert/bad-assert-return-arithmetic-nan-too-few.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-;;; TOOL: wast2json
-;;; ERROR: 1
-(module
- (func $foo (param i32) (result f32)
- f32.const 0)
- (export "foo" (func $foo)))
-(assert_return_arithmetic_nan (invoke "foo"))
-(;; STDERR ;;;
-out/test/parse/assert/bad-assert-return-arithmetic-nan-too-few.txt:7:32: error: too few parameters to function. got 0, expected 1
-(assert_return_arithmetic_nan (invoke "foo"))
- ^^^^^^
-;;; STDERR ;;)
diff --git a/test/parse/assert/bad-assert-return-arithmetic-nan-too-many.txt b/test/parse/assert/bad-assert-return-arithmetic-nan-too-many.txt
deleted file mode 100644
index c2e258f4..00000000
--- a/test/parse/assert/bad-assert-return-arithmetic-nan-too-many.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-;;; TOOL: wast2json
-;;; ERROR: 1
-(module
- (func $foo (result f32)
- f32.const 0)
- (export "foo" (func $foo)))
-(assert_return_arithmetic_nan (invoke "foo" (f32.const 0)))
-(;; STDERR ;;;
-out/test/parse/assert/bad-assert-return-arithmetic-nan-too-many.txt:7:32: error: too many parameters to function. got 1, expected 0
-(assert_return_arithmetic_nan (invoke "foo" (f32.const 0)))
- ^^^^^^
-;;; STDERR ;;)
diff --git a/test/parse/assert/bad-assert-return-arithmetic-nan-unknown-function.txt b/test/parse/assert/bad-assert-return-arithmetic-nan-unknown-function.txt
deleted file mode 100644
index 24e371f3..00000000
--- a/test/parse/assert/bad-assert-return-arithmetic-nan-unknown-function.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-;;; TOOL: wast2json
-;;; ERROR: 1
-(module)
-(assert_return_arithmetic_nan (invoke "foo"))
-(;; STDERR ;;;
-out/test/parse/assert/bad-assert-return-arithmetic-nan-unknown-function.txt:4:32: error: unknown function export "foo"
-(assert_return_arithmetic_nan (invoke "foo"))
- ^^^^^^
-;;; STDERR ;;)
diff --git a/test/parse/assert/bad-assert-return-canonical-nan-invalid-return-type.txt b/test/parse/assert/bad-assert-return-canonical-nan-invalid-return-type.txt
deleted file mode 100644
index 005c4ff6..00000000
--- a/test/parse/assert/bad-assert-return-canonical-nan-invalid-return-type.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-;;; TOOL: wast2json
-;;; ERROR: 1
-(module
- (func $foo (result i32)
- i32.const 0)
- (export "foo" (func $foo)))
-
-(assert_return_canonical_nan (invoke "foo"))
-(;; STDERR ;;;
-out/test/parse/assert/bad-assert-return-canonical-nan-invalid-return-type.txt:8:31: error: type mismatch at action. got i32, expected f32 or f64
-(assert_return_canonical_nan (invoke "foo"))
- ^^^^^^
-;;; STDERR ;;)
diff --git a/test/parse/assert/bad-assert-return-canonical-nan-too-few.txt b/test/parse/assert/bad-assert-return-canonical-nan-too-few.txt
deleted file mode 100644
index 73c40241..00000000
--- a/test/parse/assert/bad-assert-return-canonical-nan-too-few.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-;;; TOOL: wast2json
-;;; ERROR: 1
-(module
- (func $foo (param i32) (result f32)
- f32.const 0)
- (export "foo" (func $foo)))
-(assert_return_canonical_nan (invoke "foo"))
-(;; STDERR ;;;
-out/test/parse/assert/bad-assert-return-canonical-nan-too-few.txt:7:31: error: too few parameters to function. got 0, expected 1
-(assert_return_canonical_nan (invoke "foo"))
- ^^^^^^
-;;; STDERR ;;)
diff --git a/test/parse/assert/bad-assert-return-canonical-nan-too-many.txt b/test/parse/assert/bad-assert-return-canonical-nan-too-many.txt
deleted file mode 100644
index acae9b3f..00000000
--- a/test/parse/assert/bad-assert-return-canonical-nan-too-many.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-;;; TOOL: wast2json
-;;; ERROR: 1
-(module
- (func $foo (result f32)
- f32.const 0)
- (export "foo" (func $foo)))
-(assert_return_canonical_nan (invoke "foo" (f32.const 0)))
-(;; STDERR ;;;
-out/test/parse/assert/bad-assert-return-canonical-nan-too-many.txt:7:31: error: too many parameters to function. got 1, expected 0
-(assert_return_canonical_nan (invoke "foo" (f32.const 0)))
- ^^^^^^
-;;; STDERR ;;)
diff --git a/test/parse/assert/bad-assert-return-canonical-nan-unknown-function.txt b/test/parse/assert/bad-assert-return-canonical-nan-unknown-function.txt
deleted file mode 100644
index 0d614bc1..00000000
--- a/test/parse/assert/bad-assert-return-canonical-nan-unknown-function.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-;;; TOOL: wast2json
-;;; ERROR: 1
-(module)
-(assert_return_canonical_nan (invoke "foo"))
-(;; STDERR ;;;
-out/test/parse/assert/bad-assert-return-canonical-nan-unknown-function.txt:4:31: error: unknown function export "foo"
-(assert_return_canonical_nan (invoke "foo"))
- ^^^^^^
-;;; STDERR ;;)
diff --git a/test/run-spec-wasm2c.py b/test/run-spec-wasm2c.py
index 01110621..4d33116e 100755
--- a/test/run-spec-wasm2c.py
+++ b/test/run-spec-wasm2c.py
@@ -196,8 +196,6 @@ class CWriter(object):
'assert_uninstantiable': self._WriteAssertUninstantiableCommand,
'action': self._WriteActionCommand,
'assert_return': self._WriteAssertReturnCommand,
- 'assert_return_canonical_nan': self._WriteAssertReturnNanCommand,
- 'assert_return_arithmetic_nan': self._WriteAssertReturnNanCommand,
'assert_trap': self._WriteAssertActionCommand,
'assert_exhaustion': self._WriteAssertActionCommand,
}
@@ -222,38 +220,40 @@ class CWriter(object):
def _WriteAssertReturnCommand(self, command):
expected = command['expected']
if len(expected) == 1:
- assert_map = {
- 'i32': 'ASSERT_RETURN_I32',
- 'f32': 'ASSERT_RETURN_F32',
- 'i64': 'ASSERT_RETURN_I64',
- 'f64': 'ASSERT_RETURN_F64',
- }
-
type_ = expected[0]['type']
- assert_macro = assert_map[type_]
- self.out_file.write('%s(%s, %s);\n' %
- (assert_macro,
- self._Action(command),
- self._ConstantList(expected)))
+ value = expected[0]['value']
+ if value == 'nan:canonical':
+ assert_map = {
+ 'f32': 'ASSERT_RETURN_CANONICAL_NAN_F32',
+ 'f64': 'ASSERT_RETURN_CANONICAL_NAN_F64',
+ }
+ assert_macro = assert_map[(type_)]
+ self.out_file.write('%s(%s);\n' % (assert_macro, self._Action(command)))
+ elif value == 'nan:arithmetic':
+ assert_map = {
+ 'f32': 'ASSERT_RETURN_ARITHMETIC_NAN_F32',
+ 'f64': 'ASSERT_RETURN_ARITHMETIC_NAN_F64',
+ }
+ assert_macro = assert_map[(type_)]
+ self.out_file.write('%s(%s);\n' % (assert_macro, self._Action(command)))
+ else:
+ assert_map = {
+ 'i32': 'ASSERT_RETURN_I32',
+ 'f32': 'ASSERT_RETURN_F32',
+ 'i64': 'ASSERT_RETURN_I64',
+ 'f64': 'ASSERT_RETURN_F64',
+ }
+
+ assert_macro = assert_map[type_]
+ self.out_file.write('%s(%s, %s);\n' %
+ (assert_macro,
+ self._Action(command),
+ self._ConstantList(expected)))
elif len(expected) == 0:
self._WriteAssertActionCommand(command)
else:
raise Error('Unexpected result with multiple values: %s' % expected)
- def _WriteAssertReturnNanCommand(self, command):
- assert_map = {
- ('assert_return_canonical_nan', 'f32'): 'ASSERT_RETURN_CANONICAL_NAN_F32',
- ('assert_return_canonical_nan', 'f64'): 'ASSERT_RETURN_CANONICAL_NAN_F64',
- ('assert_return_arithmetic_nan', 'f32'): 'ASSERT_RETURN_ARITHMETIC_NAN_F32',
- ('assert_return_arithmetic_nan', 'f64'): 'ASSERT_RETURN_ARITHMETIC_NAN_F64',
- }
-
- expected = command['expected']
- type_ = expected[0]['type']
- assert_macro = assert_map[(command['type'], type_)]
-
- self.out_file.write('%s(%s);\n' % (assert_macro, self._Action(command)))
-
def _WriteAssertActionCommand(self, command):
assert_map = {
'assert_exhaustion': 'ASSERT_EXHAUSTION',
@@ -266,15 +266,17 @@ class CWriter(object):
def _Constant(self, const):
type_ = const['type']
- value = int(const['value'])
+ value = const['value']
+ if type_ in ('f32', 'f64') and value in ('nan:canonical', 'nan:arithmetic'):
+ assert False
if type_ == 'i32':
- return '%su' % value
+ return '%su' % int(value)
elif type_ == 'i64':
- return '%sull' % value
+ return '%sull' % int(value)
elif type_ == 'f32':
- return F32ToC(value)
+ return F32ToC(int(value))
elif type_ == 'f64':
- return F64ToC(value)
+ return F64ToC(int(value))
else:
assert False
diff --git a/test/spec/bulk-memory-operations/bulk.txt b/test/spec/bulk-memory-operations/bulk.txt
index 8e615032..9ae4a80e 100644
--- a/test/spec/bulk-memory-operations/bulk.txt
+++ b/test/spec/bulk-memory-operations/bulk.txt
@@ -7,7 +7,7 @@ fill(i32:0, i32:48042, i32:2) =>
fill(i32:0, i32:0, i32:65536) =>
out/test/spec/bulk-memory-operations/bulk.wast:43: assert_trap passed: out of bounds memory access: memory.fill out of bounds
fill(i32:65536, i32:0, i32:0) =>
-fill(i32:65537, i32:0, i32:0) =>
+out/test/spec/bulk-memory-operations/bulk.wast:52: assert_trap passed: out of bounds memory access: memory.fill out of bounds
copy(i32:10, i32:0, i32:4) =>
copy(i32:8, i32:10, i32:4) =>
copy(i32:10, i32:7, i32:6) =>
@@ -15,36 +15,40 @@ copy(i32:65280, i32:0, i32:256) =>
copy(i32:65024, i32:65280, i32:256) =>
copy(i32:65536, i32:0, i32:0) =>
copy(i32:0, i32:65536, i32:0) =>
-copy(i32:65537, i32:0, i32:0) =>
-copy(i32:0, i32:65537, i32:0) =>
+out/test/spec/bulk-memory-operations/bulk.wast:108: assert_trap passed: out of bounds memory access: memory.copy out of bound
+out/test/spec/bulk-memory-operations/bulk.wast:110: assert_trap passed: out of bounds memory access: memory.copy out of bound
init(i32:0, i32:1, i32:2) =>
init(i32:65532, i32:0, i32:4) =>
-out/test/spec/bulk-memory-operations/bulk.wast:135: assert_trap passed: out of bounds memory access: memory.init out of bounds
+out/test/spec/bulk-memory-operations/bulk.wast:138: assert_trap passed: out of bounds memory access: memory.init out of bounds
init(i32:65536, i32:0, i32:0) =>
init(i32:0, i32:4, i32:0) =>
-init(i32:65537, i32:0, i32:0) =>
-init(i32:0, i32:5, i32:0) =>
+out/test/spec/bulk-memory-operations/bulk.wast:148: assert_trap passed: out of bounds memory access: memory.init out of bounds
+out/test/spec/bulk-memory-operations/bulk.wast:150: assert_trap passed: out of bounds memory access: memory.init out of bounds
init_passive(i32:1) =>
drop_passive() =>
-out/test/spec/bulk-memory-operations/bulk.wast:165: assert_trap passed: data segment dropped
-out/test/spec/bulk-memory-operations/bulk.wast:167: assert_trap passed: data segment dropped
-out/test/spec/bulk-memory-operations/bulk.wast:168: assert_trap passed: data segment dropped
-out/test/spec/bulk-memory-operations/bulk.wast:170: assert_trap passed: data segment dropped
-out/test/spec/bulk-memory-operations/bulk.wast:194: assert_trap passed: out of bounds table access: table.init out of bounds
-out/test/spec/bulk-memory-operations/bulk.wast:196: assert_trap passed: uninitialized table element
+drop_passive() =>
+out/test/spec/bulk-memory-operations/bulk.wast:172: assert_trap passed: out of bounds memory access: memory.init out of bounds
+init_passive(i32:0) =>
+drop_active() =>
+out/test/spec/bulk-memory-operations/bulk.wast:176: assert_trap passed: out of bounds memory access: memory.init out of bounds
+init_active(i32:0) =>
+out/test/spec/bulk-memory-operations/bulk.wast:201: assert_trap passed: out of bounds table access: table.init out of bounds
+out/test/spec/bulk-memory-operations/bulk.wast:203: assert_trap passed: uninitialized table element
init(i32:0, i32:1, i32:2) =>
-out/test/spec/bulk-memory-operations/bulk.wast:202: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/bulk.wast:209: assert_trap passed: uninitialized table element
init(i32:1, i32:2, i32:2) =>
init(i32:3, i32:0, i32:0) =>
init(i32:0, i32:4, i32:0) =>
-init(i32:4, i32:0, i32:0) =>
-init(i32:0, i32:5, i32:0) =>
+out/test/spec/bulk-memory-operations/bulk.wast:219: assert_trap passed: out of bounds table access: table.init out of bounds
+out/test/spec/bulk-memory-operations/bulk.wast:221: assert_trap passed: out of bounds table access: table.init out of bounds
init_passive(i32:1) =>
drop_passive() =>
-out/test/spec/bulk-memory-operations/bulk.wast:236: assert_trap passed: element segment dropped
-out/test/spec/bulk-memory-operations/bulk.wast:238: assert_trap passed: element segment dropped
-out/test/spec/bulk-memory-operations/bulk.wast:239: assert_trap passed: element segment dropped
-out/test/spec/bulk-memory-operations/bulk.wast:241: assert_trap passed: element segment dropped
+drop_passive() =>
+out/test/spec/bulk-memory-operations/bulk.wast:247: assert_trap passed: out of bounds table access: table.init out of bounds
+init_passive(i32:0) =>
+drop_active() =>
+out/test/spec/bulk-memory-operations/bulk.wast:251: assert_trap passed: out of bounds table access: table.init out of bounds
+init_active(i32:0) =>
copy(i32:3, i32:0, i32:3) =>
copy(i32:0, i32:1, i32:3) =>
copy(i32:2, i32:0, i32:3) =>
@@ -52,7 +56,7 @@ copy(i32:6, i32:8, i32:2) =>
copy(i32:8, i32:6, i32:2) =>
copy(i32:10, i32:0, i32:0) =>
copy(i32:0, i32:10, i32:0) =>
-copy(i32:11, i32:0, i32:0) =>
-copy(i32:0, i32:11, i32:0) =>
-100/100 tests passed.
+out/test/spec/bulk-memory-operations/bulk.wast:304: assert_trap passed: out of bounds table access: table.copy out of bounds
+out/test/spec/bulk-memory-operations/bulk.wast:306: assert_trap passed: out of bounds table access: table.copy out of bounds
+104/104 tests passed.
;;; STDOUT ;;)
diff --git a/test/spec/bulk-memory-operations/data.txt b/test/spec/bulk-memory-operations/data.txt
index 1b9f5004..7618122a 100644
--- a/test/spec/bulk-memory-operations/data.txt
+++ b/test/spec/bulk-memory-operations/data.txt
@@ -2,19 +2,17 @@
;;; STDIN_FILE: third_party/testsuite/proposals/bulk-memory-operations/data.wast
;;; ARGS*: --enable-bulk-memory
(;; STDOUT ;;;
-error initializing module: out of bounds memory access: data segment is out of bounds: [1, 1) >= max value 0
-error initializing module: out of bounds memory access: data segment is out of bounds: [1, 1) >= max value 0
-out/test/spec/bulk-memory-operations/data.wast:290: assert_invalid passed:
+out/test/spec/bulk-memory-operations/data.wast:293: assert_invalid passed:
000000e: error: data section without memory section
-out/test/spec/bulk-memory-operations/data.wast:299: assert_invalid passed:
+out/test/spec/bulk-memory-operations/data.wast:302: assert_invalid passed:
0000016: error: expected i32 init_expr
-out/test/spec/bulk-memory-operations/data.wast:307: assert_invalid passed:
+out/test/spec/bulk-memory-operations/data.wast:310: assert_invalid passed:
0000017: error: expected END opcode after initializer expression
-out/test/spec/bulk-memory-operations/data.wast:315: assert_invalid passed:
+out/test/spec/bulk-memory-operations/data.wast:318: assert_invalid passed:
0000015: error: unexpected opcode in initializer expression: 0x1
-out/test/spec/bulk-memory-operations/data.wast:323: assert_invalid passed:
+out/test/spec/bulk-memory-operations/data.wast:326: assert_invalid passed:
0000015: error: unexpected opcode in initializer expression: 0x1
-out/test/spec/bulk-memory-operations/data.wast:331: assert_invalid passed:
+out/test/spec/bulk-memory-operations/data.wast:334: assert_invalid passed:
0000017: error: expected END opcode after initializer expression
-18/18 tests passed.
+20/20 tests passed.
;;; STDOUT ;;)
diff --git a/test/spec/bulk-memory-operations/elem.txt b/test/spec/bulk-memory-operations/elem.txt
index d04c65d6..b56ae0eb 100644
--- a/test/spec/bulk-memory-operations/elem.txt
+++ b/test/spec/bulk-memory-operations/elem.txt
@@ -2,19 +2,18 @@
;;; STDIN_FILE: third_party/testsuite/proposals/bulk-memory-operations/elem.wast
;;; ARGS*: --enable-bulk-memory
(;; STDOUT ;;;
-error initializing module: out of bounds table access: elem segment is out of bounds: [1, 1) >= max value 0
-out/test/spec/bulk-memory-operations/elem.wast:299: assert_invalid passed:
+out/test/spec/bulk-memory-operations/elem.wast:300: assert_invalid passed:
0000015: error: elem section without table section
-out/test/spec/bulk-memory-operations/elem.wast:309: assert_invalid passed:
+out/test/spec/bulk-memory-operations/elem.wast:310: assert_invalid passed:
0000014: error: expected i32 init_expr
-out/test/spec/bulk-memory-operations/elem.wast:317: assert_invalid passed:
+out/test/spec/bulk-memory-operations/elem.wast:318: assert_invalid passed:
0000015: error: expected END opcode after initializer expression
-out/test/spec/bulk-memory-operations/elem.wast:325: assert_invalid passed:
+out/test/spec/bulk-memory-operations/elem.wast:326: assert_invalid passed:
0000013: error: unexpected opcode in initializer expression: 0x1
-out/test/spec/bulk-memory-operations/elem.wast:333: assert_invalid passed:
+out/test/spec/bulk-memory-operations/elem.wast:334: assert_invalid passed:
0000013: error: unexpected opcode in initializer expression: 0x1
-out/test/spec/bulk-memory-operations/elem.wast:341: assert_invalid passed:
+out/test/spec/bulk-memory-operations/elem.wast:342: assert_invalid passed:
0000015: error: expected END opcode after initializer expression
-out/test/spec/bulk-memory-operations/elem.wast:404: assert_trap passed: uninitialized table element
-30/30 tests passed.
+out/test/spec/bulk-memory-operations/elem.wast:405: assert_trap passed: uninitialized table element
+31/31 tests passed.
;;; STDOUT ;;)
diff --git a/test/spec/bulk-memory-operations/memory_copy.txt b/test/spec/bulk-memory-operations/memory_copy.txt
index fad932b3..dda46bb3 100644
--- a/test/spec/bulk-memory-operations/memory_copy.txt
+++ b/test/spec/bulk-memory-operations/memory_copy.txt
@@ -221,10 +221,11 @@ out/test/spec/bulk-memory-operations/memory_copy.wast:4830: assert_trap passed:
out/test/spec/bulk-memory-operations/memory_copy.wast:4836: assert_trap passed: out of bounds memory access: memory.copy out of bound
test() =>
test() =>
+out/test/spec/bulk-memory-operations/memory_copy.wast:4872: assert_trap passed: out of bounds memory access: memory.copy out of bound
test() =>
+out/test/spec/bulk-memory-operations/memory_copy.wast:4884: assert_trap passed: out of bounds memory access: memory.copy out of bound
test() =>
+out/test/spec/bulk-memory-operations/memory_copy.wast:4896: assert_trap passed: out of bounds memory access: memory.copy out of bound
test() =>
-test() =>
-test() =>
-4416/4416 tests passed.
+4417/4417 tests passed.
;;; STDOUT ;;)
diff --git a/test/spec/bulk-memory-operations/memory_fill.txt b/test/spec/bulk-memory-operations/memory_fill.txt
index adc8bc27..d1da6801 100644
--- a/test/spec/bulk-memory-operations/memory_fill.txt
+++ b/test/spec/bulk-memory-operations/memory_fill.txt
@@ -7,7 +7,7 @@ out/test/spec/bulk-memory-operations/memory_fill.wast:43: assert_trap passed: ou
out/test/spec/bulk-memory-operations/memory_fill.wast:61: assert_trap passed: out of bounds memory access: memory.fill out of bounds
test() =>
test() =>
-test() =>
+out/test/spec/bulk-memory-operations/memory_fill.wast:117: assert_trap passed: out of bounds memory access: memory.fill out of bounds
test() =>
test() =>
out/test/spec/bulk-memory-operations/memory_fill.wast:174: assert_invalid passed:
diff --git a/test/spec/bulk-memory-operations/memory_init.txt b/test/spec/bulk-memory-operations/memory_init.txt
index 2e138d71..61d459a8 100644
--- a/test/spec/bulk-memory-operations/memory_init.txt
+++ b/test/spec/bulk-memory-operations/memory_init.txt
@@ -12,9 +12,9 @@ out/test/spec/bulk-memory-operations/memory_init.wast:189: assert_invalid passed
out/test/spec/bulk-memory-operations/memory_init.wast:195: assert_invalid passed:
error: invalid data_segment_index: 4 (max 1)
000002c: error: OnDataDropExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:208: assert_trap passed: data segment dropped
-out/test/spec/bulk-memory-operations/memory_init.wast:216: assert_trap passed: data segment dropped
-out/test/spec/bulk-memory-operations/memory_init.wast:223: assert_trap passed: data segment dropped
+test() =>
+out/test/spec/bulk-memory-operations/memory_init.wast:216: assert_trap passed: out of bounds memory access: memory.init out of bounds
+out/test/spec/bulk-memory-operations/memory_init.wast:223: assert_trap passed: out of bounds memory access: memory.init out of bounds
out/test/spec/bulk-memory-operations/memory_init.wast:226: assert_invalid passed:
error: memory.init requires an imported or defined memory.
000002f: error: OnMemoryInitExpr callback failed
@@ -25,205 +25,206 @@ test() =>
out/test/spec/bulk-memory-operations/memory_init.wast:252: assert_trap passed: out of bounds memory access: memory.init out of bounds
out/test/spec/bulk-memory-operations/memory_init.wast:259: assert_trap passed: out of bounds memory access: memory.init out of bounds
out/test/spec/bulk-memory-operations/memory_init.wast:266: assert_trap passed: out of bounds memory access: memory.init out of bounds
+out/test/spec/bulk-memory-operations/memory_init.wast:273: assert_trap passed: out of bounds memory access: memory.init out of bounds
test() =>
+out/test/spec/bulk-memory-operations/memory_init.wast:287: assert_trap passed: out of bounds memory access: memory.init out of bounds
test() =>
test() =>
-test() =>
-test() =>
-out/test/spec/bulk-memory-operations/memory_init.wast:304: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:308: assert_trap passed: out of bounds memory access: memory.init out of bounds
+out/test/spec/bulk-memory-operations/memory_init.wast:311: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, i32, f32]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:312: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:319: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, i32, i64]
0000033: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:320: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:327: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, i32, f64]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:328: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:335: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, f32, i32]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:336: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:343: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, f32, f32]
0000039: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:344: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:351: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, f32, i64]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:352: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:359: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, f32, f64]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:360: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:367: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, i64, i32]
0000033: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:368: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:375: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, i64, f32]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:376: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:383: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, i64, i64]
0000033: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:384: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:391: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, i64, f64]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:392: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:399: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, f64, i32]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:400: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:407: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, f64, f32]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:408: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:415: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, f64, i64]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:416: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:423: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i32, f64, f64]
0000041: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:424: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:431: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, i32, i32]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:432: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:439: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, i32, f32]
0000039: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:440: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:447: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, i32, i64]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:448: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:455: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, i32, f64]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:456: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:463: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, f32, i32]
0000039: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:464: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:471: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, f32, f32]
000003c: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:472: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:479: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, f32, i64]
0000039: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:480: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:487: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, f32, f64]
0000040: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:488: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:495: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, i64, i32]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:496: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:503: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, i64, f32]
0000039: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:504: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:511: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, i64, i64]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:512: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:519: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, i64, f64]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:520: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:527: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, f64, i32]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:528: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:535: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, f64, f32]
0000040: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:536: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:543: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, f64, i64]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:544: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:551: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f32, f64, f64]
0000044: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:552: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:559: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, i32, i32]
0000033: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:560: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:567: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, i32, f32]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:568: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:575: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, i32, i64]
0000033: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:576: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:583: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, i32, f64]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:584: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:591: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, f32, i32]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:592: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:599: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, f32, f32]
0000039: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:600: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:607: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, f32, i64]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:608: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:615: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, f32, f64]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:616: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:623: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, i64, i32]
0000033: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:624: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:631: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, i64, f32]
0000036: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:632: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:639: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, i64, i64]
0000033: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:640: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:647: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, i64, f64]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:648: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:655: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, f64, i32]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:656: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:663: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, f64, f32]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:664: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:671: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, f64, i64]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:672: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:679: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [i64, f64, f64]
0000041: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:680: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:687: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, i32, i32]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:688: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:695: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, i32, f32]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:696: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:703: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, i32, i64]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:704: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:711: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, i32, f64]
0000041: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:712: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:719: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, f32, i32]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:720: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:727: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, f32, f32]
0000040: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:728: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:735: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, f32, i64]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:736: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:743: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, f32, f64]
0000044: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:744: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:751: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, i64, i32]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:752: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:759: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, i64, f32]
000003d: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:760: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:767: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, i64, i64]
000003a: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:768: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:775: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, i64, f64]
0000041: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:776: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:783: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, f64, i32]
0000041: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:784: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:791: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, f64, f32]
0000044: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:792: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:799: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, f64, i64]
0000041: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:800: assert_invalid passed:
+out/test/spec/bulk-memory-operations/memory_init.wast:807: assert_invalid passed:
error: type mismatch in memory.init, expected [i32, i32, i32] but got [f64, f64, f64]
0000048: error: OnMemoryInitExpr callback failed
-out/test/spec/bulk-memory-operations/memory_init.wast:825: assert_trap passed: out of bounds memory access: memory.init out of bounds
-out/test/spec/bulk-memory-operations/memory_init.wast:848: assert_trap passed: out of bounds memory access: memory.init out of bounds
-out/test/spec/bulk-memory-operations/memory_init.wast:871: assert_trap passed: out of bounds memory access: memory.init out of bounds
-out/test/spec/bulk-memory-operations/memory_init.wast:894: assert_trap passed: out of bounds memory access: memory.init out of bounds
-out/test/spec/bulk-memory-operations/memory_init.wast:917: assert_trap passed: out of bounds memory access: memory.init out of bounds
-out/test/spec/bulk-memory-operations/memory_init.wast:940: assert_trap passed: out of bounds memory access: memory.init out of bounds
-215/215 tests passed.
+out/test/spec/bulk-memory-operations/memory_init.wast:832: assert_trap passed: out of bounds memory access: memory.init out of bounds
+out/test/spec/bulk-memory-operations/memory_init.wast:855: assert_trap passed: out of bounds memory access: memory.init out of bounds
+out/test/spec/bulk-memory-operations/memory_init.wast:878: assert_trap passed: out of bounds memory access: memory.init out of bounds
+out/test/spec/bulk-memory-operations/memory_init.wast:901: assert_trap passed: out of bounds memory access: memory.init out of bounds
+out/test/spec/bulk-memory-operations/memory_init.wast:924: assert_trap passed: out of bounds memory access: memory.init out of bounds
+out/test/spec/bulk-memory-operations/memory_init.wast:947: assert_trap passed: out of bounds memory access: memory.init out of bounds
+216/216 tests passed.
;;; STDOUT ;;)
diff --git a/test/spec/bulk-memory-operations/table_copy.txt b/test/spec/bulk-memory-operations/table_copy.txt
index 452f7657..734cd9e5 100644
--- a/test/spec/bulk-memory-operations/table_copy.txt
+++ b/test/spec/bulk-memory-operations/table_copy.txt
@@ -183,125 +183,110 @@ out/test/spec/bulk-memory-operations/table_copy.wast:540: assert_trap passed: ou
out/test/spec/bulk-memory-operations/table_copy.wast:564: assert_trap passed: out of bounds table access: table.copy out of bounds
test() =>
test() =>
+out/test/spec/bulk-memory-operations/table_copy.wast:636: assert_trap passed: out of bounds table access: table.copy out of bounds
test() =>
+out/test/spec/bulk-memory-operations/table_copy.wast:684: assert_trap passed: out of bounds table access: table.copy out of bounds
test() =>
-test() =>
-test() =>
-out/test/spec/bulk-memory-operations/table_copy.wast:736: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:746: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:747: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:748: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:749: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:750: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:751: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:752: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:753: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:754: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:755: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:756: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:757: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:758: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:759: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:760: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:761: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:762: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:763: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:764: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:765: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:766: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:767: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:768: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:769: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:797: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:808: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:809: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:810: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:811: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:812: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:813: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:814: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:815: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:816: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:817: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:818: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:819: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:820: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:821: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:822: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:823: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:824: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:825: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:826: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:827: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:828: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:829: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:830: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:858: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:860: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:861: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:862: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:863: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:864: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:865: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:866: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:867: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:868: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:869: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:870: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:871: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:872: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:873: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:874: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:875: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:876: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:877: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:878: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:879: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:880: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:881: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:882: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:883: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:919: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:921: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:922: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:923: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:924: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:925: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:926: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:927: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:928: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:929: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:930: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:931: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:932: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:933: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:934: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:935: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:936: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:937: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:938: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:939: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:940: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:941: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:942: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:943: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:980: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:982: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:983: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:984: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:985: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:986: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:987: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:988: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:989: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:990: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:991: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:992: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1001: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1002: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1003: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1004: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1005: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:732: assert_trap passed: out of bounds table access: table.copy out of bounds
+out/test/spec/bulk-memory-operations/table_copy.wast:760: assert_trap passed: out of bounds table access: table.copy out of bounds
+out/test/spec/bulk-memory-operations/table_copy.wast:770: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:771: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:772: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:773: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:774: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:775: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:776: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:777: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:778: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:779: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:780: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:781: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:782: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:783: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:784: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:785: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:786: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:787: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:788: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:789: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:790: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:791: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:792: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:793: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:821: assert_trap passed: out of bounds table access: table.copy out of bounds
+out/test/spec/bulk-memory-operations/table_copy.wast:832: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:833: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:834: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:835: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:836: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:837: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:838: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:839: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:840: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:841: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:842: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:843: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:844: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:845: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:846: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:847: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:848: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:849: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:850: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:851: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:852: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:853: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:854: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:882: assert_trap passed: out of bounds table access: table.copy out of bounds
+out/test/spec/bulk-memory-operations/table_copy.wast:884: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:885: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:886: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:887: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:888: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:889: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:890: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:891: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:892: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:893: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:894: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:895: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:896: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:897: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:898: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:899: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:900: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:901: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:902: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:903: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:904: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:905: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:906: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:907: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:943: assert_trap passed: out of bounds table access: table.copy out of bounds
+out/test/spec/bulk-memory-operations/table_copy.wast:945: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:946: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:947: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:948: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:949: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:950: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:951: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:952: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:953: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:954: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:955: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:956: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:957: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:958: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:959: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:960: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:961: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:962: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:963: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:964: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:965: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:966: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:967: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1004: assert_trap passed: out of bounds table access: table.copy out of bounds
out/test/spec/bulk-memory-operations/table_copy.wast:1006: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1007: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1008: assert_trap passed: uninitialized table element
@@ -310,128 +295,120 @@ out/test/spec/bulk-memory-operations/table_copy.wast:1010: assert_trap passed: u
out/test/spec/bulk-memory-operations/table_copy.wast:1011: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1012: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1013: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1041: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:1043: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1044: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1045: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1046: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1047: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1048: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1049: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1050: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1051: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1052: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1053: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1054: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1055: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1056: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1057: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1058: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1059: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1060: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1061: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1062: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1063: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1064: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1065: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1066: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1102: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:1104: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1105: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1106: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1107: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1108: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1109: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1110: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1111: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1112: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1113: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1114: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1115: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1116: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1117: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1118: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1119: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1120: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1121: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1122: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1123: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1124: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1014: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1015: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1016: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1025: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1026: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1027: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1028: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1029: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1030: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1031: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1032: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1033: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1034: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1035: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1036: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1037: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1065: assert_trap passed: out of bounds table access: table.copy out of bounds
+out/test/spec/bulk-memory-operations/table_copy.wast:1067: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1068: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1069: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1070: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1071: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1072: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1073: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1074: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1075: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1076: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1077: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1078: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1079: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1080: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1081: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1082: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1083: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1084: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1085: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1086: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1087: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1088: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1089: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1090: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1126: assert_trap passed: out of bounds table access: table.copy out of bounds
+out/test/spec/bulk-memory-operations/table_copy.wast:1128: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1129: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1130: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1131: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1132: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1133: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1134: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1135: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1163: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:1165: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1166: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1167: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1168: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1169: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1170: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1171: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1172: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1173: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1174: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1175: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1176: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1177: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1178: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1179: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1180: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1181: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1182: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1183: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1184: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1185: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1186: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1187: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1188: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1224: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:1226: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1227: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1228: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1229: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1230: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1231: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1232: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1233: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1234: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1235: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1236: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1237: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1238: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1239: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1240: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1241: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1242: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1243: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1244: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1245: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1246: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1285: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:1287: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1288: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1289: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1290: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1291: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1292: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1293: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1294: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1295: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1296: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1297: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1298: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1299: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1300: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1301: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1302: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1303: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1304: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1305: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1306: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1307: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1308: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1309: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1310: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1136: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1137: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1138: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1139: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1140: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1141: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1142: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1143: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1144: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1145: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1146: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1147: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1148: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1157: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1158: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1159: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1187: assert_trap passed: out of bounds table access: table.copy out of bounds
+out/test/spec/bulk-memory-operations/table_copy.wast:1189: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1190: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1191: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1192: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1193: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1194: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1195: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1196: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1197: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1198: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1199: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1200: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1201: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1202: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1203: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1204: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1205: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1206: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1207: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1208: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1209: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1210: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1211: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1212: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1248: assert_trap passed: out of bounds table access: table.copy out of bounds
+out/test/spec/bulk-memory-operations/table_copy.wast:1250: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1251: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1252: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1253: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1254: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1255: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1256: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1257: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1258: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1259: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1260: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1261: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1262: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1263: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1264: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1265: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1266: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1267: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1268: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1269: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1270: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1309: assert_trap passed: out of bounds table access: table.copy out of bounds
out/test/spec/bulk-memory-operations/table_copy.wast:1311: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1312: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1313: assert_trap passed: uninitialized table element
@@ -520,31 +497,31 @@ out/test/spec/bulk-memory-operations/table_copy.wast:1395: assert_trap passed: u
out/test/spec/bulk-memory-operations/table_copy.wast:1396: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1397: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1398: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1442: assert_trap passed: out of bounds table access: table.copy out of bounds
-out/test/spec/bulk-memory-operations/table_copy.wast:1460: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1461: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1462: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1463: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1464: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1465: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1466: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1467: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1468: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1469: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1470: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1471: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1472: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1473: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1474: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1475: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1476: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1477: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1478: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1479: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1480: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1481: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1482: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_copy.wast:1483: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1399: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1400: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1401: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1402: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1403: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1404: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1405: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1406: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1407: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1408: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1409: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1410: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1411: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1412: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1413: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1414: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1415: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1416: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1417: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1418: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1419: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1420: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1421: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1422: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1466: assert_trap passed: out of bounds table access: table.copy out of bounds
out/test/spec/bulk-memory-operations/table_copy.wast:1484: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1485: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1486: assert_trap passed: uninitialized table element
@@ -633,5 +610,29 @@ out/test/spec/bulk-memory-operations/table_copy.wast:1568: assert_trap passed: u
out/test/spec/bulk-memory-operations/table_copy.wast:1569: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1570: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_copy.wast:1571: assert_trap passed: uninitialized table element
-813/813 tests passed.
+out/test/spec/bulk-memory-operations/table_copy.wast:1572: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1573: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1574: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1575: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1576: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1577: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1578: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1579: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1580: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1581: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1582: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1583: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1584: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1585: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1586: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1587: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1588: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1589: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1590: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1591: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1592: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1593: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1594: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_copy.wast:1595: assert_trap passed: uninitialized table element
+814/814 tests passed.
;;; STDOUT ;;)
diff --git a/test/spec/bulk-memory-operations/table_init.txt b/test/spec/bulk-memory-operations/table_init.txt
index 844edda5..50111408 100644
--- a/test/spec/bulk-memory-operations/table_init.txt
+++ b/test/spec/bulk-memory-operations/table_init.txt
@@ -65,232 +65,210 @@ out/test/spec/bulk-memory-operations/table_init.wast:205: assert_invalid passed:
0000024: error: elem section without table section
out/test/spec/bulk-memory-operations/table_init.wast:213: assert_invalid passed:
0000024: error: elem section without table section
-out/test/spec/bulk-memory-operations/table_init.wast:242: assert_trap passed: element segment dropped
-out/test/spec/bulk-memory-operations/table_init.wast:265: assert_trap passed: element segment dropped
test() =>
-out/test/spec/bulk-memory-operations/table_init.wast:311: assert_trap passed: element segment dropped
-out/test/spec/bulk-memory-operations/table_init.wast:334: assert_trap passed: element segment dropped
+out/test/spec/bulk-memory-operations/table_init.wast:265: assert_trap passed: out of bounds table access: table.init out of bounds
+test() =>
+test() =>
+out/test/spec/bulk-memory-operations/table_init.wast:334: assert_trap passed: out of bounds table access: table.init out of bounds
out/test/spec/bulk-memory-operations/table_init.wast:357: assert_trap passed: out of bounds table access: table.init out of bounds
out/test/spec/bulk-memory-operations/table_init.wast:380: assert_trap passed: out of bounds table access: table.init out of bounds
out/test/spec/bulk-memory-operations/table_init.wast:403: assert_trap passed: out of bounds table access: table.init out of bounds
test() =>
+out/test/spec/bulk-memory-operations/table_init.wast:449: assert_trap passed: out of bounds table access: table.init out of bounds
test() =>
+out/test/spec/bulk-memory-operations/table_init.wast:495: assert_trap passed: out of bounds table access: table.init out of bounds
test() =>
-test() =>
-test() =>
-out/test/spec/bulk-memory-operations/table_init.wast:521: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:541: assert_trap passed: out of bounds table access: table.init out of bounds
+out/test/spec/bulk-memory-operations/table_init.wast:544: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, i32, f32]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:530: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:553: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, i32, i64]
0000041: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:539: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:562: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, i32, f64]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:548: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:571: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, f32, i32]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:557: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:580: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, f32, f32]
0000047: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:566: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:589: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, f32, i64]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:575: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:598: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, f32, f64]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:584: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:607: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, i64, i32]
0000041: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:593: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:616: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, i64, f32]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:602: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:625: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, i64, i64]
0000041: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:611: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:634: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, i64, f64]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:620: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:643: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, f64, i32]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:629: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:652: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, f64, f32]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:638: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:661: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, f64, i64]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:647: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:670: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i32, f64, f64]
000004f: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:656: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:679: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, i32, i32]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:665: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:688: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, i32, f32]
0000047: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:674: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:697: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, i32, i64]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:683: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:706: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, i32, f64]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:692: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:715: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, f32, i32]
0000047: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:701: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:724: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, f32, f32]
000004a: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:710: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:733: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, f32, i64]
0000047: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:719: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:742: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, f32, f64]
000004e: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:728: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:751: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, i64, i32]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:737: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:760: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, i64, f32]
0000047: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:746: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:769: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, i64, i64]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:755: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:778: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, i64, f64]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:764: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:787: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, f64, i32]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:773: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:796: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, f64, f32]
000004e: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:782: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:805: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, f64, i64]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:791: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:814: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f32, f64, f64]
0000052: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:800: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:823: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, i32, i32]
0000041: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:809: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:832: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, i32, f32]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:818: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:841: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, i32, i64]
0000041: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:827: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:850: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, i32, f64]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:836: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:859: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, f32, i32]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:845: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:868: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, f32, f32]
0000047: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:854: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:877: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, f32, i64]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:863: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:886: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, f32, f64]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:872: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:895: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, i64, i32]
0000041: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:881: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:904: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, i64, f32]
0000044: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:890: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:913: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, i64, i64]
0000041: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:899: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:922: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, i64, f64]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:908: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:931: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, f64, i32]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:917: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:940: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, f64, f32]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:926: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:949: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, f64, i64]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:935: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:958: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [i64, f64, f64]
000004f: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:944: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:967: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, i32, i32]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:953: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:976: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, i32, f32]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:962: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:985: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, i32, i64]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:971: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:994: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, i32, f64]
000004f: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:980: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1003: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, f32, i32]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:989: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1012: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, f32, f32]
000004e: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:998: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1021: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, f32, i64]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:1007: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1030: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, f32, f64]
0000052: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:1016: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1039: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, i64, i32]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:1025: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1048: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, i64, f32]
000004b: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:1034: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1057: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, i64, i64]
0000048: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:1043: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1066: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, i64, f64]
000004f: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:1052: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1075: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, f64, i32]
000004f: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:1061: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1084: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, f64, f32]
0000052: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:1070: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1093: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, f64, i64]
000004f: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:1079: assert_invalid passed:
+out/test/spec/bulk-memory-operations/table_init.wast:1102: assert_invalid passed:
error: type mismatch in table.init, expected [i32, i32, i32] but got [f64, f64, f64]
0000056: error: OnTableInitExpr callback failed
-out/test/spec/bulk-memory-operations/table_init.wast:1115: assert_trap passed: out of bounds table access: table.init out of bounds
-out/test/spec/bulk-memory-operations/table_init.wast:1116: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1117: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1118: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1119: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1120: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1121: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1122: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1123: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1124: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1125: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1126: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1127: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1128: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1129: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1130: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1131: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1132: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1133: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1134: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1135: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1136: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1137: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1138: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1138: assert_trap passed: out of bounds table access: table.init out of bounds
out/test/spec/bulk-memory-operations/table_init.wast:1139: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1140: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1141: assert_trap passed: uninitialized table element
@@ -300,30 +278,30 @@ out/test/spec/bulk-memory-operations/table_init.wast:1144: assert_trap passed: u
out/test/spec/bulk-memory-operations/table_init.wast:1145: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1146: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1147: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1177: assert_trap passed: out of bounds table access: table.init out of bounds
-out/test/spec/bulk-memory-operations/table_init.wast:1178: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1179: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1180: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1181: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1182: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1183: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1184: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1185: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1186: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1187: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1188: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1189: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1190: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1191: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1192: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1193: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1194: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1195: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1196: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1197: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1198: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1199: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1200: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1148: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1149: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1150: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1151: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1152: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1153: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1154: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1155: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1156: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1157: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1158: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1159: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1160: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1161: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1162: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1163: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1164: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1165: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1166: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1167: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1168: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1169: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1170: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1200: assert_trap passed: out of bounds table access: table.init out of bounds
out/test/spec/bulk-memory-operations/table_init.wast:1201: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1202: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1203: assert_trap passed: uninitialized table element
@@ -333,30 +311,30 @@ out/test/spec/bulk-memory-operations/table_init.wast:1206: assert_trap passed: u
out/test/spec/bulk-memory-operations/table_init.wast:1207: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1208: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1209: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1239: assert_trap passed: out of bounds table access: table.init out of bounds
-out/test/spec/bulk-memory-operations/table_init.wast:1240: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1241: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1242: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1243: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1244: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1245: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1246: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1247: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1248: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1249: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1250: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1251: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1252: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1253: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1254: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1255: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1256: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1257: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1258: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1259: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1260: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1261: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1262: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1210: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1211: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1212: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1213: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1214: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1215: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1216: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1217: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1218: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1219: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1220: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1221: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1222: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1223: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1224: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1225: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1226: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1227: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1228: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1229: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1230: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1231: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1232: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1262: assert_trap passed: out of bounds table access: table.init out of bounds
out/test/spec/bulk-memory-operations/table_init.wast:1263: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1264: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1265: assert_trap passed: uninitialized table element
@@ -494,30 +472,30 @@ out/test/spec/bulk-memory-operations/table_init.wast:1396: assert_trap passed: u
out/test/spec/bulk-memory-operations/table_init.wast:1397: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1398: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1399: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1429: assert_trap passed: out of bounds table access: table.init out of bounds
-out/test/spec/bulk-memory-operations/table_init.wast:1430: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1431: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1432: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1433: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1434: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1435: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1436: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1437: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1438: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1439: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1440: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1441: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1442: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1443: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1444: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1445: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1446: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1447: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1448: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1449: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1450: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1451: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1452: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1400: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1401: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1402: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1403: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1404: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1405: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1406: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1407: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1408: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1409: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1410: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1411: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1412: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1413: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1414: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1415: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1416: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1417: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1418: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1419: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1420: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1421: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1422: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1452: assert_trap passed: out of bounds table access: table.init out of bounds
out/test/spec/bulk-memory-operations/table_init.wast:1453: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1454: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1455: assert_trap passed: uninitialized table element
@@ -655,30 +633,30 @@ out/test/spec/bulk-memory-operations/table_init.wast:1586: assert_trap passed: u
out/test/spec/bulk-memory-operations/table_init.wast:1587: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1588: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1589: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1619: assert_trap passed: out of bounds table access: table.init out of bounds
-out/test/spec/bulk-memory-operations/table_init.wast:1620: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1621: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1622: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1623: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1624: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1625: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1626: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1627: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1628: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1629: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1630: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1631: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1632: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1633: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1634: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1635: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1636: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1637: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1638: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1639: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1640: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1641: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1642: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1590: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1591: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1592: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1593: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1594: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1595: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1596: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1597: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1598: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1599: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1600: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1601: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1602: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1603: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1604: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1605: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1606: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1607: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1608: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1609: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1610: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1611: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1612: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1642: assert_trap passed: out of bounds table access: table.init out of bounds
out/test/spec/bulk-memory-operations/table_init.wast:1643: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1644: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1645: assert_trap passed: uninitialized table element
@@ -720,22 +698,45 @@ out/test/spec/bulk-memory-operations/table_init.wast:1680: assert_trap passed: u
out/test/spec/bulk-memory-operations/table_init.wast:1681: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1682: assert_trap passed: uninitialized table element
out/test/spec/bulk-memory-operations/table_init.wast:1683: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1713: assert_trap passed: out of bounds table access: table.init out of bounds
-out/test/spec/bulk-memory-operations/table_init.wast:1714: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1715: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1716: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1717: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1718: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1719: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1720: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1721: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1722: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1723: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1724: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1725: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1726: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1727: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1728: assert_trap passed: uninitialized table element
-out/test/spec/bulk-memory-operations/table_init.wast:1729: assert_trap passed: uninitialized table element
-643/643 tests passed.
+out/test/spec/bulk-memory-operations/table_init.wast:1684: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1685: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1686: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1687: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1688: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1689: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1690: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1691: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1692: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1693: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1694: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1695: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1696: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1697: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1698: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1699: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1700: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1701: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1702: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1703: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1704: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1705: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1706: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1736: assert_trap passed: out of bounds table access: table.init out of bounds
+out/test/spec/bulk-memory-operations/table_init.wast:1737: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1738: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1739: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1740: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1741: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1742: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1743: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1744: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1745: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1746: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1747: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1748: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1749: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1750: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1751: assert_trap passed: uninitialized table element
+out/test/spec/bulk-memory-operations/table_init.wast:1752: assert_trap passed: uninitialized table element
+644/644 tests passed.
;;; STDOUT ;;)
diff --git a/test/spec/call.txt b/test/spec/call.txt
index 6612a636..3b598e29 100644
--- a/test/spec/call.txt
+++ b/test/spec/call.txt
@@ -1,58 +1,58 @@
;;; TOOL: run-interp-spec
;;; STDIN_FILE: third_party/testsuite/call.wast
(;; STDOUT ;;;
-out/test/spec/call.wast:289: assert_trap passed: undefined table index
-out/test/spec/call.wast:314: assert_invalid passed:
+out/test/spec/call.wast:299: assert_trap passed: undefined table index
+out/test/spec/call.wast:326: assert_invalid passed:
error: type mismatch in i32.eqz, expected [i32] but got []
000001b: error: OnConvertExpr callback failed
-out/test/spec/call.wast:321: assert_invalid passed:
+out/test/spec/call.wast:333: assert_invalid passed:
error: type mismatch in i32.eqz, expected [i32] but got [i64]
000001f: error: OnConvertExpr callback failed
-out/test/spec/call.wast:329: assert_invalid passed:
+out/test/spec/call.wast:341: assert_invalid passed:
error: type mismatch in call, expected [i32] but got []
000001e: error: OnCallExpr callback failed
-out/test/spec/call.wast:336: assert_invalid passed:
+out/test/spec/call.wast:348: assert_invalid passed:
error: type mismatch in call, expected [f64, i32] but got []
000001f: error: OnCallExpr callback failed
-out/test/spec/call.wast:343: assert_invalid passed:
+out/test/spec/call.wast:355: assert_invalid passed:
error: type mismatch in function, expected [] but got [i32]
000001d: error: EndFunctionBody callback failed
-out/test/spec/call.wast:350: assert_invalid passed:
+out/test/spec/call.wast:362: assert_invalid passed:
error: type mismatch in function, expected [] but got [f64, i32]
0000026: error: EndFunctionBody callback failed
-out/test/spec/call.wast:358: assert_invalid passed:
+out/test/spec/call.wast:370: assert_invalid passed:
error: type mismatch in call, expected [i32, i32] but got [i32]
0000022: error: OnCallExpr callback failed
-out/test/spec/call.wast:365: assert_invalid passed:
+out/test/spec/call.wast:377: assert_invalid passed:
error: type mismatch in call, expected [i32, i32] but got [i32]
0000022: error: OnCallExpr callback failed
-out/test/spec/call.wast:372: assert_invalid passed:
+out/test/spec/call.wast:384: assert_invalid passed:
error: type mismatch in call, expected [i32, f64] but got [f64, i32]
000002a: error: OnCallExpr callback failed
-out/test/spec/call.wast:379: assert_invalid passed:
+out/test/spec/call.wast:391: assert_invalid passed:
error: type mismatch in call, expected [f64, i32] but got [i32, f64]
000002a: error: OnCallExpr callback failed
-out/test/spec/call.wast:387: assert_invalid passed:
+out/test/spec/call.wast:399: assert_invalid passed:
error: type mismatch in call, expected [i32] but got []
0000020: error: OnCallExpr callback failed
-out/test/spec/call.wast:396: assert_invalid passed:
+out/test/spec/call.wast:408: assert_invalid passed:
error: type mismatch in call, expected [i32, i32] but got [i32]
0000023: error: OnCallExpr callback failed
-out/test/spec/call.wast:405: assert_invalid passed:
+out/test/spec/call.wast:417: assert_invalid passed:
error: type mismatch in call, expected [i32] but got []
0000020: error: OnCallExpr callback failed
-out/test/spec/call.wast:414: assert_invalid passed:
+out/test/spec/call.wast:426: assert_invalid passed:
error: type mismatch in call, expected [i32, i32] but got [i32]
0000023: error: OnCallExpr callback failed
-out/test/spec/call.wast:423: assert_invalid passed:
+out/test/spec/call.wast:435: assert_invalid passed:
error: type mismatch in call, expected [i32] but got []
0000022: error: OnCallExpr callback failed
-out/test/spec/call.wast:432: assert_invalid passed:
+out/test/spec/call.wast:444: assert_invalid passed:
error: type mismatch in call, expected [i32, i32] but got [i32]
0000025: error: OnCallExpr callback failed
-out/test/spec/call.wast:445: assert_invalid passed:
+out/test/spec/call.wast:457: assert_invalid passed:
0000019: error: invalid call function index: 1
-out/test/spec/call.wast:449: assert_invalid passed:
+out/test/spec/call.wast:461: assert_invalid passed:
000001d: error: invalid call function index: 1012321300
-81/81 tests passed.
+82/82 tests passed.
;;; STDOUT ;;)
diff --git a/test/spec/reference-types/table_fill.txt b/test/spec/reference-types/table_fill.txt
index 9f898020..30a88ce9 100644
--- a/test/spec/reference-types/table_fill.txt
+++ b/test/spec/reference-types/table_fill.txt
@@ -2,9 +2,9 @@
;;; STDIN_FILE: third_party/testsuite/proposals/reference-types/table_fill.wast
;;; ARGS*: --enable-reference-types
(;; STDOUT ;;;
-out/test/spec/reference-types/table_fill.wast:50: assert_trap passed: out of bounds memory access
-out/test/spec/reference-types/table_fill.wast:58: assert_trap passed: out of bounds memory access
-out/test/spec/reference-types/table_fill.wast:63: assert_trap passed: out of bounds memory access
+out/test/spec/reference-types/table_fill.wast:50: assert_trap passed: out of bounds table access
+out/test/spec/reference-types/table_fill.wast:58: assert_trap passed: out of bounds table access
+out/test/spec/reference-types/table_fill.wast:63: assert_trap passed: out of bounds table access
out/test/spec/reference-types/table_fill.wast:71: assert_invalid passed:
error: type mismatch in table.fill, expected [i32, anyref, i32] but got []
0000020: error: OnTableFillExpr callback failed
diff --git a/test/spectest-interp-assert-failure.txt b/test/spectest-interp-assert-failure.txt
new file mode 100644
index 00000000..03673cad
--- /dev/null
+++ b/test/spectest-interp-assert-failure.txt
@@ -0,0 +1,20 @@
+;;; TOOL: run-interp-spec
+;;; ERROR: 2
+;; spectest-interp returns the number of failed tests as the error code.
+(module
+ (func (export "func32") (result f32) (f32.const 0.1))
+ (func (export "func64") (result f64) (f64.const 0.2))
+ (func (export "func32nan") (result f32) (f32.const nan))
+ (func (export "func64nan") (result f64) (f64.const nan))
+)
+(assert_return (invoke "func32") (f32.const nan:canonical))
+(assert_return (invoke "func64") (f64.const nan:arithmetic))
+(assert_return (invoke "func32nan") (f32.const nan:arithmetic))
+(assert_return (invoke "func64nan") (f64.const nan:arithmetic))
+(assert_return (invoke "func32nan") (f32.const nan:canonical))
+(assert_return (invoke "func64nan") (f64.const nan:canonical))
+(;; STDOUT ;;;
+out/test/spectest-interp-assert-failure.txt:10: expected result to be nan, got f32:0.100000
+out/test/spectest-interp-assert-failure.txt:11: expected result to be nan, got f64:0.200000
+4/6 tests passed.
+;;; STDOUT ;;)
diff --git a/test/wasm2c/spec/call.txt b/test/wasm2c/spec/call.txt
index d258328d..c6d9de4c 100644
--- a/test/wasm2c/spec/call.txt
+++ b/test/wasm2c/spec/call.txt
@@ -1,5 +1,5 @@
;;; TOOL: run-spec-wasm2c
;;; STDIN_FILE: third_party/testsuite/call.wast
(;; STDOUT ;;;
-63/63 tests passed.
+64/64 tests passed.
;;; STDOUT ;;)