summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@chromium.org>2017-08-24 12:43:12 -0700
committerGitHub <noreply@github.com>2017-08-24 12:43:12 -0700
commite60fcd0ba97ed75440c6f838619455be7a5e90a3 (patch)
treedbf187ed1eefcc9e16d5f5fac4be38b3fb539f94 /test
parentb07fafcebebab82dba46012256edc6445862cfce (diff)
downloadbinaryen-e60fcd0ba97ed75440c6f838619455be7a5e90a3.tar.gz
binaryen-e60fcd0ba97ed75440c6f838619455be7a5e90a3.tar.bz2
binaryen-e60fcd0ba97ed75440c6f838619455be7a5e90a3.zip
Add support for atomic wait and wake operators (#1140)
According to spec at https://github.com/WebAssembly/threads/blob/master/proposals/threads/Overview.md#wait-and-wake-operators
Diffstat (limited to 'test')
-rw-r--r--test/atomics.wast24
-rw-r--r--test/atomics.wast.from-wast24
-rw-r--r--test/atomics.wast.fromBinary26
-rw-r--r--test/atomics.wast.fromBinary.noDebugInfo26
4 files changed, 100 insertions, 0 deletions
diff --git a/test/atomics.wast b/test/atomics.wast
index 006412025..7ed32f189 100644
--- a/test/atomics.wast
+++ b/test/atomics.wast
@@ -134,4 +134,28 @@
)
)
)
+ (func $atomic-wait-wake (type $0)
+ (local $0 i32)
+ (local $1 i64)
+ (drop
+ (i32.wait
+ (get_local $0)
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (drop
+ (wake
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i64.wait
+ (get_local $0)
+ (get_local $1)
+ (get_local $1)
+ )
+ )
+ )
)
diff --git a/test/atomics.wast.from-wast b/test/atomics.wast.from-wast
index f44e232c4..48059dc45 100644
--- a/test/atomics.wast.from-wast
+++ b/test/atomics.wast.from-wast
@@ -134,4 +134,28 @@
)
)
)
+ (func $atomic-wait-wake (type $0)
+ (local $0 i32)
+ (local $1 i64)
+ (drop
+ (i32.wait
+ (get_local $0)
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (drop
+ (wake
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i64.wait
+ (get_local $0)
+ (get_local $1)
+ (get_local $1)
+ )
+ )
+ )
)
diff --git a/test/atomics.wast.fromBinary b/test/atomics.wast.fromBinary
index 09f978122..31acc6635 100644
--- a/test/atomics.wast.fromBinary
+++ b/test/atomics.wast.fromBinary
@@ -140,5 +140,31 @@
)
)
)
+ (func $atomic-wait-wake (type $0)
+ (local $var$0 i32)
+ (local $var$1 i64)
+ (block $label$0
+ (drop
+ (i32.wait
+ (get_local $var$0)
+ (get_local $var$0)
+ (get_local $var$1)
+ )
+ )
+ (drop
+ (wake
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i64.wait
+ (get_local $var$0)
+ (get_local $var$1)
+ (get_local $var$1)
+ )
+ )
+ )
+ )
)
diff --git a/test/atomics.wast.fromBinary.noDebugInfo b/test/atomics.wast.fromBinary.noDebugInfo
index 3b3426b1d..c45ae1fac 100644
--- a/test/atomics.wast.fromBinary.noDebugInfo
+++ b/test/atomics.wast.fromBinary.noDebugInfo
@@ -140,5 +140,31 @@
)
)
)
+ (func $3 (type $0)
+ (local $var$0 i32)
+ (local $var$1 i64)
+ (block $label$0
+ (drop
+ (i32.wait
+ (get_local $var$0)
+ (get_local $var$0)
+ (get_local $var$1)
+ )
+ )
+ (drop
+ (wake
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i64.wait
+ (get_local $var$0)
+ (get_local $var$1)
+ (get_local $var$1)
+ )
+ )
+ )
+ )
)