diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-12-30 13:41:02 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-12-30 14:02:14 -0800 |
commit | 585fd8af473354b9dfa7e57c5c6af396fa60945e (patch) | |
tree | c84871881aec6f957c9e3da32191b7c66859705b /test/dynamicLibrary.fromasm.imprecise.no-opts | |
parent | c25d24447aeede9df0e76aac5176cf525522343b (diff) | |
download | binaryen-585fd8af473354b9dfa7e57c5c6af396fa60945e.tar.gz binaryen-585fd8af473354b9dfa7e57c5c6af396fa60945e.tar.bz2 binaryen-585fd8af473354b9dfa7e57c5c6af396fa60945e.zip |
memoryBase and tableBase should not be mutable, as we need to use them in segment/element offsets
Diffstat (limited to 'test/dynamicLibrary.fromasm.imprecise.no-opts')
-rw-r--r-- | test/dynamicLibrary.fromasm.imprecise.no-opts | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/test/dynamicLibrary.fromasm.imprecise.no-opts b/test/dynamicLibrary.fromasm.imprecise.no-opts new file mode 100644 index 000000000..c29478fdb --- /dev/null +++ b/test/dynamicLibrary.fromasm.imprecise.no-opts @@ -0,0 +1,191 @@ +(module + (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (import "env" "DYNAMICTOP_PTR" (global $DYNAMICTOP_PTR$asm2wasm$import i32)) + (import "env" "tempDoublePtr" (global $tempDoublePtr$asm2wasm$import i32)) + (import "env" "ABORT" (global $ABORT$asm2wasm$import i32)) + (import "env" "memoryBase" (global $memoryBase i32)) + (import "env" "tableBase" (global $tableBase i32)) + (import "global" "NaN" (global $nan$asm2wasm$import f64)) + (import "global" "Infinity" (global $inf$asm2wasm$import f64)) + (import "env" "abortStackOverflow" (func $abortStackOverflow (param i32))) + (import "env" "_puts" (func $_puts (param i32) (result i32))) + (import "env" "memory" (memory $0 256 256)) + (import "env" "table" (table 0 0 anyfunc)) + (global $DYNAMICTOP_PTR (mut i32) (get_global $DYNAMICTOP_PTR$asm2wasm$import)) + (global $tempDoublePtr (mut i32) (get_global $tempDoublePtr$asm2wasm$import)) + (global $ABORT (mut i32) (get_global $ABORT$asm2wasm$import)) + (global $STACKTOP (mut i32) (i32.const 0)) + (global $STACK_MAX (mut i32) (i32.const 0)) + (global $__THREW__ (mut i32) (i32.const 0)) + (global $threwValue (mut i32) (i32.const 0)) + (global $setjmpId (mut i32) (i32.const 0)) + (global $undef (mut i32) (i32.const 0)) + (global $nan (mut f64) (get_global $nan$asm2wasm$import)) + (global $inf (mut f64) (get_global $inf$asm2wasm$import)) + (global $tempInt (mut i32) (i32.const 0)) + (global $tempBigInt (mut i32) (i32.const 0)) + (global $tempBigIntP (mut i32) (i32.const 0)) + (global $tempBigIntS (mut i32) (i32.const 0)) + (global $tempBigIntR (mut f64) (f64.const 0)) + (global $tempBigIntI (mut i32) (i32.const 0)) + (global $tempBigIntD (mut i32) (i32.const 0)) + (global $tempValue (mut i32) (i32.const 0)) + (global $tempDouble (mut f64) (f64.const 0)) + (global $tempRet0 (mut i32) (i32.const 0)) + (global $tempFloat (mut f32) (f32.const 0)) + (global $f0 (mut f32) (f32.const 0)) + (global $_global i32 (i32.const 5242912)) + (export "__ZN3FooC2Ev" (func $__ZN3FooC2Ev)) + (export "__post_instantiate" (func $__post_instantiate)) + (export "runPostSets" (func $runPostSets)) + (export "_global" (global $_global)) + (func $stackAlloc (param $size i32) (result i32) + (local $ret i32) + (set_local $ret + (get_global $STACKTOP) + ) + (set_global $STACKTOP + (i32.add + (get_global $STACKTOP) + (get_local $size) + ) + ) + (set_global $STACKTOP + (i32.and + (i32.add + (get_global $STACKTOP) + (i32.const 15) + ) + (i32.const -16) + ) + ) + (if + (i32.ge_s + (get_global $STACKTOP) + (get_global $STACK_MAX) + ) + (call $abortStackOverflow + (get_local $size) + ) + ) + (return + (get_local $ret) + ) + ) + (func $stackSave (result i32) + (return + (get_global $STACKTOP) + ) + ) + (func $stackRestore (param $top i32) + (set_global $STACKTOP + (get_local $top) + ) + ) + (func $establishStackSpace (param $stackBase i32) (param $stackMax i32) + (set_global $STACKTOP + (get_local $stackBase) + ) + (set_global $STACK_MAX + (get_local $stackMax) + ) + ) + (func $setThrew (param $threw i32) (param $value i32) + (if + (i32.eq + (get_global $__THREW__) + (i32.const 0) + ) + (block + (set_global $__THREW__ + (get_local $threw) + ) + (set_global $threwValue + (get_local $value) + ) + ) + ) + ) + (func $___cxx_global_var_init + (local $label i32) + (local $sp i32) + (set_local $sp + (get_global $STACKTOP) + ) + (call $__ZN3FooC2Ev + (i32.add + (get_global $memoryBase) + (i32.const 5242912) + ) + ) + (return) + ) + (func $__ZN3FooC2Ev (param $$0 i32) + (local $$1 i32) + (local $label i32) + (local $sp i32) + (set_local $sp + (get_global $STACKTOP) + ) + (set_global $STACKTOP + (i32.add + (get_global $STACKTOP) + (i32.const 16) + ) + ) + (if + (i32.ge_s + (get_global $STACKTOP) + (get_global $STACK_MAX) + ) + (call $abortStackOverflow + (i32.const 16) + ) + ) + (set_local $$1 + (get_local $$0) + ) + (drop + (call $_puts + (i32.add + (get_global $memoryBase) + (i32.const 0) + ) + ) + ) + (set_global $STACKTOP + (get_local $sp) + ) + (return) + ) + (func $__GLOBAL__sub_I_liblib_cpp + (local $label i32) + (local $sp i32) + (set_local $sp + (get_global $STACKTOP) + ) + (call $___cxx_global_var_init) + (return) + ) + (func $runPostSets + (local $temp i32) + (nop) + ) + (func $__post_instantiate + (set_global $STACKTOP + (i32.add + (get_global $memoryBase) + (i32.const 32) + ) + ) + (set_global $STACK_MAX + (i32.add + (get_global $STACKTOP) + (i32.const 5242880) + ) + ) + (call $runPostSets) + (call $__GLOBAL__sub_I_liblib_cpp) + ) +) |