/* Copyright 2021 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// ./test/core/address.wast
// ./test/core/address.wast:3
let $
0 = instantiate(`(module
(memory
1 )
(data (i32.
const 0 )
"abcdefghijklmnopqrstuvwxyz" )
(func (export
"8u_good1" ) (param $$i i32) (result i32)
(i32.load8_u offset=
0 (local.get $$i)) ;;
97 'a'
)
(func (export
"8u_good2" ) (param $$i i32) (result i32)
(i32.load8_u align=
1 (local.get $$i)) ;;
97 'a'
)
(func (export
"8u_good3" ) (param $$i i32) (result i32)
(i32.load8_u offset=
1 align=
1 (local.get $$i)) ;;
98 'b'
)
(func (export
"8u_good4" ) (param $$i i32) (result i32)
(i32.load8_u offset=
2 align=
1 (local.get $$i)) ;;
99 'c'
)
(func (export
"8u_good5" ) (param $$i i32) (result i32)
(i32.load8_u offset=
25 align=
1 (local.get $$i)) ;;
122 'z'
)
(func (export
"8s_good1" ) (param $$i i32) (result i32)
(i32.load8_s offset=
0 (local.get $$i)) ;;
97 'a'
)
(func (export
"8s_good2" ) (param $$i i32) (result i32)
(i32.load8_s align=
1 (local.get $$i)) ;;
97 'a'
)
(func (export
"8s_good3" ) (param $$i i32) (result i32)
(i32.load8_s offset=
1 align=
1 (local.get $$i)) ;;
98 'b'
)
(func (export
"8s_good4" ) (param $$i i32) (result i32)
(i32.load8_s offset=
2 align=
1 (local.get $$i)) ;;
99 'c'
)
(func (export
"8s_good5" ) (param $$i i32) (result i32)
(i32.load8_s offset=
25 align=
1 (local.get $$i)) ;;
122 'z'
)
(func (export
"16u_good1" ) (param $$i i32) (result i32)
(i32.load16_u offset=
0 (local.get $$i)) ;;
25185 'ab'
)
(func (export
"16u_good2" ) (param $$i i32) (result i32)
(i32.load16_u align=
1 (local.get $$i)) ;;
25185 'ab'
)
(func (export
"16u_good3" ) (param $$i i32) (result i32)
(i32.load16_u offset=
1 align=
1 (local.get $$i)) ;;
25442 'bc'
)
(func (export
"16u_good4" ) (param $$i i32) (result i32)
(i32.load16_u offset=
2 align=
2 (local.get $$i)) ;;
25699 'cd'
)
(func (export
"16u_good5" ) (param $$i i32) (result i32)
(i32.load16_u offset=
25 align=
2 (local.get $$i)) ;;
122 'z\\0'
)
(func (export
"16s_good1" ) (param $$i i32) (result i32)
(i32.load16_s offset=
0 (local.get $$i)) ;;
25185 'ab'
)
(func (export
"16s_good2" ) (param $$i i32) (result i32)
(i32.load16_s align=
1 (local.get $$i)) ;;
25185 'ab'
)
(func (export
"16s_good3" ) (param $$i i32) (result i32)
(i32.load16_s offset=
1 align=
1 (local.get $$i)) ;;
25442 'bc'
)
(func (export
"16s_good4" ) (param $$i i32) (result i32)
(i32.load16_s offset=
2 align=
2 (local.get $$i)) ;;
25699 'cd'
)
(func (export
"16s_good5" ) (param $$i i32) (result i32)
(i32.load16_s offset=
25 align=
2 (local.get $$i)) ;;
122 'z\\0'
)
(func (export
"32_good1" ) (param $$i i32) (result i32)
(i32.load offset=
0 (local.get $$i)) ;;
1684234849 'abcd'
)
(func (export
"32_good2" ) (param $$i i32) (result i32)
(i32.load align=
1 (local.get $$i)) ;;
1684234849 'abcd'
)
(func (export
"32_good3" ) (param $$i i32) (result i32)
(i32.load offset=
1 align=
1 (local.get $$i)) ;;
1701077858 'bcde'
)
(func (export
"32_good4" ) (param $$i i32) (result i32)
(i32.load offset=
2 align=
2 (local.get $$i)) ;;
1717920867 'cdef'
)
(func (export
"32_good5" ) (param $$i i32) (result i32)
(i32.load offset=
25 align=
4 (local.get $$i)) ;;
122 'z\\0\\0\\0'
)
(func (export
"8u_bad" ) (param $$i i32)
(drop (i32.load8_u offset=
4294967295 (local.get $$i)))
)
(func (export
"8s_bad" ) (param $$i i32)
(drop (i32.load8_s offset=
4294967295 (local.get $$i)))
)
(func (export
"16u_bad" ) (param $$i i32)
(drop (i32.load16_u offset=
4294967295 (local.get $$i)))
)
(func (export
"16s_bad" ) (param $$i i32)
(drop (i32.load16_s offset=
4294967295 (local.get $$i)))
)
(func (export
"32_bad" ) (param $$i i32)
(drop (i32.load offset=
4294967295 (local.get $$i)))
)
)`);
// ./test/core/address.wast:104
assert_return(() => invoke($
0 , `
8 u_good1`, [
0 ]), [value(
"i32" ,
97 )]);
// ./test/core/address.wast:105
assert_return(() => invoke($
0 , `
8 u_good2`, [
0 ]), [value(
"i32" ,
97 )]);
// ./test/core/address.wast:106
assert_return(() => invoke($
0 , `
8 u_good3`, [
0 ]), [value(
"i32" ,
98 )]);
// ./test/core/address.wast:107
assert_return(() => invoke($
0 , `
8 u_good4`, [
0 ]), [value(
"i32" ,
99 )]);
// ./test/core/address.wast:108
assert_return(() => invoke($
0 , `
8 u_good5`, [
0 ]), [value(
"i32" ,
122 )]);
// ./test/core/address.wast:110
assert_return(() => invoke($
0 , `
8 s_good1`, [
0 ]), [value(
"i32" ,
97 )]);
// ./test/core/address.wast:111
assert_return(() => invoke($
0 , `
8 s_good2`, [
0 ]), [value(
"i32" ,
97 )]);
// ./test/core/address.wast:112
assert_return(() => invoke($
0 , `
8 s_good3`, [
0 ]), [value(
"i32" ,
98 )]);
// ./test/core/address.wast:113
assert_return(() => invoke($
0 , `
8 s_good4`, [
0 ]), [value(
"i32" ,
99 )]);
// ./test/core/address.wast:114
assert_return(() => invoke($
0 , `
8 s_good5`, [
0 ]), [value(
"i32" ,
122 )]);
// ./test/core/address.wast:116
assert_return(() => invoke($
0 , `
16 u_good1`, [
0 ]), [value(
"i32" ,
25185 )]);
// ./test/core/address.wast:117
assert_return(() => invoke($
0 , `
16 u_good2`, [
0 ]), [value(
"i32" ,
25185 )]);
// ./test/core/address.wast:118
assert_return(() => invoke($
0 , `
16 u_good3`, [
0 ]), [value(
"i32" ,
25442 )]);
// ./test/core/address.wast:119
assert_return(() => invoke($
0 , `
16 u_good4`, [
0 ]), [value(
"i32" ,
25699 )]);
// ./test/core/address.wast:120
assert_return(() => invoke($
0 , `
16 u_good5`, [
0 ]), [value(
"i32" ,
122 )]);
// ./test/core/address.wast:122
assert_return(() => invoke($
0 , `
16 s_good1`, [
0 ]), [value(
"i32" ,
25185 )]);
// ./test/core/address.wast:123
assert_return(() => invoke($
0 , `
16 s_good2`, [
0 ]), [value(
"i32" ,
25185 )]);
// ./test/core/address.wast:124
assert_return(() => invoke($
0 , `
16 s_good3`, [
0 ]), [value(
"i32" ,
25442 )]);
// ./test/core/address.wast:125
assert_return(() => invoke($
0 , `
16 s_good4`, [
0 ]), [value(
"i32" ,
25699 )]);
// ./test/core/address.wast:126
assert_return(() => invoke($
0 , `
16 s_good5`, [
0 ]), [value(
"i32" ,
122 )]);
// ./test/core/address.wast:128
assert_return(() => invoke($
0 , `
32 _good1`, [
0 ]), [value(
"i32" ,
1684234849 )]);
// ./test/core/address.wast:129
assert_return(() => invoke($
0 , `
32 _good2`, [
0 ]), [value(
"i32" ,
1684234849 )]);
// ./test/core/address.wast:130
assert_return(() => invoke($
0 , `
32 _good3`, [
0 ]), [value(
"i32" ,
1701077858 )]);
// ./test/core/address.wast:131
assert_return(() => invoke($
0 , `
32 _good4`, [
0 ]), [value(
"i32" ,
1717920867 )]);
// ./test/core/address.wast:132
assert_return(() => invoke($
0 , `
32 _good5`, [
0 ]), [value(
"i32" ,
122 )]);
// ./test/core/address.wast:134
assert_return(() => invoke($
0 , `
8 u_good1`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:135
assert_return(() => invoke($
0 , `
8 u_good2`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:136
assert_return(() => invoke($
0 , `
8 u_good3`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:137
assert_return(() => invoke($
0 , `
8 u_good4`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:138
assert_return(() => invoke($
0 , `
8 u_good5`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:140
assert_return(() => invoke($
0 , `
8 s_good1`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:141
assert_return(() => invoke($
0 , `
8 s_good2`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:142
assert_return(() => invoke($
0 , `
8 s_good3`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:143
assert_return(() => invoke($
0 , `
8 s_good4`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:144
assert_return(() => invoke($
0 , `
8 s_good5`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:146
assert_return(() => invoke($
0 , `
16 u_good1`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:147
assert_return(() => invoke($
0 , `
16 u_good2`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:148
assert_return(() => invoke($
0 , `
16 u_good3`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:149
assert_return(() => invoke($
0 , `
16 u_good4`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:150
assert_return(() => invoke($
0 , `
16 u_good5`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:152
assert_return(() => invoke($
0 , `
16 s_good1`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:153
assert_return(() => invoke($
0 , `
16 s_good2`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:154
assert_return(() => invoke($
0 , `
16 s_good3`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:155
assert_return(() => invoke($
0 , `
16 s_good4`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:156
assert_return(() => invoke($
0 , `
16 s_good5`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:158
assert_return(() => invoke($
0 , `
32 _good1`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:159
assert_return(() => invoke($
0 , `
32 _good2`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:160
assert_return(() => invoke($
0 , `
32 _good3`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:161
assert_return(() => invoke($
0 , `
32 _good4`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:162
assert_return(() => invoke($
0 , `
32 _good5`, [
65507 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:164
assert_return(() => invoke($
0 , `
8 u_good1`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:165
assert_return(() => invoke($
0 , `
8 u_good2`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:166
assert_return(() => invoke($
0 , `
8 u_good3`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:167
assert_return(() => invoke($
0 , `
8 u_good4`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:168
assert_return(() => invoke($
0 , `
8 u_good5`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:170
assert_return(() => invoke($
0 , `
8 s_good1`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:171
assert_return(() => invoke($
0 , `
8 s_good2`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:172
assert_return(() => invoke($
0 , `
8 s_good3`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:173
assert_return(() => invoke($
0 , `
8 s_good4`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:174
assert_return(() => invoke($
0 , `
8 s_good5`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:176
assert_return(() => invoke($
0 , `
16 u_good1`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:177
assert_return(() => invoke($
0 , `
16 u_good2`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:178
assert_return(() => invoke($
0 , `
16 u_good3`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:179
assert_return(() => invoke($
0 , `
16 u_good4`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:180
assert_return(() => invoke($
0 , `
16 u_good5`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:182
assert_return(() => invoke($
0 , `
16 s_good1`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:183
assert_return(() => invoke($
0 , `
16 s_good2`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:184
assert_return(() => invoke($
0 , `
16 s_good3`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:185
assert_return(() => invoke($
0 , `
16 s_good4`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:186
assert_return(() => invoke($
0 , `
16 s_good5`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:188
assert_return(() => invoke($
0 , `
32 _good1`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:189
assert_return(() => invoke($
0 , `
32 _good2`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:190
assert_return(() => invoke($
0 , `
32 _good3`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:191
assert_return(() => invoke($
0 , `
32 _good4`, [
65508 ]), [value(
"i32" ,
0 )]);
// ./test/core/address.wast:192
assert_trap(() => invoke($
0 , `
32 _good5`, [
65508 ]), `out of bounds memory access`);
// ./test/core/address.wast:194
assert_trap(() => invoke($
0 , `
8 u_good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:195
assert_trap(() => invoke($
0 , `
8 s_good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:196
assert_trap(() => invoke($
0 , `
16 u_good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:197
assert_trap(() => invoke($
0 , `
16 s_good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:198
assert_trap(() => invoke($
0 , `
32 _good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:199
assert_trap(() => invoke($
0 , `
32 _good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:201
assert_trap(() => invoke($
0 , `
8 u_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:202
assert_trap(() => invoke($
0 , `
8 s_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:203
assert_trap(() => invoke($
0 , `
16 u_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:204
assert_trap(() => invoke($
0 , `
16 s_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:205
assert_trap(() => invoke($
0 , `
32 _bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:207
assert_trap(() => invoke($
0 , `
8 u_bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:208
assert_trap(() => invoke($
0 , `
8 s_bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:209
assert_trap(() => invoke($
0 , `
16 u_bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:210
assert_trap(() => invoke($
0 , `
16 s_bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:211
assert_trap(() => invoke($
0 , `
32 _bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:213
assert_malformed(
() => instantiate(`(memory
1 ) (func (drop (i32.load offset=
4294967296 (i32.
const 0 )))) `),
`i32 constant`,
);
// ./test/core/address.wast:223
let $
1 = instantiate(`(module
(memory
1 )
(data (i32.
const 0 )
"abcdefghijklmnopqrstuvwxyz" )
(func (export
"8u_good1" ) (param $$i i32) (result i64)
(i64.load8_u offset=
0 (local.get $$i)) ;;
97 'a'
)
(func (export
"8u_good2" ) (param $$i i32) (result i64)
(i64.load8_u align=
1 (local.get $$i)) ;;
97 'a'
)
(func (export
"8u_good3" ) (param $$i i32) (result i64)
(i64.load8_u offset=
1 align=
1 (local.get $$i)) ;;
98 'b'
)
(func (export
"8u_good4" ) (param $$i i32) (result i64)
(i64.load8_u offset=
2 align=
1 (local.get $$i)) ;;
99 'c'
)
(func (export
"8u_good5" ) (param $$i i32) (result i64)
(i64.load8_u offset=
25 align=
1 (local.get $$i)) ;;
122 'z'
)
(func (export
"8s_good1" ) (param $$i i32) (result i64)
(i64.load8_s offset=
0 (local.get $$i)) ;;
97 'a'
)
(func (export
"8s_good2" ) (param $$i i32) (result i64)
(i64.load8_s align=
1 (local.get $$i)) ;;
97 'a'
)
(func (export
"8s_good3" ) (param $$i i32) (result i64)
(i64.load8_s offset=
1 align=
1 (local.get $$i)) ;;
98 'b'
)
(func (export
"8s_good4" ) (param $$i i32) (result i64)
(i64.load8_s offset=
2 align=
1 (local.get $$i)) ;;
99 'c'
)
(func (export
"8s_good5" ) (param $$i i32) (result i64)
(i64.load8_s offset=
25 align=
1 (local.get $$i)) ;;
122 'z'
)
(func (export
"16u_good1" ) (param $$i i32) (result i64)
(i64.load16_u offset=
0 (local.get $$i)) ;;
25185 'ab'
)
(func (export
"16u_good2" ) (param $$i i32) (result i64)
(i64.load16_u align=
1 (local.get $$i)) ;;
25185 'ab'
)
(func (export
"16u_good3" ) (param $$i i32) (result i64)
(i64.load16_u offset=
1 align=
1 (local.get $$i)) ;;
25442 'bc'
)
(func (export
"16u_good4" ) (param $$i i32) (result i64)
(i64.load16_u offset=
2 align=
2 (local.get $$i)) ;;
25699 'cd'
)
(func (export
"16u_good5" ) (param $$i i32) (result i64)
(i64.load16_u offset=
25 align=
2 (local.get $$i)) ;;
122 'z\\0'
)
(func (export
"16s_good1" ) (param $$i i32) (result i64)
(i64.load16_s offset=
0 (local.get $$i)) ;;
25185 'ab'
)
(func (export
"16s_good2" ) (param $$i i32) (result i64)
(i64.load16_s align=
1 (local.get $$i)) ;;
25185 'ab'
)
(func (export
"16s_good3" ) (param $$i i32) (result i64)
(i64.load16_s offset=
1 align=
1 (local.get $$i)) ;;
25442 'bc'
)
(func (export
"16s_good4" ) (param $$i i32) (result i64)
(i64.load16_s offset=
2 align=
2 (local.get $$i)) ;;
25699 'cd'
)
(func (export
"16s_good5" ) (param $$i i32) (result i64)
(i64.load16_s offset=
25 align=
2 (local.get $$i)) ;;
122 'z\\0'
)
(func (export
"32u_good1" ) (param $$i i32) (result i64)
(i64.load32_u offset=
0 (local.get $$i)) ;;
1684234849 'abcd'
)
(func (export
"32u_good2" ) (param $$i i32) (result i64)
(i64.load32_u align=
1 (local.get $$i)) ;;
1684234849 'abcd'
)
(func (export
"32u_good3" ) (param $$i i32) (result i64)
(i64.load32_u offset=
1 align=
1 (local.get $$i)) ;;
1701077858 'bcde'
)
(func (export
"32u_good4" ) (param $$i i32) (result i64)
(i64.load32_u offset=
2 align=
2 (local.get $$i)) ;;
1717920867 'cdef'
)
(func (export
"32u_good5" ) (param $$i i32) (result i64)
(i64.load32_u offset=
25 align=
4 (local.get $$i)) ;;
122 'z\\0\\0\\0'
)
(func (export
"32s_good1" ) (param $$i i32) (result i64)
(i64.load32_s offset=
0 (local.get $$i)) ;;
1684234849 'abcd'
)
(func (export
"32s_good2" ) (param $$i i32) (result i64)
(i64.load32_s align=
1 (local.get $$i)) ;;
1684234849 'abcd'
)
(func (export
"32s_good3" ) (param $$i i32) (result i64)
(i64.load32_s offset=
1 align=
1 (local.get $$i)) ;;
1701077858 'bcde'
)
(func (export
"32s_good4" ) (param $$i i32) (result i64)
(i64.load32_s offset=
2 align=
2 (local.get $$i)) ;;
1717920867 'cdef'
)
(func (export
"32s_good5" ) (param $$i i32) (result i64)
(i64.load32_s offset=
25 align=
4 (local.get $$i)) ;;
122 'z\\0\\0\\0'
)
(func (export
"64_good1" ) (param $$i i32) (result i64)
(i64.load offset=
0 (local.get $$i)) ;;
0 x6867666564636261
'abcdefgh'
)
(func (export
"64_good2" ) (param $$i i32) (result i64)
(i64.load align=
1 (local.get $$i)) ;;
0 x6867666564636261
'abcdefgh'
)
(func (export
"64_good3" ) (param $$i i32) (result i64)
(i64.load offset=
1 align=
1 (local.get $$i)) ;;
0 x6968676665646362
'bcdefghi'
)
(func (export
"64_good4" ) (param $$i i32) (result i64)
(i64.load offset=
2 align=
2 (local.get $$i)) ;;
0 x6a69686766656463
'cdefghij'
)
(func (export
"64_good5" ) (param $$i i32) (result i64)
(i64.load offset=
25 align=
8 (local.get $$i)) ;;
122 'z\\0\\0\\0\\0\\0\\0\\0'
)
(func (export
"8u_bad" ) (param $$i i32)
(drop (i64.load8_u offset=
4294967295 (local.get $$i)))
)
(func (export
"8s_bad" ) (param $$i i32)
(drop (i64.load8_s offset=
4294967295 (local.get $$i)))
)
(func (export
"16u_bad" ) (param $$i i32)
(drop (i64.load16_u offset=
4294967295 (local.get $$i)))
)
(func (export
"16s_bad" ) (param $$i i32)
(drop (i64.load16_s offset=
4294967295 (local.get $$i)))
)
(func (export
"32u_bad" ) (param $$i i32)
(drop (i64.load32_u offset=
4294967295 (local.get $$i)))
)
(func (export
"32s_bad" ) (param $$i i32)
(drop (i64.load32_s offset=
4294967295 (local.get $$i)))
)
(func (export
"64_bad" ) (param $$i i32)
(drop (i64.load offset=
4294967295 (local.get $$i)))
)
)`);
// ./test/core/address.wast:362
assert_return(() => invoke($
1 , `
8 u_good1`, [
0 ]), [value(
"i64" ,
97 n)]);
// ./test/core/address.wast:363
assert_return(() => invoke($
1 , `
8 u_good2`, [
0 ]), [value(
"i64" ,
97 n)]);
// ./test/core/address.wast:364
assert_return(() => invoke($
1 , `
8 u_good3`, [
0 ]), [value(
"i64" ,
98 n)]);
// ./test/core/address.wast:365
assert_return(() => invoke($
1 , `
8 u_good4`, [
0 ]), [value(
"i64" ,
99 n)]);
// ./test/core/address.wast:366
assert_return(() => invoke($
1 , `
8 u_good5`, [
0 ]), [value(
"i64" ,
122 n)]);
// ./test/core/address.wast:368
assert_return(() => invoke($
1 , `
8 s_good1`, [
0 ]), [value(
"i64" ,
97 n)]);
// ./test/core/address.wast:369
assert_return(() => invoke($
1 , `
8 s_good2`, [
0 ]), [value(
"i64" ,
97 n)]);
// ./test/core/address.wast:370
assert_return(() => invoke($
1 , `
8 s_good3`, [
0 ]), [value(
"i64" ,
98 n)]);
// ./test/core/address.wast:371
assert_return(() => invoke($
1 , `
8 s_good4`, [
0 ]), [value(
"i64" ,
99 n)]);
// ./test/core/address.wast:372
assert_return(() => invoke($
1 , `
8 s_good5`, [
0 ]), [value(
"i64" ,
122 n)]);
// ./test/core/address.wast:374
assert_return(() => invoke($
1 , `
16 u_good1`, [
0 ]), [value(
"i64" ,
25185 n)]);
// ./test/core/address.wast:375
assert_return(() => invoke($
1 , `
16 u_good2`, [
0 ]), [value(
"i64" ,
25185 n)]);
// ./test/core/address.wast:376
assert_return(() => invoke($
1 , `
16 u_good3`, [
0 ]), [value(
"i64" ,
25442 n)]);
// ./test/core/address.wast:377
assert_return(() => invoke($
1 , `
16 u_good4`, [
0 ]), [value(
"i64" ,
25699 n)]);
// ./test/core/address.wast:378
assert_return(() => invoke($
1 , `
16 u_good5`, [
0 ]), [value(
"i64" ,
122 n)]);
// ./test/core/address.wast:380
assert_return(() => invoke($
1 , `
16 s_good1`, [
0 ]), [value(
"i64" ,
25185 n)]);
// ./test/core/address.wast:381
assert_return(() => invoke($
1 , `
16 s_good2`, [
0 ]), [value(
"i64" ,
25185 n)]);
// ./test/core/address.wast:382
assert_return(() => invoke($
1 , `
16 s_good3`, [
0 ]), [value(
"i64" ,
25442 n)]);
// ./test/core/address.wast:383
assert_return(() => invoke($
1 , `
16 s_good4`, [
0 ]), [value(
"i64" ,
25699 n)]);
// ./test/core/address.wast:384
assert_return(() => invoke($
1 , `
16 s_good5`, [
0 ]), [value(
"i64" ,
122 n)]);
// ./test/core/address.wast:386
assert_return(() => invoke($
1 , `
32 u_good1`, [
0 ]), [value(
"i64" ,
1684234849 n)]);
// ./test/core/address.wast:387
assert_return(() => invoke($
1 , `
32 u_good2`, [
0 ]), [value(
"i64" ,
1684234849 n)]);
// ./test/core/address.wast:388
assert_return(() => invoke($
1 , `
32 u_good3`, [
0 ]), [value(
"i64" ,
1701077858 n)]);
// ./test/core/address.wast:389
assert_return(() => invoke($
1 , `
32 u_good4`, [
0 ]), [value(
"i64" ,
1717920867 n)]);
// ./test/core/address.wast:390
assert_return(() => invoke($
1 , `
32 u_good5`, [
0 ]), [value(
"i64" ,
122 n)]);
// ./test/core/address.wast:392
assert_return(() => invoke($
1 , `
32 s_good1`, [
0 ]), [value(
"i64" ,
1684234849 n)]);
// ./test/core/address.wast:393
assert_return(() => invoke($
1 , `
32 s_good2`, [
0 ]), [value(
"i64" ,
1684234849 n)]);
// ./test/core/address.wast:394
assert_return(() => invoke($
1 , `
32 s_good3`, [
0 ]), [value(
"i64" ,
1701077858 n)]);
// ./test/core/address.wast:395
assert_return(() => invoke($
1 , `
32 s_good4`, [
0 ]), [value(
"i64" ,
1717920867 n)]);
// ./test/core/address.wast:396
assert_return(() => invoke($
1 , `
32 s_good5`, [
0 ]), [value(
"i64" ,
122 n)]);
// ./test/core/address.wast:398
assert_return(() => invoke($
1 , `
64 _good1`, [
0 ]), [value(
"i64" ,
7523094288207667809 n)]);
// ./test/core/address.wast:399
assert_return(() => invoke($
1 , `
64 _good2`, [
0 ]), [value(
"i64" ,
7523094288207667809 n)]);
// ./test/core/address.wast:400
assert_return(() => invoke($
1 , `
64 _good3`, [
0 ]), [value(
"i64" ,
7595434461045744482 n)]);
// ./test/core/address.wast:401
assert_return(() => invoke($
1 , `
64 _good4`, [
0 ]), [value(
"i64" ,
7667774633883821155 n)]);
// ./test/core/address.wast:402
assert_return(() => invoke($
1 , `
64 _good5`, [
0 ]), [value(
"i64" ,
122 n)]);
// ./test/core/address.wast:404
assert_return(() => invoke($
1 , `
8 u_good1`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:405
assert_return(() => invoke($
1 , `
8 u_good2`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:406
assert_return(() => invoke($
1 , `
8 u_good3`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:407
assert_return(() => invoke($
1 , `
8 u_good4`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:408
assert_return(() => invoke($
1 , `
8 u_good5`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:410
assert_return(() => invoke($
1 , `
8 s_good1`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:411
assert_return(() => invoke($
1 , `
8 s_good2`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:412
assert_return(() => invoke($
1 , `
8 s_good3`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:413
assert_return(() => invoke($
1 , `
8 s_good4`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:414
assert_return(() => invoke($
1 , `
8 s_good5`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:416
assert_return(() => invoke($
1 , `
16 u_good1`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:417
assert_return(() => invoke($
1 , `
16 u_good2`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:418
assert_return(() => invoke($
1 , `
16 u_good3`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:419
assert_return(() => invoke($
1 , `
16 u_good4`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:420
assert_return(() => invoke($
1 , `
16 u_good5`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:422
assert_return(() => invoke($
1 , `
16 s_good1`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:423
assert_return(() => invoke($
1 , `
16 s_good2`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:424
assert_return(() => invoke($
1 , `
16 s_good3`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:425
assert_return(() => invoke($
1 , `
16 s_good4`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:426
assert_return(() => invoke($
1 , `
16 s_good5`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:428
assert_return(() => invoke($
1 , `
32 u_good1`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:429
assert_return(() => invoke($
1 , `
32 u_good2`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:430
assert_return(() => invoke($
1 , `
32 u_good3`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:431
assert_return(() => invoke($
1 , `
32 u_good4`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:432
assert_return(() => invoke($
1 , `
32 u_good5`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:434
assert_return(() => invoke($
1 , `
32 s_good1`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:435
assert_return(() => invoke($
1 , `
32 s_good2`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:436
assert_return(() => invoke($
1 , `
32 s_good3`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:437
assert_return(() => invoke($
1 , `
32 s_good4`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:438
assert_return(() => invoke($
1 , `
32 s_good5`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:440
assert_return(() => invoke($
1 , `
64 _good1`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:441
assert_return(() => invoke($
1 , `
64 _good2`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:442
assert_return(() => invoke($
1 , `
64 _good3`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:443
assert_return(() => invoke($
1 , `
64 _good4`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:444
assert_return(() => invoke($
1 , `
64 _good5`, [
65503 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:446
assert_return(() => invoke($
1 , `
8 u_good1`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:447
assert_return(() => invoke($
1 , `
8 u_good2`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:448
assert_return(() => invoke($
1 , `
8 u_good3`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:449
assert_return(() => invoke($
1 , `
8 u_good4`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:450
assert_return(() => invoke($
1 , `
8 u_good5`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:452
assert_return(() => invoke($
1 , `
8 s_good1`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:453
assert_return(() => invoke($
1 , `
8 s_good2`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:454
assert_return(() => invoke($
1 , `
8 s_good3`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:455
assert_return(() => invoke($
1 , `
8 s_good4`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:456
assert_return(() => invoke($
1 , `
8 s_good5`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:458
assert_return(() => invoke($
1 , `
16 u_good1`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:459
assert_return(() => invoke($
1 , `
16 u_good2`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:460
assert_return(() => invoke($
1 , `
16 u_good3`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:461
assert_return(() => invoke($
1 , `
16 u_good4`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:462
assert_return(() => invoke($
1 , `
16 u_good5`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:464
assert_return(() => invoke($
1 , `
16 s_good1`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:465
assert_return(() => invoke($
1 , `
16 s_good2`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:466
assert_return(() => invoke($
1 , `
16 s_good3`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:467
assert_return(() => invoke($
1 , `
16 s_good4`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:468
assert_return(() => invoke($
1 , `
16 s_good5`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:470
assert_return(() => invoke($
1 , `
32 u_good1`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:471
assert_return(() => invoke($
1 , `
32 u_good2`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:472
assert_return(() => invoke($
1 , `
32 u_good3`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:473
assert_return(() => invoke($
1 , `
32 u_good4`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:474
assert_return(() => invoke($
1 , `
32 u_good5`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:476
assert_return(() => invoke($
1 , `
32 s_good1`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:477
assert_return(() => invoke($
1 , `
32 s_good2`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:478
assert_return(() => invoke($
1 , `
32 s_good3`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:479
assert_return(() => invoke($
1 , `
32 s_good4`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:480
assert_return(() => invoke($
1 , `
32 s_good5`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:482
assert_return(() => invoke($
1 , `
64 _good1`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:483
assert_return(() => invoke($
1 , `
64 _good2`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:484
assert_return(() => invoke($
1 , `
64 _good3`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:485
assert_return(() => invoke($
1 , `
64 _good4`, [
65504 ]), [value(
"i64" ,
0 n)]);
// ./test/core/address.wast:486
assert_trap(() => invoke($
1 , `
64 _good5`, [
65504 ]), `out of bounds memory access`);
// ./test/core/address.wast:488
assert_trap(() => invoke($
1 , `
8 u_good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:489
assert_trap(() => invoke($
1 , `
8 s_good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:490
assert_trap(() => invoke($
1 , `
16 u_good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:491
assert_trap(() => invoke($
1 , `
16 s_good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:492
assert_trap(() => invoke($
1 , `
32 u_good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:493
assert_trap(() => invoke($
1 , `
32 s_good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:494
assert_trap(() => invoke($
1 , `
64 _good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:496
assert_trap(() => invoke($
1 , `
8 u_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:497
assert_trap(() => invoke($
1 , `
8 s_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:498
assert_trap(() => invoke($
1 , `
16 u_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:499
assert_trap(() => invoke($
1 , `
16 s_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:500
assert_trap(() => invoke($
1 , `
32 u_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:501
assert_trap(() => invoke($
1 , `
32 s_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:502
assert_trap(() => invoke($
1 , `
64 _bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:504
assert_trap(() => invoke($
1 , `
8 u_bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:505
assert_trap(() => invoke($
1 , `
8 s_bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:506
assert_trap(() => invoke($
1 , `
16 u_bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:507
assert_trap(() => invoke($
1 , `
16 s_bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:508
assert_trap(() => invoke($
1 , `
32 u_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:509
assert_trap(() => invoke($
1 , `
32 s_bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:510
assert_trap(() => invoke($
1 , `
64 _bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:514
let $
2 = instantiate(`(module
(memory
1 )
(data (i32.
const 0 )
"\\00\\00\\00\\00\\00\\00\\a0\\7f\\01\\00\\d0\\7f" )
(func (export
"32_good1" ) (param $$i i32) (result f32)
(f32.load offset=
0 (local.get $$i)) ;;
0 .
0 '\\00\\00\\00\\00'
)
(func (export
"32_good2" ) (param $$i i32) (result f32)
(f32.load align=
1 (local.get $$i)) ;;
0 .
0 '\\00\\00\\00\\00'
)
(func (export
"32_good3" ) (param $$i i32) (result f32)
(f32.load offset=
1 align=
1 (local.get $$i)) ;;
0 .
0 '\\00\\00\\00\\00'
)
(func (export
"32_good4" ) (param $$i i32) (result f32)
(f32.load offset=
2 align=
2 (local.get $$i)) ;;
0 .
0 '\\00\\00\\00\\00'
)
(func (export
"32_good5" ) (param $$i i32) (result f32)
(f32.load offset=
8 align=
4 (local.get $$i)) ;; nan:
0 x500001
'\\01\\00\\d0\\7f'
)
(func (export
"32_bad" ) (param $$i i32)
(drop (f32.load offset=
4294967295 (local.get $$i)))
)
)`);
// ./test/core/address.wast:538
assert_return(() => invoke($
2 , `
32 _good1`, [
0 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:539
assert_return(() => invoke($
2 , `
32 _good2`, [
0 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:540
assert_return(() => invoke($
2 , `
32 _good3`, [
0 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:541
assert_return(() => invoke($
2 , `
32 _good4`, [
0 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:542
assert_return(() => invoke($
2 , `
32 _good5`, [
0 ]), [bytes(
"f32" , [
0 x1,
0 x0,
0 xd0,
0 x7f])]);
// ./test/core/address.wast:544
assert_return(() => invoke($
2 , `
32 _good1`, [
65524 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:545
assert_return(() => invoke($
2 , `
32 _good2`, [
65524 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:546
assert_return(() => invoke($
2 , `
32 _good3`, [
65524 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:547
assert_return(() => invoke($
2 , `
32 _good4`, [
65524 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:548
assert_return(() => invoke($
2 , `
32 _good5`, [
65524 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:550
assert_return(() => invoke($
2 , `
32 _good1`, [
65525 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:551
assert_return(() => invoke($
2 , `
32 _good2`, [
65525 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:552
assert_return(() => invoke($
2 , `
32 _good3`, [
65525 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:553
assert_return(() => invoke($
2 , `
32 _good4`, [
65525 ]), [value(
"f32" ,
0 )]);
// ./test/core/address.wast:554
assert_trap(() => invoke($
2 , `
32 _good5`, [
65525 ]), `out of bounds memory access`);
// ./test/core/address.wast:556
assert_trap(() => invoke($
2 , `
32 _good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:557
assert_trap(() => invoke($
2 , `
32 _good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:559
assert_trap(() => invoke($
2 , `
32 _bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:560
assert_trap(() => invoke($
2 , `
32 _bad`, [
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:564
let $
3 = instantiate(`(module
(memory
1 )
(data (i32.
const 0 )
"\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\f4\\7f\\01\\00\\00\\00\\00\\00\\fc\\7f" )
(func (export
"64_good1" ) (param $$i i32) (result f64)
(f64.load offset=
0 (local.get $$i)) ;;
0 .
0 '\\00\\00\\00\\00\\00\\00\\00\\00'
)
(func (export
"64_good2" ) (param $$i i32) (result f64)
(f64.load align=
1 (local.get $$i)) ;;
0 .
0 '\\00\\00\\00\\00\\00\\00\\00\\00'
)
(func (export
"64_good3" ) (param $$i i32) (result f64)
(f64.load offset=
1 align=
1 (local.get $$i)) ;;
0 .
0 '\\00\\00\\00\\00\\00\\00\\00\\00'
)
(func (export
"64_good4" ) (param $$i i32) (result f64)
(f64.load offset=
2 align=
2 (local.get $$i)) ;;
0 .
0 '\\00\\00\\00\\00\\00\\00\\00\\00'
)
(func (export
"64_good5" ) (param $$i i32) (result f64)
(f64.load offset=
18 align=
8 (local.get $$i)) ;; nan:
0 xc000000000001
'\\01\\00\\00\\00\\00\\00\\fc\\7f'
)
(func (export
"64_bad" ) (param $$i i32)
(drop (f64.load offset=
4294967295 (local.get $$i)))
)
)`);
// ./test/core/address.wast:588
assert_return(() => invoke($
3 , `
64 _good1`, [
0 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:589
assert_return(() => invoke($
3 , `
64 _good2`, [
0 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:590
assert_return(() => invoke($
3 , `
64 _good3`, [
0 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:591
assert_return(() => invoke($
3 , `
64 _good4`, [
0 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:592
assert_return(
() => invoke($
3 , `
64 _good5`, [
0 ]),
[bytes(
"f64" , [
0 x1,
0 x0,
0 x0,
0 x0,
0 x0,
0 x0,
0 xfc,
0 x7f])],
);
// ./test/core/address.wast:594
assert_return(() => invoke($
3 , `
64 _good1`, [
65510 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:595
assert_return(() => invoke($
3 , `
64 _good2`, [
65510 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:596
assert_return(() => invoke($
3 , `
64 _good3`, [
65510 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:597
assert_return(() => invoke($
3 , `
64 _good4`, [
65510 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:598
assert_return(() => invoke($
3 , `
64 _good5`, [
65510 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:600
assert_return(() => invoke($
3 , `
64 _good1`, [
65511 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:601
assert_return(() => invoke($
3 , `
64 _good2`, [
65511 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:602
assert_return(() => invoke($
3 , `
64 _good3`, [
65511 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:603
assert_return(() => invoke($
3 , `
64 _good4`, [
65511 ]), [value(
"f64" ,
0 )]);
// ./test/core/address.wast:604
assert_trap(() => invoke($
3 , `
64 _good5`, [
65511 ]), `out of bounds memory access`);
// ./test/core/address.wast:606
assert_trap(() => invoke($
3 , `
64 _good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:607
assert_trap(() => invoke($
3 , `
64 _good3`, [-
1 ]), `out of bounds memory access`);
// ./test/core/address.wast:609
assert_trap(() => invoke($
3 , `
64 _bad`, [
0 ]), `out of bounds memory access`);
// ./test/core/address.wast:610
assert_trap(() => invoke($
3 , `
64 _bad`, [
1 ]), `out of bounds memory access`);
Messung V0.5 in Prozent C=87 H=88 G=87
¤ Dauer der Verarbeitung: 0.25 Sekunden
(vorverarbeitet am 2026-06-05)
¤
*© Formatika GbR, Deutschland