summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/memory-aliasing.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/wasm/memory-aliasing.js')
-rw-r--r--js/src/jit-test/tests/wasm/memory-aliasing.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/memory-aliasing.js b/js/src/jit-test/tests/wasm/memory-aliasing.js
new file mode 100644
index 000000000..40837bcc5
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/memory-aliasing.js
@@ -0,0 +1,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);