summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/memory-aliasing.js
blob: 40837bcc5927f2abf9074f3e87669591c2f753de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
load(libdir + "wasm.js");

var i = wasmEvalText(
`(module
   (memory 1) (data (i32.const 0) "\\01\\02\\03\\04\\05\\06\\07\\08")
   (func $off1 (param $base i32) (result i32)
     (i32.add
       (i32.load8_u (get_local $base))
       (i32.load8_u offset=1 (get_local $base)))
   )
   (export "off1" $off1)
   (func $off2 (param $base i32) (result i32)
     (i32.add
       (i32.load8_u offset=1 (get_local $base))
       (i32.load8_u offset=2 (get_local $base)))
   )
   (export "off2" $off2)
)`).exports;
assertEq(i.off1(0), 3);
assertEq(i.off1(1), 5);
assertEq(i.off1(2), 7);
assertEq(i.off1(3), 9);
assertEq(i.off2(0), 5);
assertEq(i.off2(1), 7);
assertEq(i.off2(2), 9);
assertEq(i.off2(3), 11);