summaryrefslogtreecommitdiff
path: root/test/dynamicLibrary.fromasm.imprecise.no-opts
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-12-30 13:41:02 -0800
committerAlon Zakai <alonzakai@gmail.com>2016-12-30 14:02:14 -0800
commit585fd8af473354b9dfa7e57c5c6af396fa60945e (patch)
treec84871881aec6f957c9e3da32191b7c66859705b /test/dynamicLibrary.fromasm.imprecise.no-opts
parentc25d24447aeede9df0e76aac5176cf525522343b (diff)
downloadbinaryen-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-opts191
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)
+ )
+)