diff options
author | Alon Zakai <alonzakai@gmail.com> | 2017-08-22 09:47:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-22 09:47:50 -0700 |
commit | ad8bc65685b19c0c3323dbb0a5cf2b6f709c7b92 (patch) | |
tree | fa8fd2da45450d75d5043f99baa09aa6af7f9b5f /test/polymorphic_stack.wast.fromBinary | |
parent | e5e77281ca516b7b802eb6c9b4bc3b39e2a8201e (diff) | |
download | binaryen-ad8bc65685b19c0c3323dbb0a5cf2b6f709c7b92.tar.gz binaryen-ad8bc65685b19c0c3323dbb0a5cf2b6f709c7b92.tar.bz2 binaryen-ad8bc65685b19c0c3323dbb0a5cf2b6f709c7b92.zip |
Ignore unreachable code in wasm binaries (#1122)
Ignoring unreachable code in wasm binaries lets us avoid corner cases with unstructured code in wasm binaries that is a poor fit for Binaryen's structured IR.
Diffstat (limited to 'test/polymorphic_stack.wast.fromBinary')
-rw-r--r-- | test/polymorphic_stack.wast.fromBinary | 104 |
1 files changed, 17 insertions, 87 deletions
diff --git a/test/polymorphic_stack.wast.fromBinary b/test/polymorphic_stack.wast.fromBinary index b139c9c06..68bb7ecf7 100644 --- a/test/polymorphic_stack.wast.fromBinary +++ b/test/polymorphic_stack.wast.fromBinary @@ -8,81 +8,18 @@ (func $break-and-binary (type $1) (result i32) (block $label$0 (result i32) (unreachable) - (i32.trunc_u/f64 - (unreachable) - ) - (unreachable) - (br_if $label$0 - (i32.trunc_u/f64 - (unreachable) - ) - (unreachable) - ) - (f32.add - (unreachable) - (f32.const 1) - ) - (unreachable) ) ) (func $call-and-unary (type $0) (param $var$0 i32) (result i32) (block $label$0 (result i32) (unreachable) - (call $call-and-unary - (unreachable) - ) - (i64.eqz - (unreachable) - ) - (drop - (unreachable) - ) - (i32.eqz - (unreachable) - ) - (i64.eqz - (unreachable) - ) - (drop - (unreachable) - ) - (call_indirect $0 - (unreachable) - (unreachable) - ) - (i64.eqz - (unreachable) - ) - (drop - (unreachable) - ) ) ) (func $tee (type $2) (param $var$0 i32) (local $var$1 f32) (block $label$0 (unreachable) - (tee_local $var$0 - (unreachable) - ) - (i64.eqz - (unreachable) - ) - (drop - (unreachable) - ) - (i64.eqz - (unreachable) - ) - (tee_local $var$1 - (unreachable) - ) - (drop - (unreachable) - ) - (unreachable) ) - (unreachable) ) (func $tee2 (type $3) (local $var$0 f32) @@ -90,48 +27,41 @@ (i32.const 259) (block $label$0 (unreachable) - (tee_local $var$0 - (unreachable) - ) - (unreachable) ) ) ) (func $select (type $3) (unreachable) - (select - (unreachable) - (i32.const 1) - (i32.const 2) - ) - (i64.eqz - (unreachable) - ) - (drop - (unreachable) - ) ) (func $untaken-break-should-have-value (type $1) (result i32) (block $label$0 (result i32) (block $label$1 (unreachable) - (br_if $label$0 - (unreachable) - (unreachable) - ) - (unreachable) - (unreachable) ) (unreachable) ) ) + (func $unreachable-in-block-but-code-before (type $0) (param $var$0 i32) (result i32) + (block $label$0 (result i32) + (if + (get_local $var$0) + (block $label$1 + (return + (i32.const 127) + ) + ) + ) + (block $label$2 (result i32) + (return + (i32.const -32) + ) + ) + ) + ) (func $br_table_unreachable_to_also_unreachable (type $1) (result i32) (block $label$0 (result i32) (block $label$1 (unreachable) - (unreachable) - (unreachable) - (unreachable) ) (unreachable) ) |