diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-09-15 20:20:29 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-09-15 20:20:29 -0700 |
commit | 88c92cbfe7d9f69fa8605fa406e5dbb2ac628172 (patch) | |
tree | e296b38cf2181d3a51a293664509000bbd625bc4 /test | |
parent | a969d443230c82212164e4d3d3792ed723fee057 (diff) | |
download | binaryen-88c92cbfe7d9f69fa8605fa406e5dbb2ac628172.tar.gz binaryen-88c92cbfe7d9f69fa8605fa406e5dbb2ac628172.tar.bz2 binaryen-88c92cbfe7d9f69fa8605fa406e5dbb2ac628172.zip |
handle getTempRet0 having extra code, which can happen in emterpreter assertions mode
Diffstat (limited to 'test')
-rw-r--r-- | test/min.asm.js | 8 | ||||
-rw-r--r-- | test/min.fromasm | 8 | ||||
-rw-r--r-- | test/min.fromasm.imprecise | 8 | ||||
-rw-r--r-- | test/min.fromasm.imprecise.no-opts | 10 | ||||
-rw-r--r-- | test/min.fromasm.no-opts | 10 |
5 files changed, 43 insertions, 1 deletions
diff --git a/test/min.asm.js b/test/min.asm.js index b72002f97..bef48f4c2 100644 --- a/test/min.asm.js +++ b/test/min.asm.js @@ -18,6 +18,8 @@ function (global, env, buffer) { var hF32 = new global.Float32Array(buffer); var hF64 = new global.Float64Array(buffer); + var M = 0; // tempRet + function floats(f) { f = fr(f); var t = fr(0); @@ -40,7 +42,11 @@ function (global, env, buffer) { function ctzzzz() { return ctz32(0x1234) | 0; } + function ub() { + ub(); // emterpreter assertions mode might add some code here + return M | 0; + } - return { floats: floats }; + return { floats: floats, getTempRet0: ub }; } diff --git a/test/min.fromasm b/test/min.fromasm index 54380a4ec..a912c2dad 100644 --- a/test/min.fromasm +++ b/test/min.fromasm @@ -7,6 +7,8 @@ (import "env" "memoryBase" (global $memoryBase i32)) (import "env" "tableBase" (global $tableBase i32)) (export "floats" (func $floats)) + (export "getTempRet0" (func $ub)) + (global $M i32 (i32.const 0)) (func $floats (param $0 f32) (result f32) (local $1 f32) (f32.add @@ -31,4 +33,10 @@ (func $ctzzzz (result i32) (i32.const 2) ) + (func $ub (result i32) + (drop + (call $ub) + ) + (get_global $M) + ) ) diff --git a/test/min.fromasm.imprecise b/test/min.fromasm.imprecise index b07aba04e..a57298eef 100644 --- a/test/min.fromasm.imprecise +++ b/test/min.fromasm.imprecise @@ -6,6 +6,8 @@ (import "env" "memoryBase" (global $memoryBase i32)) (import "env" "tableBase" (global $tableBase i32)) (export "floats" (func $floats)) + (export "getTempRet0" (func $ub)) + (global $M i32 (i32.const 0)) (func $floats (param $0 f32) (result f32) (local $1 f32) (f32.add @@ -30,4 +32,10 @@ (func $ctzzzz (result i32) (i32.const 2) ) + (func $ub (result i32) + (drop + (call $ub) + ) + (get_global $M) + ) ) diff --git a/test/min.fromasm.imprecise.no-opts b/test/min.fromasm.imprecise.no-opts index dd89a9eed..c0fcb1917 100644 --- a/test/min.fromasm.imprecise.no-opts +++ b/test/min.fromasm.imprecise.no-opts @@ -6,6 +6,8 @@ (import "env" "memoryBase" (global $memoryBase i32)) (import "env" "tableBase" (global $tableBase i32)) (export "floats" (func $floats)) + (export "getTempRet0" (func $ub)) + (global $M i32 (i32.const 0)) (func $floats (param $f f32) (result f32) (local $t f32) (return @@ -60,4 +62,12 @@ ) ) ) + (func $ub (result i32) + (drop + (call $ub) + ) + (return + (get_global $M) + ) + ) ) diff --git a/test/min.fromasm.no-opts b/test/min.fromasm.no-opts index dd89a9eed..c0fcb1917 100644 --- a/test/min.fromasm.no-opts +++ b/test/min.fromasm.no-opts @@ -6,6 +6,8 @@ (import "env" "memoryBase" (global $memoryBase i32)) (import "env" "tableBase" (global $tableBase i32)) (export "floats" (func $floats)) + (export "getTempRet0" (func $ub)) + (global $M i32 (i32.const 0)) (func $floats (param $f f32) (result f32) (local $t f32) (return @@ -60,4 +62,12 @@ ) ) ) + (func $ub (result i32) + (drop + (call $ub) + ) + (return + (get_global $M) + ) + ) ) |