diff --git a/Cargo.lock b/Cargo.lock index 5f55a2ea5..6d301f57f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1036,6 +1036,7 @@ version = "0.1.0" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.48 (git+https://github.com/rust-lang/libc)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/lib/emscripten/Cargo.toml b/lib/emscripten/Cargo.toml index 36831f87d..648817eec 100644 --- a/lib/emscripten/Cargo.toml +++ b/lib/emscripten/Cargo.toml @@ -10,6 +10,7 @@ build = "build/mod.rs" [dependencies] wasmer-runtime-core = { path = "../runtime-core", version = "0.1.0" } +lazy_static = "1.2.0" libc = { git = "https://github.com/rust-lang/libc" } byteorder = "1" time = "0.1.41" diff --git a/lib/emscripten/emtests/FS_exports.wasm b/lib/emscripten/emtests/FS_exports.wasm index 5c65988e0..255839e4d 100644 Binary files a/lib/emscripten/emtests/FS_exports.wasm and b/lib/emscripten/emtests/FS_exports.wasm differ diff --git a/lib/emscripten/emtests/clock_gettime.wasm b/lib/emscripten/emtests/clock_gettime.wasm index 1a855a75a..fd5ddd398 100644 Binary files a/lib/emscripten/emtests/clock_gettime.wasm and b/lib/emscripten/emtests/clock_gettime.wasm differ diff --git a/lib/emscripten/emtests/closebitcasts.wasm b/lib/emscripten/emtests/closebitcasts.wasm index 89ed015d5..82d90c281 100644 Binary files a/lib/emscripten/emtests/closebitcasts.wasm and b/lib/emscripten/emtests/closebitcasts.wasm differ diff --git a/lib/emscripten/emtests/dyncall.wasm b/lib/emscripten/emtests/dyncall.wasm index de0f05445..13ffc9617 100644 Binary files a/lib/emscripten/emtests/dyncall.wasm and b/lib/emscripten/emtests/dyncall.wasm differ diff --git a/lib/emscripten/emtests/dyncall_specific.wasm b/lib/emscripten/emtests/dyncall_specific.wasm index d7781255b..d08d0a861 100644 Binary files a/lib/emscripten/emtests/dyncall_specific.wasm and b/lib/emscripten/emtests/dyncall_specific.wasm differ diff --git a/lib/emscripten/emtests/emscripten_get_compiler_setting.wasm b/lib/emscripten/emtests/emscripten_get_compiler_setting.wasm index 3af77a618..5151cc3a8 100644 Binary files a/lib/emscripten/emtests/emscripten_get_compiler_setting.wasm and b/lib/emscripten/emtests/emscripten_get_compiler_setting.wasm differ diff --git a/lib/emscripten/emtests/env.wasm b/lib/emscripten/emtests/env.wasm index 0df9e53a5..fba068d5d 100644 Binary files a/lib/emscripten/emtests/env.wasm and b/lib/emscripten/emtests/env.wasm differ diff --git a/lib/emscripten/emtests/getValue_setValue.wasm b/lib/emscripten/emtests/getValue_setValue.wasm index cab7b6cb6..a826f008c 100644 Binary files a/lib/emscripten/emtests/getValue_setValue.wasm and b/lib/emscripten/emtests/getValue_setValue.wasm differ diff --git a/lib/emscripten/emtests/legacy_exported_runtime_numbers.wasm b/lib/emscripten/emtests/legacy_exported_runtime_numbers.wasm index e0f1ee78c..98426ab01 100644 Binary files a/lib/emscripten/emtests/legacy_exported_runtime_numbers.wasm and b/lib/emscripten/emtests/legacy_exported_runtime_numbers.wasm differ diff --git a/lib/emscripten/emtests/localtime.wasm b/lib/emscripten/emtests/localtime.wasm index 699d0d96b..083d8bd58 100644 Binary files a/lib/emscripten/emtests/localtime.wasm and b/lib/emscripten/emtests/localtime.wasm differ diff --git a/lib/emscripten/emtests/modularize_closure_pre.wasm b/lib/emscripten/emtests/modularize_closure_pre.wasm index 2eae20cd9..a2f6a5507 100644 Binary files a/lib/emscripten/emtests/modularize_closure_pre.wasm and b/lib/emscripten/emtests/modularize_closure_pre.wasm differ diff --git a/lib/emscripten/emtests/printf.wasm b/lib/emscripten/emtests/printf.wasm index c3f19ab96..b466aa9e7 100644 Binary files a/lib/emscripten/emtests/printf.wasm and b/lib/emscripten/emtests/printf.wasm differ diff --git a/lib/emscripten/emtests/puts.wasm b/lib/emscripten/emtests/puts.wasm index c01c5d8b7..6c7e1d91e 100644 Binary files a/lib/emscripten/emtests/puts.wasm and b/lib/emscripten/emtests/puts.wasm differ diff --git a/lib/emscripten/emtests/stackAlloc.wasm b/lib/emscripten/emtests/stackAlloc.wasm index 0787b9ecc..1b8910786 100644 Binary files a/lib/emscripten/emtests/stackAlloc.wasm and b/lib/emscripten/emtests/stackAlloc.wasm differ diff --git a/lib/emscripten/emtests/stack_overflow.wasm b/lib/emscripten/emtests/stack_overflow.wasm index 515a51e0d..5cc7a4791 100644 Binary files a/lib/emscripten/emtests/stack_overflow.wasm and b/lib/emscripten/emtests/stack_overflow.wasm differ diff --git a/lib/emscripten/emtests/test_addr_of_stacked.wasm b/lib/emscripten/emtests/test_addr_of_stacked.wasm index fce82c17a..12c763c03 100644 Binary files a/lib/emscripten/emtests/test_addr_of_stacked.wasm and b/lib/emscripten/emtests/test_addr_of_stacked.wasm differ diff --git a/lib/emscripten/emtests/test_alloca.wasm b/lib/emscripten/emtests/test_alloca.wasm index f623c9f2d..acbc0b180 100644 Binary files a/lib/emscripten/emtests/test_alloca.wasm and b/lib/emscripten/emtests/test_alloca.wasm differ diff --git a/lib/emscripten/emtests/test_alloca_stack.wasm b/lib/emscripten/emtests/test_alloca_stack.wasm index 98985f34a..d50dc3802 100644 Binary files a/lib/emscripten/emtests/test_alloca_stack.wasm and b/lib/emscripten/emtests/test_alloca_stack.wasm differ diff --git a/lib/emscripten/emtests/test_array2.wasm b/lib/emscripten/emtests/test_array2.wasm index 6d3f8434f..320c7f100 100644 Binary files a/lib/emscripten/emtests/test_array2.wasm and b/lib/emscripten/emtests/test_array2.wasm differ diff --git a/lib/emscripten/emtests/test_array2b.wasm b/lib/emscripten/emtests/test_array2b.wasm index 6511dbd2c..c11076457 100644 Binary files a/lib/emscripten/emtests/test_array2b.wasm and b/lib/emscripten/emtests/test_array2b.wasm differ diff --git a/lib/emscripten/emtests/test_atoX.wasm b/lib/emscripten/emtests/test_atoX.wasm index 5588c91a0..a36b2a59f 100644 Binary files a/lib/emscripten/emtests/test_atoX.wasm and b/lib/emscripten/emtests/test_atoX.wasm differ diff --git a/lib/emscripten/emtests/test_atomic.wasm b/lib/emscripten/emtests/test_atomic.wasm index 3b2c89e52..e38529b62 100644 Binary files a/lib/emscripten/emtests/test_atomic.wasm and b/lib/emscripten/emtests/test_atomic.wasm differ diff --git a/lib/emscripten/emtests/test_atomic_cxx.wasm b/lib/emscripten/emtests/test_atomic_cxx.wasm index 3f12b1663..182df2ce4 100644 Binary files a/lib/emscripten/emtests/test_atomic_cxx.wasm and b/lib/emscripten/emtests/test_atomic_cxx.wasm differ diff --git a/lib/emscripten/emtests/test_bsearch.wasm b/lib/emscripten/emtests/test_bsearch.wasm index cefea5571..3d0e3d784 100644 Binary files a/lib/emscripten/emtests/test_bsearch.wasm and b/lib/emscripten/emtests/test_bsearch.wasm differ diff --git a/lib/emscripten/emtests/test_ccall.wasm b/lib/emscripten/emtests/test_ccall.wasm index 014883f0d..b69fc46c5 100644 Binary files a/lib/emscripten/emtests/test_ccall.wasm and b/lib/emscripten/emtests/test_ccall.wasm differ diff --git a/lib/emscripten/emtests/test_complex.wasm b/lib/emscripten/emtests/test_complex.wasm index d8996ad84..bddd1b919 100644 Binary files a/lib/emscripten/emtests/test_complex.wasm and b/lib/emscripten/emtests/test_complex.wasm differ diff --git a/lib/emscripten/emtests/test_demangle_stacks.wasm b/lib/emscripten/emtests/test_demangle_stacks.wasm index e040a3a44..dd91254a4 100644 Binary files a/lib/emscripten/emtests/test_demangle_stacks.wasm and b/lib/emscripten/emtests/test_demangle_stacks.wasm differ diff --git a/lib/emscripten/emtests/test_demangle_stacks_noassert.wasm b/lib/emscripten/emtests/test_demangle_stacks_noassert.wasm index 0ddaf5d43..3a85b778c 100644 Binary files a/lib/emscripten/emtests/test_demangle_stacks_noassert.wasm and b/lib/emscripten/emtests/test_demangle_stacks_noassert.wasm differ diff --git a/lib/emscripten/emtests/test_dlmalloc_partial_2.wasm b/lib/emscripten/emtests/test_dlmalloc_partial_2.wasm index 4791dc760..5a4dbcc3c 100644 Binary files a/lib/emscripten/emtests/test_dlmalloc_partial_2.wasm and b/lib/emscripten/emtests/test_dlmalloc_partial_2.wasm differ diff --git a/lib/emscripten/emtests/test_double_varargs.wasm b/lib/emscripten/emtests/test_double_varargs.wasm index b5fd21587..1b33500ee 100644 Binary files a/lib/emscripten/emtests/test_double_varargs.wasm and b/lib/emscripten/emtests/test_double_varargs.wasm differ diff --git a/lib/emscripten/emtests/test_em_asm.wasm b/lib/emscripten/emtests/test_em_asm.wasm index e0c86abd6..464795c7b 100644 Binary files a/lib/emscripten/emtests/test_em_asm.wasm and b/lib/emscripten/emtests/test_em_asm.wasm differ diff --git a/lib/emscripten/emtests/test_em_asm_2.wasm b/lib/emscripten/emtests/test_em_asm_2.wasm index 6325ba5c8..677cf8703 100644 Binary files a/lib/emscripten/emtests/test_em_asm_2.wasm and b/lib/emscripten/emtests/test_em_asm_2.wasm differ diff --git a/lib/emscripten/emtests/test_em_asm_parameter_pack.wasm b/lib/emscripten/emtests/test_em_asm_parameter_pack.wasm index 872d966a3..5a028d06b 100644 Binary files a/lib/emscripten/emtests/test_em_asm_parameter_pack.wasm and b/lib/emscripten/emtests/test_em_asm_parameter_pack.wasm differ diff --git a/lib/emscripten/emtests/test_em_asm_signatures.wasm b/lib/emscripten/emtests/test_em_asm_signatures.wasm index e3909729c..29bf86083 100644 Binary files a/lib/emscripten/emtests/test_em_asm_signatures.wasm and b/lib/emscripten/emtests/test_em_asm_signatures.wasm differ diff --git a/lib/emscripten/emtests/test_em_asm_unicode.wasm b/lib/emscripten/emtests/test_em_asm_unicode.wasm index bf21149de..6313244ca 100644 Binary files a/lib/emscripten/emtests/test_em_asm_unicode.wasm and b/lib/emscripten/emtests/test_em_asm_unicode.wasm differ diff --git a/lib/emscripten/emtests/test_em_asm_unused_arguments.wasm b/lib/emscripten/emtests/test_em_asm_unused_arguments.wasm index bc217bf2e..fcdf08821 100644 Binary files a/lib/emscripten/emtests/test_em_asm_unused_arguments.wasm and b/lib/emscripten/emtests/test_em_asm_unused_arguments.wasm differ diff --git a/lib/emscripten/emtests/test_em_js.wasm b/lib/emscripten/emtests/test_em_js.wasm index 0f8b21682..ce044115e 100644 Binary files a/lib/emscripten/emtests/test_em_js.wasm and b/lib/emscripten/emtests/test_em_js.wasm differ diff --git a/lib/emscripten/emtests/test_emscripten_api.wasm b/lib/emscripten/emtests/test_emscripten_api.wasm index 0424dd889..b69ca687e 100644 Binary files a/lib/emscripten/emtests/test_emscripten_api.wasm and b/lib/emscripten/emtests/test_emscripten_api.wasm differ diff --git a/lib/emscripten/emtests/test_emulate_function_pointer_casts.wasm b/lib/emscripten/emtests/test_emulate_function_pointer_casts.wasm index 52a1a83b6..e115ef77f 100644 Binary files a/lib/emscripten/emtests/test_emulate_function_pointer_casts.wasm and b/lib/emscripten/emtests/test_emulate_function_pointer_casts.wasm differ diff --git a/lib/emscripten/emtests/test_erf.wasm b/lib/emscripten/emtests/test_erf.wasm index 124f3af3b..fe67b717f 100644 Binary files a/lib/emscripten/emtests/test_erf.wasm and b/lib/emscripten/emtests/test_erf.wasm differ diff --git a/lib/emscripten/emtests/test_errar.wasm b/lib/emscripten/emtests/test_errar.wasm index 65429609b..c512c803c 100644 Binary files a/lib/emscripten/emtests/test_errar.wasm and b/lib/emscripten/emtests/test_errar.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_2.wasm b/lib/emscripten/emtests/test_exceptions_2.wasm index 6add03b75..52cf48e5f 100644 Binary files a/lib/emscripten/emtests/test_exceptions_2.wasm and b/lib/emscripten/emtests/test_exceptions_2.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_convert.wasm b/lib/emscripten/emtests/test_exceptions_convert.wasm index f57ab9f75..216a54fe2 100644 Binary files a/lib/emscripten/emtests/test_exceptions_convert.wasm and b/lib/emscripten/emtests/test_exceptions_convert.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_destroy_virtual.wasm b/lib/emscripten/emtests/test_exceptions_destroy_virtual.wasm index f4794ad14..2f8f4e813 100644 Binary files a/lib/emscripten/emtests/test_exceptions_destroy_virtual.wasm and b/lib/emscripten/emtests/test_exceptions_destroy_virtual.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_libcxx.wasm b/lib/emscripten/emtests/test_exceptions_libcxx.wasm index c7019ed8f..3215a4146 100644 Binary files a/lib/emscripten/emtests/test_exceptions_libcxx.wasm and b/lib/emscripten/emtests/test_exceptions_libcxx.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_multi.wasm b/lib/emscripten/emtests/test_exceptions_multi.wasm index 2a225775a..d2261445d 100644 Binary files a/lib/emscripten/emtests/test_exceptions_multi.wasm and b/lib/emscripten/emtests/test_exceptions_multi.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_multiple_inherit.wasm b/lib/emscripten/emtests/test_exceptions_multiple_inherit.wasm index 8ee5a6350..e608942a2 100644 Binary files a/lib/emscripten/emtests/test_exceptions_multiple_inherit.wasm and b/lib/emscripten/emtests/test_exceptions_multiple_inherit.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_multiple_inherit_rethrow.wasm b/lib/emscripten/emtests/test_exceptions_multiple_inherit_rethrow.wasm index 5ca16790c..6330d0e58 100644 Binary files a/lib/emscripten/emtests/test_exceptions_multiple_inherit_rethrow.wasm and b/lib/emscripten/emtests/test_exceptions_multiple_inherit_rethrow.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_primary.wasm b/lib/emscripten/emtests/test_exceptions_primary.wasm index ba76a05b7..a072880f4 100644 Binary files a/lib/emscripten/emtests/test_exceptions_primary.wasm and b/lib/emscripten/emtests/test_exceptions_primary.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_refcount.wasm b/lib/emscripten/emtests/test_exceptions_refcount.wasm index e3876ae6a..2fd86c1d5 100644 Binary files a/lib/emscripten/emtests/test_exceptions_refcount.wasm and b/lib/emscripten/emtests/test_exceptions_refcount.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_resume.wasm b/lib/emscripten/emtests/test_exceptions_resume.wasm index 7fe8366d1..c0564c6ea 100644 Binary files a/lib/emscripten/emtests/test_exceptions_resume.wasm and b/lib/emscripten/emtests/test_exceptions_resume.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_rethrow.wasm b/lib/emscripten/emtests/test_exceptions_rethrow.wasm index b528620c4..ff3a1025f 100644 Binary files a/lib/emscripten/emtests/test_exceptions_rethrow.wasm and b/lib/emscripten/emtests/test_exceptions_rethrow.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_simplify_cfg.wasm b/lib/emscripten/emtests/test_exceptions_simplify_cfg.wasm index 72b2ce843..39122af42 100644 Binary files a/lib/emscripten/emtests/test_exceptions_simplify_cfg.wasm and b/lib/emscripten/emtests/test_exceptions_simplify_cfg.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_std.wasm b/lib/emscripten/emtests/test_exceptions_std.wasm index 4d1de92dc..2415458b0 100644 Binary files a/lib/emscripten/emtests/test_exceptions_std.wasm and b/lib/emscripten/emtests/test_exceptions_std.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_virtual_inheritance.wasm b/lib/emscripten/emtests/test_exceptions_virtual_inheritance.wasm index d984fc859..6d376d598 100644 Binary files a/lib/emscripten/emtests/test_exceptions_virtual_inheritance.wasm and b/lib/emscripten/emtests/test_exceptions_virtual_inheritance.wasm differ diff --git a/lib/emscripten/emtests/test_exceptions_white_list.wasm b/lib/emscripten/emtests/test_exceptions_white_list.wasm index a376143f8..346bd9d69 100644 Binary files a/lib/emscripten/emtests/test_exceptions_white_list.wasm and b/lib/emscripten/emtests/test_exceptions_white_list.wasm differ diff --git a/lib/emscripten/emtests/test_fast_math.wasm b/lib/emscripten/emtests/test_fast_math.wasm index d44785824..efbae458c 100644 Binary files a/lib/emscripten/emtests/test_fast_math.wasm and b/lib/emscripten/emtests/test_fast_math.wasm differ diff --git a/lib/emscripten/emtests/test_flexarray_struct.wasm b/lib/emscripten/emtests/test_flexarray_struct.wasm index c1ea8478d..dfaf36ac1 100644 Binary files a/lib/emscripten/emtests/test_flexarray_struct.wasm and b/lib/emscripten/emtests/test_flexarray_struct.wasm differ diff --git a/lib/emscripten/emtests/test_float32_precise.wasm b/lib/emscripten/emtests/test_float32_precise.wasm index 99654449c..7e5a512f4 100644 Binary files a/lib/emscripten/emtests/test_float32_precise.wasm and b/lib/emscripten/emtests/test_float32_precise.wasm differ diff --git a/lib/emscripten/emtests/test_float_builtins.wasm b/lib/emscripten/emtests/test_float_builtins.wasm index ce0eb52d2..8734671be 100644 Binary files a/lib/emscripten/emtests/test_float_builtins.wasm and b/lib/emscripten/emtests/test_float_builtins.wasm differ diff --git a/lib/emscripten/emtests/test_frexp.wasm b/lib/emscripten/emtests/test_frexp.wasm index 402260c57..44632cf1b 100644 Binary files a/lib/emscripten/emtests/test_frexp.wasm and b/lib/emscripten/emtests/test_frexp.wasm differ diff --git a/lib/emscripten/emtests/test_funcptr.wasm b/lib/emscripten/emtests/test_funcptr.wasm index 6ea033f1f..4b0ad5aaa 100644 Binary files a/lib/emscripten/emtests/test_funcptr.wasm and b/lib/emscripten/emtests/test_funcptr.wasm differ diff --git a/lib/emscripten/emtests/test_funcptr_namecollide.wasm b/lib/emscripten/emtests/test_funcptr_namecollide.wasm index cf4fe2ed6..b58125071 100644 Binary files a/lib/emscripten/emtests/test_funcptr_namecollide.wasm and b/lib/emscripten/emtests/test_funcptr_namecollide.wasm differ diff --git a/lib/emscripten/emtests/test_funcptrfunc.wasm b/lib/emscripten/emtests/test_funcptrfunc.wasm index a536d7c23..2c7a06a75 100644 Binary files a/lib/emscripten/emtests/test_funcptrfunc.wasm and b/lib/emscripten/emtests/test_funcptrfunc.wasm differ diff --git a/lib/emscripten/emtests/test_funcs.wasm b/lib/emscripten/emtests/test_funcs.wasm index 653106f3c..81f969a1f 100644 Binary files a/lib/emscripten/emtests/test_funcs.wasm and b/lib/emscripten/emtests/test_funcs.wasm differ diff --git a/lib/emscripten/emtests/test_functionpointer_libfunc_varargs.wasm b/lib/emscripten/emtests/test_functionpointer_libfunc_varargs.wasm index a90faac40..bf7ca7df1 100644 Binary files a/lib/emscripten/emtests/test_functionpointer_libfunc_varargs.wasm and b/lib/emscripten/emtests/test_functionpointer_libfunc_varargs.wasm differ diff --git a/lib/emscripten/emtests/test_fwrite_0.wasm b/lib/emscripten/emtests/test_fwrite_0.wasm index 743966f75..731796673 100644 Binary files a/lib/emscripten/emtests/test_fwrite_0.wasm and b/lib/emscripten/emtests/test_fwrite_0.wasm differ diff --git a/lib/emscripten/emtests/test_getgep.wasm b/lib/emscripten/emtests/test_getgep.wasm index 7fab765ec..ff3c899d3 100644 Binary files a/lib/emscripten/emtests/test_getgep.wasm and b/lib/emscripten/emtests/test_getgep.wasm differ diff --git a/lib/emscripten/emtests/test_getloadavg.wasm b/lib/emscripten/emtests/test_getloadavg.wasm index ddc4db07e..cce9f01f5 100644 Binary files a/lib/emscripten/emtests/test_getloadavg.wasm and b/lib/emscripten/emtests/test_getloadavg.wasm differ diff --git a/lib/emscripten/emtests/test_getopt.wasm b/lib/emscripten/emtests/test_getopt.wasm index 674f00335..025bd912f 100644 Binary files a/lib/emscripten/emtests/test_getopt.wasm and b/lib/emscripten/emtests/test_getopt.wasm differ diff --git a/lib/emscripten/emtests/test_getopt_long.wasm b/lib/emscripten/emtests/test_getopt_long.wasm index c30c89b36..3b7031251 100644 Binary files a/lib/emscripten/emtests/test_getopt_long.wasm and b/lib/emscripten/emtests/test_getopt_long.wasm differ diff --git a/lib/emscripten/emtests/test_globaldoubles.wasm b/lib/emscripten/emtests/test_globaldoubles.wasm index 45d14c5c7..0da31aed8 100644 Binary files a/lib/emscripten/emtests/test_globaldoubles.wasm and b/lib/emscripten/emtests/test_globaldoubles.wasm differ diff --git a/lib/emscripten/emtests/test_globals.wasm b/lib/emscripten/emtests/test_globals.wasm index a1d0fe010..e36fa0516 100644 Binary files a/lib/emscripten/emtests/test_globals.wasm and b/lib/emscripten/emtests/test_globals.wasm differ diff --git a/lib/emscripten/emtests/test_gmtime.wasm b/lib/emscripten/emtests/test_gmtime.wasm index 5c8736f9c..93032ac35 100644 Binary files a/lib/emscripten/emtests/test_gmtime.wasm and b/lib/emscripten/emtests/test_gmtime.wasm differ diff --git a/lib/emscripten/emtests/test_hello_world.wasm b/lib/emscripten/emtests/test_hello_world.wasm index f0254d743..2898d1d8e 100644 Binary files a/lib/emscripten/emtests/test_hello_world.wasm and b/lib/emscripten/emtests/test_hello_world.wasm differ diff --git a/lib/emscripten/emtests/test_i16_emcc_intrinsic.wasm b/lib/emscripten/emtests/test_i16_emcc_intrinsic.wasm index da7927000..ddc191ccf 100644 Binary files a/lib/emscripten/emtests/test_i16_emcc_intrinsic.wasm and b/lib/emscripten/emtests/test_i16_emcc_intrinsic.wasm differ diff --git a/lib/emscripten/emtests/test_i32_mul_precise.wasm b/lib/emscripten/emtests/test_i32_mul_precise.wasm index 8b23cf534..ab7d9a5d3 100644 Binary files a/lib/emscripten/emtests/test_i32_mul_precise.wasm and b/lib/emscripten/emtests/test_i32_mul_precise.wasm differ diff --git a/lib/emscripten/emtests/test_i64.wasm b/lib/emscripten/emtests/test_i64.wasm index 4efffd068..5a0ced60d 100644 Binary files a/lib/emscripten/emtests/test_i64.wasm and b/lib/emscripten/emtests/test_i64.wasm differ diff --git a/lib/emscripten/emtests/test_i64_4.wasm b/lib/emscripten/emtests/test_i64_4.wasm index c87b72def..4622fb24b 100644 Binary files a/lib/emscripten/emtests/test_i64_4.wasm and b/lib/emscripten/emtests/test_i64_4.wasm differ diff --git a/lib/emscripten/emtests/test_i64_7z.wasm b/lib/emscripten/emtests/test_i64_7z.wasm index 6685749b2..60498708b 100644 Binary files a/lib/emscripten/emtests/test_i64_7z.wasm and b/lib/emscripten/emtests/test_i64_7z.wasm differ diff --git a/lib/emscripten/emtests/test_i64_cmp2.wasm b/lib/emscripten/emtests/test_i64_cmp2.wasm index 80f8591b6..c15965948 100644 Binary files a/lib/emscripten/emtests/test_i64_cmp2.wasm and b/lib/emscripten/emtests/test_i64_cmp2.wasm differ diff --git a/lib/emscripten/emtests/test_i64_i16.wasm b/lib/emscripten/emtests/test_i64_i16.wasm index f2b517968..7a627eb2f 100644 Binary files a/lib/emscripten/emtests/test_i64_i16.wasm and b/lib/emscripten/emtests/test_i64_i16.wasm differ diff --git a/lib/emscripten/emtests/test_i64_llabs.wasm b/lib/emscripten/emtests/test_i64_llabs.wasm index d97b3be74..bfeb4cd4d 100644 Binary files a/lib/emscripten/emtests/test_i64_llabs.wasm and b/lib/emscripten/emtests/test_i64_llabs.wasm differ diff --git a/lib/emscripten/emtests/test_i64_precise.wasm b/lib/emscripten/emtests/test_i64_precise.wasm index b13dd72e2..0b203d96a 100644 Binary files a/lib/emscripten/emtests/test_i64_precise.wasm and b/lib/emscripten/emtests/test_i64_precise.wasm differ diff --git a/lib/emscripten/emtests/test_i64_precise_needed.wasm b/lib/emscripten/emtests/test_i64_precise_needed.wasm index 74f4fd760..255aa6efd 100644 Binary files a/lib/emscripten/emtests/test_i64_precise_needed.wasm and b/lib/emscripten/emtests/test_i64_precise_needed.wasm differ diff --git a/lib/emscripten/emtests/test_i64_precise_unneeded.wasm b/lib/emscripten/emtests/test_i64_precise_unneeded.wasm index 97db9c75e..70d8a469f 100644 Binary files a/lib/emscripten/emtests/test_i64_precise_unneeded.wasm and b/lib/emscripten/emtests/test_i64_precise_unneeded.wasm differ diff --git a/lib/emscripten/emtests/test_i64_qdouble.wasm b/lib/emscripten/emtests/test_i64_qdouble.wasm index af01fdac7..2312bdfc6 100644 Binary files a/lib/emscripten/emtests/test_i64_qdouble.wasm and b/lib/emscripten/emtests/test_i64_qdouble.wasm differ diff --git a/lib/emscripten/emtests/test_i64_umul.wasm b/lib/emscripten/emtests/test_i64_umul.wasm index ed0dfd5f6..fc936deb1 100644 Binary files a/lib/emscripten/emtests/test_i64_umul.wasm and b/lib/emscripten/emtests/test_i64_umul.wasm differ diff --git a/lib/emscripten/emtests/test_i64_varargs.wasm b/lib/emscripten/emtests/test_i64_varargs.wasm index 2b1bf9567..5a937850a 100644 Binary files a/lib/emscripten/emtests/test_i64_varargs.wasm and b/lib/emscripten/emtests/test_i64_varargs.wasm differ diff --git a/lib/emscripten/emtests/test_i64_zextneg.wasm b/lib/emscripten/emtests/test_i64_zextneg.wasm index e7072ede9..0b322d33a 100644 Binary files a/lib/emscripten/emtests/test_i64_zextneg.wasm and b/lib/emscripten/emtests/test_i64_zextneg.wasm differ diff --git a/lib/emscripten/emtests/test_if.wasm b/lib/emscripten/emtests/test_if.wasm index 35c2dce9f..1363ac905 100644 Binary files a/lib/emscripten/emtests/test_if.wasm and b/lib/emscripten/emtests/test_if.wasm differ diff --git a/lib/emscripten/emtests/test_if_else.wasm b/lib/emscripten/emtests/test_if_else.wasm index 218dcfa1b..4cf4d816d 100644 Binary files a/lib/emscripten/emtests/test_if_else.wasm and b/lib/emscripten/emtests/test_if_else.wasm differ diff --git a/lib/emscripten/emtests/test_indirectbr.wasm b/lib/emscripten/emtests/test_indirectbr.wasm index 38a98b0d7..ead37257e 100644 Binary files a/lib/emscripten/emtests/test_indirectbr.wasm and b/lib/emscripten/emtests/test_indirectbr.wasm differ diff --git a/lib/emscripten/emtests/test_indirectbr_many.wasm b/lib/emscripten/emtests/test_indirectbr_many.wasm index 52d9bf1ba..0b45da62a 100644 Binary files a/lib/emscripten/emtests/test_indirectbr_many.wasm and b/lib/emscripten/emtests/test_indirectbr_many.wasm differ diff --git a/lib/emscripten/emtests/test_intentional_fault.wasm b/lib/emscripten/emtests/test_intentional_fault.wasm index 52100daa1..0847ebc06 100644 Binary files a/lib/emscripten/emtests/test_intentional_fault.wasm and b/lib/emscripten/emtests/test_intentional_fault.wasm differ diff --git a/lib/emscripten/emtests/test_isnan.wasm b/lib/emscripten/emtests/test_isnan.wasm index b2372094a..cd5817ebb 100644 Binary files a/lib/emscripten/emtests/test_isnan.wasm and b/lib/emscripten/emtests/test_isnan.wasm differ diff --git a/lib/emscripten/emtests/test_libcextra.wasm b/lib/emscripten/emtests/test_libcextra.wasm index 94e3bbd36..e130a879d 100644 Binary files a/lib/emscripten/emtests/test_libcextra.wasm and b/lib/emscripten/emtests/test_libcextra.wasm differ diff --git a/lib/emscripten/emtests/test_libgen.wasm b/lib/emscripten/emtests/test_libgen.wasm index f444d6f6b..547f51017 100644 Binary files a/lib/emscripten/emtests/test_libgen.wasm and b/lib/emscripten/emtests/test_libgen.wasm differ diff --git a/lib/emscripten/emtests/test_literal_negative_zero.wasm b/lib/emscripten/emtests/test_literal_negative_zero.wasm index 5729ab2bd..df965adf2 100644 Binary files a/lib/emscripten/emtests/test_literal_negative_zero.wasm and b/lib/emscripten/emtests/test_literal_negative_zero.wasm differ diff --git a/lib/emscripten/emtests/test_llrint.wasm b/lib/emscripten/emtests/test_llrint.wasm index 4784e2bd8..ea04c0e10 100644 Binary files a/lib/emscripten/emtests/test_llrint.wasm and b/lib/emscripten/emtests/test_llrint.wasm differ diff --git a/lib/emscripten/emtests/test_llvm_fabs.wasm b/lib/emscripten/emtests/test_llvm_fabs.wasm index a8fafb48c..6a656b360 100644 Binary files a/lib/emscripten/emtests/test_llvm_fabs.wasm and b/lib/emscripten/emtests/test_llvm_fabs.wasm differ diff --git a/lib/emscripten/emtests/test_llvm_intrinsics.wasm b/lib/emscripten/emtests/test_llvm_intrinsics.wasm index 1eb8441d8..0261df971 100644 Binary files a/lib/emscripten/emtests/test_llvm_intrinsics.wasm and b/lib/emscripten/emtests/test_llvm_intrinsics.wasm differ diff --git a/lib/emscripten/emtests/test_llvmswitch.wasm b/lib/emscripten/emtests/test_llvmswitch.wasm index 9966cf220..98a9135e9 100644 Binary files a/lib/emscripten/emtests/test_llvmswitch.wasm and b/lib/emscripten/emtests/test_llvmswitch.wasm differ diff --git a/lib/emscripten/emtests/test_longjmp.wasm b/lib/emscripten/emtests/test_longjmp.wasm index a34adcd2c..d616a89d0 100644 Binary files a/lib/emscripten/emtests/test_longjmp.wasm and b/lib/emscripten/emtests/test_longjmp.wasm differ diff --git a/lib/emscripten/emtests/test_longjmp2.wasm b/lib/emscripten/emtests/test_longjmp2.wasm index 78cd20e74..e7c3fcf98 100644 Binary files a/lib/emscripten/emtests/test_longjmp2.wasm and b/lib/emscripten/emtests/test_longjmp2.wasm differ diff --git a/lib/emscripten/emtests/test_longjmp3.wasm b/lib/emscripten/emtests/test_longjmp3.wasm index 519adc53b..160aa0cfd 100644 Binary files a/lib/emscripten/emtests/test_longjmp3.wasm and b/lib/emscripten/emtests/test_longjmp3.wasm differ diff --git a/lib/emscripten/emtests/test_longjmp4.wasm b/lib/emscripten/emtests/test_longjmp4.wasm index 87efd3a02..cd296ac01 100644 Binary files a/lib/emscripten/emtests/test_longjmp4.wasm and b/lib/emscripten/emtests/test_longjmp4.wasm differ diff --git a/lib/emscripten/emtests/test_longjmp_exc.wasm b/lib/emscripten/emtests/test_longjmp_exc.wasm index 6ee493a59..f901e34ca 100644 Binary files a/lib/emscripten/emtests/test_longjmp_exc.wasm and b/lib/emscripten/emtests/test_longjmp_exc.wasm differ diff --git a/lib/emscripten/emtests/test_longjmp_funcptr.wasm b/lib/emscripten/emtests/test_longjmp_funcptr.wasm index b76699879..8c9b1015c 100644 Binary files a/lib/emscripten/emtests/test_longjmp_funcptr.wasm and b/lib/emscripten/emtests/test_longjmp_funcptr.wasm differ diff --git a/lib/emscripten/emtests/test_longjmp_repeat.wasm b/lib/emscripten/emtests/test_longjmp_repeat.wasm index 27419d80e..2d92be64c 100644 Binary files a/lib/emscripten/emtests/test_longjmp_repeat.wasm and b/lib/emscripten/emtests/test_longjmp_repeat.wasm differ diff --git a/lib/emscripten/emtests/test_longjmp_stacked.wasm b/lib/emscripten/emtests/test_longjmp_stacked.wasm index 21645b31c..ed768c814 100644 Binary files a/lib/emscripten/emtests/test_longjmp_stacked.wasm and b/lib/emscripten/emtests/test_longjmp_stacked.wasm differ diff --git a/lib/emscripten/emtests/test_longjmp_throw.wasm b/lib/emscripten/emtests/test_longjmp_throw.wasm index 4cb6e05a6..4ba7ac0fb 100644 Binary files a/lib/emscripten/emtests/test_longjmp_throw.wasm and b/lib/emscripten/emtests/test_longjmp_throw.wasm differ diff --git a/lib/emscripten/emtests/test_longjmp_unwind.wasm b/lib/emscripten/emtests/test_longjmp_unwind.wasm index 219c20777..a65f578ce 100644 Binary files a/lib/emscripten/emtests/test_longjmp_unwind.wasm and b/lib/emscripten/emtests/test_longjmp_unwind.wasm differ diff --git a/lib/emscripten/emtests/test_loop.wasm b/lib/emscripten/emtests/test_loop.wasm index b1d7090cf..976f6c965 100644 Binary files a/lib/emscripten/emtests/test_loop.wasm and b/lib/emscripten/emtests/test_loop.wasm differ diff --git a/lib/emscripten/emtests/test_lower_intrinsics.wasm b/lib/emscripten/emtests/test_lower_intrinsics.wasm index d9f919b15..8cd046a46 100644 Binary files a/lib/emscripten/emtests/test_lower_intrinsics.wasm and b/lib/emscripten/emtests/test_lower_intrinsics.wasm differ diff --git a/lib/emscripten/emtests/test_main_module_static_align.wasm b/lib/emscripten/emtests/test_main_module_static_align.wasm index 09f107bbf..786b9c93a 100644 Binary files a/lib/emscripten/emtests/test_main_module_static_align.wasm and b/lib/emscripten/emtests/test_main_module_static_align.wasm differ diff --git a/lib/emscripten/emtests/test_main_thread_async_em_asm.wasm b/lib/emscripten/emtests/test_main_thread_async_em_asm.wasm index 9bd6baf28..68db09f1d 100644 Binary files a/lib/emscripten/emtests/test_main_thread_async_em_asm.wasm and b/lib/emscripten/emtests/test_main_thread_async_em_asm.wasm differ diff --git a/lib/emscripten/emtests/test_mainenv.wasm b/lib/emscripten/emtests/test_mainenv.wasm index 79d3de95a..9385f5ab9 100644 Binary files a/lib/emscripten/emtests/test_mainenv.wasm and b/lib/emscripten/emtests/test_mainenv.wasm differ diff --git a/lib/emscripten/emtests/test_mathfuncptr.wasm b/lib/emscripten/emtests/test_mathfuncptr.wasm index 0b589a7e6..6942507fb 100644 Binary files a/lib/emscripten/emtests/test_mathfuncptr.wasm and b/lib/emscripten/emtests/test_mathfuncptr.wasm differ diff --git a/lib/emscripten/emtests/test_memcpy2.wasm b/lib/emscripten/emtests/test_memcpy2.wasm index 38085d473..84eb5e87a 100644 Binary files a/lib/emscripten/emtests/test_memcpy2.wasm and b/lib/emscripten/emtests/test_memcpy2.wasm differ diff --git a/lib/emscripten/emtests/test_memcpy3.wasm b/lib/emscripten/emtests/test_memcpy3.wasm index 86019187f..f2d5212be 100644 Binary files a/lib/emscripten/emtests/test_memcpy3.wasm and b/lib/emscripten/emtests/test_memcpy3.wasm differ diff --git a/lib/emscripten/emtests/test_memcpy_memcmp.wasm b/lib/emscripten/emtests/test_memcpy_memcmp.wasm index 076fb1b02..ed5be2c51 100644 Binary files a/lib/emscripten/emtests/test_memcpy_memcmp.wasm and b/lib/emscripten/emtests/test_memcpy_memcmp.wasm differ diff --git a/lib/emscripten/emtests/test_memmove.wasm b/lib/emscripten/emtests/test_memmove.wasm index 6fd995f3d..a50bd5c8a 100644 Binary files a/lib/emscripten/emtests/test_memmove.wasm and b/lib/emscripten/emtests/test_memmove.wasm differ diff --git a/lib/emscripten/emtests/test_memmove2.wasm b/lib/emscripten/emtests/test_memmove2.wasm index ff460adeb..a7aabf867 100644 Binary files a/lib/emscripten/emtests/test_memmove2.wasm and b/lib/emscripten/emtests/test_memmove2.wasm differ diff --git a/lib/emscripten/emtests/test_memmove3.wasm b/lib/emscripten/emtests/test_memmove3.wasm index a50bc29d5..6da6c0928 100644 Binary files a/lib/emscripten/emtests/test_memmove3.wasm and b/lib/emscripten/emtests/test_memmove3.wasm differ diff --git a/lib/emscripten/emtests/test_memorygrowth.wasm b/lib/emscripten/emtests/test_memorygrowth.wasm index e9a9d5b3b..e0d5e9242 100644 Binary files a/lib/emscripten/emtests/test_memorygrowth.wasm and b/lib/emscripten/emtests/test_memorygrowth.wasm differ diff --git a/lib/emscripten/emtests/test_memorygrowth_2.wasm b/lib/emscripten/emtests/test_memorygrowth_2.wasm index 2d9955bf5..138953fc3 100644 Binary files a/lib/emscripten/emtests/test_memorygrowth_2.wasm and b/lib/emscripten/emtests/test_memorygrowth_2.wasm differ diff --git a/lib/emscripten/emtests/test_memorygrowth_3.wasm b/lib/emscripten/emtests/test_memorygrowth_3.wasm index b37ca7a26..d3571b2c6 100644 Binary files a/lib/emscripten/emtests/test_memorygrowth_3.wasm and b/lib/emscripten/emtests/test_memorygrowth_3.wasm differ diff --git a/lib/emscripten/emtests/test_memorygrowth_wasm_mem_max.wasm b/lib/emscripten/emtests/test_memorygrowth_wasm_mem_max.wasm index 9587238a2..2f62b2a4e 100644 Binary files a/lib/emscripten/emtests/test_memorygrowth_wasm_mem_max.wasm and b/lib/emscripten/emtests/test_memorygrowth_wasm_mem_max.wasm differ diff --git a/lib/emscripten/emtests/test_memset.wasm b/lib/emscripten/emtests/test_memset.wasm index f1a907bf6..5ef44eaea 100644 Binary files a/lib/emscripten/emtests/test_memset.wasm and b/lib/emscripten/emtests/test_memset.wasm differ diff --git a/lib/emscripten/emtests/test_mmap.wasm b/lib/emscripten/emtests/test_mmap.wasm index 7bb650376..4f9395d72 100644 Binary files a/lib/emscripten/emtests/test_mmap.wasm and b/lib/emscripten/emtests/test_mmap.wasm differ diff --git a/lib/emscripten/emtests/test_negative_zero.wasm b/lib/emscripten/emtests/test_negative_zero.wasm index 25b600150..bdd0e80d8 100644 Binary files a/lib/emscripten/emtests/test_negative_zero.wasm and b/lib/emscripten/emtests/test_negative_zero.wasm differ diff --git a/lib/emscripten/emtests/test_nested_struct_varargs.wasm b/lib/emscripten/emtests/test_nested_struct_varargs.wasm index ad58548f9..0dbf108ad 100644 Binary files a/lib/emscripten/emtests/test_nested_struct_varargs.wasm and b/lib/emscripten/emtests/test_nested_struct_varargs.wasm differ diff --git a/lib/emscripten/emtests/test_nl_types.wasm b/lib/emscripten/emtests/test_nl_types.wasm index 6754a6f09..669796b96 100644 Binary files a/lib/emscripten/emtests/test_nl_types.wasm and b/lib/emscripten/emtests/test_nl_types.wasm differ diff --git a/lib/emscripten/emtests/test_perrar.wasm b/lib/emscripten/emtests/test_perrar.wasm index 4df7353bc..d94df2313 100644 Binary files a/lib/emscripten/emtests/test_perrar.wasm and b/lib/emscripten/emtests/test_perrar.wasm differ diff --git a/lib/emscripten/emtests/test_phiundef.wasm b/lib/emscripten/emtests/test_phiundef.wasm index cdf2ceaf5..cad15db8f 100644 Binary files a/lib/emscripten/emtests/test_phiundef.wasm and b/lib/emscripten/emtests/test_phiundef.wasm differ diff --git a/lib/emscripten/emtests/test_poll.wasm b/lib/emscripten/emtests/test_poll.wasm index 480580065..8ffdc04e8 100644 Binary files a/lib/emscripten/emtests/test_poll.wasm and b/lib/emscripten/emtests/test_poll.wasm differ diff --git a/lib/emscripten/emtests/test_posixtime.wasm b/lib/emscripten/emtests/test_posixtime.wasm index df3392fb1..a7a455af3 100644 Binary files a/lib/emscripten/emtests/test_posixtime.wasm and b/lib/emscripten/emtests/test_posixtime.wasm differ diff --git a/lib/emscripten/emtests/test_printf_2.wasm b/lib/emscripten/emtests/test_printf_2.wasm index 000bd4489..839d8a3ef 100644 Binary files a/lib/emscripten/emtests/test_printf_2.wasm and b/lib/emscripten/emtests/test_printf_2.wasm differ diff --git a/lib/emscripten/emtests/test_printf_more.wasm b/lib/emscripten/emtests/test_printf_more.wasm index 5bc1b3d1d..8dec5a6f8 100644 Binary files a/lib/emscripten/emtests/test_printf_more.wasm and b/lib/emscripten/emtests/test_printf_more.wasm differ diff --git a/lib/emscripten/emtests/test_regex.wasm b/lib/emscripten/emtests/test_regex.wasm index 32735a4dc..3f9fa0901 100644 Binary files a/lib/emscripten/emtests/test_regex.wasm and b/lib/emscripten/emtests/test_regex.wasm differ diff --git a/lib/emscripten/emtests/test_relocatable_void_function.wasm b/lib/emscripten/emtests/test_relocatable_void_function.wasm index aab5206a1..db5e5eefc 100644 Binary files a/lib/emscripten/emtests/test_relocatable_void_function.wasm and b/lib/emscripten/emtests/test_relocatable_void_function.wasm differ diff --git a/lib/emscripten/emtests/test_rounding.wasm b/lib/emscripten/emtests/test_rounding.wasm index 050f2db67..20dd299ba 100644 Binary files a/lib/emscripten/emtests/test_rounding.wasm and b/lib/emscripten/emtests/test_rounding.wasm differ diff --git a/lib/emscripten/emtests/test_runtime_stacksave.wasm b/lib/emscripten/emtests/test_runtime_stacksave.wasm index 5afe815a4..8f7a42073 100644 Binary files a/lib/emscripten/emtests/test_runtime_stacksave.wasm and b/lib/emscripten/emtests/test_runtime_stacksave.wasm differ diff --git a/lib/emscripten/emtests/test_set_align.wasm b/lib/emscripten/emtests/test_set_align.wasm index 8cd2c3d7e..4255623cd 100644 Binary files a/lib/emscripten/emtests/test_set_align.wasm and b/lib/emscripten/emtests/test_set_align.wasm differ diff --git a/lib/emscripten/emtests/test_siglongjmp.wasm b/lib/emscripten/emtests/test_siglongjmp.wasm index 5085f747a..5b6e13c7b 100644 Binary files a/lib/emscripten/emtests/test_siglongjmp.wasm and b/lib/emscripten/emtests/test_siglongjmp.wasm differ diff --git a/lib/emscripten/emtests/test_sintvars.wasm b/lib/emscripten/emtests/test_sintvars.wasm index d95f735c0..85c55ec59 100644 Binary files a/lib/emscripten/emtests/test_sintvars.wasm and b/lib/emscripten/emtests/test_sintvars.wasm differ diff --git a/lib/emscripten/emtests/test_sizeof.wasm b/lib/emscripten/emtests/test_sizeof.wasm index 7826daca1..796e7053b 100644 Binary files a/lib/emscripten/emtests/test_sizeof.wasm and b/lib/emscripten/emtests/test_sizeof.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf.wasm b/lib/emscripten/emtests/test_sscanf.wasm index 64bc72f9b..caab61961 100644 Binary files a/lib/emscripten/emtests/test_sscanf.wasm and b/lib/emscripten/emtests/test_sscanf.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_3.wasm b/lib/emscripten/emtests/test_sscanf_3.wasm index aaf6940c5..a2b079166 100644 Binary files a/lib/emscripten/emtests/test_sscanf_3.wasm and b/lib/emscripten/emtests/test_sscanf_3.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_4.wasm b/lib/emscripten/emtests/test_sscanf_4.wasm index e19b937d0..e01c5db97 100644 Binary files a/lib/emscripten/emtests/test_sscanf_4.wasm and b/lib/emscripten/emtests/test_sscanf_4.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_5.wasm b/lib/emscripten/emtests/test_sscanf_5.wasm index ff2ea0d6f..4e47c5ea4 100644 Binary files a/lib/emscripten/emtests/test_sscanf_5.wasm and b/lib/emscripten/emtests/test_sscanf_5.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_6.wasm b/lib/emscripten/emtests/test_sscanf_6.wasm index 37c7583fb..5adcee63e 100644 Binary files a/lib/emscripten/emtests/test_sscanf_6.wasm and b/lib/emscripten/emtests/test_sscanf_6.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_caps.wasm b/lib/emscripten/emtests/test_sscanf_caps.wasm index c909033f3..d107a18f8 100644 Binary files a/lib/emscripten/emtests/test_sscanf_caps.wasm and b/lib/emscripten/emtests/test_sscanf_caps.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_float.wasm b/lib/emscripten/emtests/test_sscanf_float.wasm index 5807d73d6..3bde6bce1 100644 Binary files a/lib/emscripten/emtests/test_sscanf_float.wasm and b/lib/emscripten/emtests/test_sscanf_float.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_hex.wasm b/lib/emscripten/emtests/test_sscanf_hex.wasm index 338c0ace3..a3c8fd7cb 100644 Binary files a/lib/emscripten/emtests/test_sscanf_hex.wasm and b/lib/emscripten/emtests/test_sscanf_hex.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_n.wasm b/lib/emscripten/emtests/test_sscanf_n.wasm index e5dc001d6..be7e6d8ee 100644 Binary files a/lib/emscripten/emtests/test_sscanf_n.wasm and b/lib/emscripten/emtests/test_sscanf_n.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_other_whitespace.wasm b/lib/emscripten/emtests/test_sscanf_other_whitespace.wasm index 31015310a..8c511d067 100644 Binary files a/lib/emscripten/emtests/test_sscanf_other_whitespace.wasm and b/lib/emscripten/emtests/test_sscanf_other_whitespace.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_skip.wasm b/lib/emscripten/emtests/test_sscanf_skip.wasm index 0fb1dac61..df88b1995 100644 Binary files a/lib/emscripten/emtests/test_sscanf_skip.wasm and b/lib/emscripten/emtests/test_sscanf_skip.wasm differ diff --git a/lib/emscripten/emtests/test_sscanf_whitespace.wasm b/lib/emscripten/emtests/test_sscanf_whitespace.wasm index 19118832c..cb1b462b2 100644 Binary files a/lib/emscripten/emtests/test_sscanf_whitespace.wasm and b/lib/emscripten/emtests/test_sscanf_whitespace.wasm differ diff --git a/lib/emscripten/emtests/test_stack_align.wasm b/lib/emscripten/emtests/test_stack_align.wasm index a120d6f11..10172e1a8 100644 Binary files a/lib/emscripten/emtests/test_stack_align.wasm and b/lib/emscripten/emtests/test_stack_align.wasm differ diff --git a/lib/emscripten/emtests/test_stack_varargs.wasm b/lib/emscripten/emtests/test_stack_varargs.wasm index 309f838f8..c726a6a3c 100644 Binary files a/lib/emscripten/emtests/test_stack_varargs.wasm and b/lib/emscripten/emtests/test_stack_varargs.wasm differ diff --git a/lib/emscripten/emtests/test_stack_void.wasm b/lib/emscripten/emtests/test_stack_void.wasm index 978b0607a..3efc25730 100644 Binary files a/lib/emscripten/emtests/test_stack_void.wasm and b/lib/emscripten/emtests/test_stack_void.wasm differ diff --git a/lib/emscripten/emtests/test_statvfs.wasm b/lib/emscripten/emtests/test_statvfs.wasm index ef002f4fd..175d0e145 100644 Binary files a/lib/emscripten/emtests/test_statvfs.wasm and b/lib/emscripten/emtests/test_statvfs.wasm differ diff --git a/lib/emscripten/emtests/test_std_cout_new.wasm b/lib/emscripten/emtests/test_std_cout_new.wasm index 8f322ee36..e05464c1d 100644 Binary files a/lib/emscripten/emtests/test_std_cout_new.wasm and b/lib/emscripten/emtests/test_std_cout_new.wasm differ diff --git a/lib/emscripten/emtests/test_strcasecmp.wasm b/lib/emscripten/emtests/test_strcasecmp.wasm index 8aca91e7a..c1d8d2dd7 100644 Binary files a/lib/emscripten/emtests/test_strcasecmp.wasm and b/lib/emscripten/emtests/test_strcasecmp.wasm differ diff --git a/lib/emscripten/emtests/test_strcmp_uni.wasm b/lib/emscripten/emtests/test_strcmp_uni.wasm index 0069da1a9..c070216d6 100644 Binary files a/lib/emscripten/emtests/test_strcmp_uni.wasm and b/lib/emscripten/emtests/test_strcmp_uni.wasm differ diff --git a/lib/emscripten/emtests/test_strftime.wasm b/lib/emscripten/emtests/test_strftime.wasm index 561f44349..ea2687c7c 100644 Binary files a/lib/emscripten/emtests/test_strftime.wasm and b/lib/emscripten/emtests/test_strftime.wasm differ diff --git a/lib/emscripten/emtests/test_strings.wasm b/lib/emscripten/emtests/test_strings.wasm index 27f160b0f..bc26ff0e4 100644 Binary files a/lib/emscripten/emtests/test_strings.wasm and b/lib/emscripten/emtests/test_strings.wasm differ diff --git a/lib/emscripten/emtests/test_strndup.wasm b/lib/emscripten/emtests/test_strndup.wasm index 3d032b197..2f7b39502 100644 Binary files a/lib/emscripten/emtests/test_strndup.wasm and b/lib/emscripten/emtests/test_strndup.wasm differ diff --git a/lib/emscripten/emtests/test_strptime_days.wasm b/lib/emscripten/emtests/test_strptime_days.wasm index 86c51f93e..988fa2641 100644 Binary files a/lib/emscripten/emtests/test_strptime_days.wasm and b/lib/emscripten/emtests/test_strptime_days.wasm differ diff --git a/lib/emscripten/emtests/test_strptime_reentrant.wasm b/lib/emscripten/emtests/test_strptime_reentrant.wasm index 49716b6fa..24d08d7cf 100644 Binary files a/lib/emscripten/emtests/test_strptime_reentrant.wasm and b/lib/emscripten/emtests/test_strptime_reentrant.wasm differ diff --git a/lib/emscripten/emtests/test_strstr.wasm b/lib/emscripten/emtests/test_strstr.wasm index 239a78b33..1f9a363ae 100644 Binary files a/lib/emscripten/emtests/test_strstr.wasm and b/lib/emscripten/emtests/test_strstr.wasm differ diff --git a/lib/emscripten/emtests/test_strtod.wasm b/lib/emscripten/emtests/test_strtod.wasm index 3e349c2c6..34243695a 100644 Binary files a/lib/emscripten/emtests/test_strtod.wasm and b/lib/emscripten/emtests/test_strtod.wasm differ diff --git a/lib/emscripten/emtests/test_strtok.wasm b/lib/emscripten/emtests/test_strtok.wasm index aa7bef692..30a7fb7a7 100644 Binary files a/lib/emscripten/emtests/test_strtok.wasm and b/lib/emscripten/emtests/test_strtok.wasm differ diff --git a/lib/emscripten/emtests/test_strtol_bin.wasm b/lib/emscripten/emtests/test_strtol_bin.wasm index a6d4248a0..e189c8d67 100644 Binary files a/lib/emscripten/emtests/test_strtol_bin.wasm and b/lib/emscripten/emtests/test_strtol_bin.wasm differ diff --git a/lib/emscripten/emtests/test_strtol_dec.wasm b/lib/emscripten/emtests/test_strtol_dec.wasm index 9219a0b6c..071fb4130 100644 Binary files a/lib/emscripten/emtests/test_strtol_dec.wasm and b/lib/emscripten/emtests/test_strtol_dec.wasm differ diff --git a/lib/emscripten/emtests/test_strtol_hex.wasm b/lib/emscripten/emtests/test_strtol_hex.wasm index be2d48a0f..546f42a9f 100644 Binary files a/lib/emscripten/emtests/test_strtol_hex.wasm and b/lib/emscripten/emtests/test_strtol_hex.wasm differ diff --git a/lib/emscripten/emtests/test_strtol_oct.wasm b/lib/emscripten/emtests/test_strtol_oct.wasm index 52c00a59d..4e5d3b97c 100644 Binary files a/lib/emscripten/emtests/test_strtol_oct.wasm and b/lib/emscripten/emtests/test_strtol_oct.wasm differ diff --git a/lib/emscripten/emtests/test_strtold.wasm b/lib/emscripten/emtests/test_strtold.wasm index 38a2819f9..2d9da6204 100644 Binary files a/lib/emscripten/emtests/test_strtold.wasm and b/lib/emscripten/emtests/test_strtold.wasm differ diff --git a/lib/emscripten/emtests/test_strtoll_bin.wasm b/lib/emscripten/emtests/test_strtoll_bin.wasm index be521b0cf..b2ee57309 100644 Binary files a/lib/emscripten/emtests/test_strtoll_bin.wasm and b/lib/emscripten/emtests/test_strtoll_bin.wasm differ diff --git a/lib/emscripten/emtests/test_strtoll_dec.wasm b/lib/emscripten/emtests/test_strtoll_dec.wasm index 36e22518a..8e0291c94 100644 Binary files a/lib/emscripten/emtests/test_strtoll_dec.wasm and b/lib/emscripten/emtests/test_strtoll_dec.wasm differ diff --git a/lib/emscripten/emtests/test_strtoll_hex.wasm b/lib/emscripten/emtests/test_strtoll_hex.wasm index d85c91409..010f15b42 100644 Binary files a/lib/emscripten/emtests/test_strtoll_hex.wasm and b/lib/emscripten/emtests/test_strtoll_hex.wasm differ diff --git a/lib/emscripten/emtests/test_strtoll_oct.wasm b/lib/emscripten/emtests/test_strtoll_oct.wasm index b577d59e3..f25d954e3 100644 Binary files a/lib/emscripten/emtests/test_strtoll_oct.wasm and b/lib/emscripten/emtests/test_strtoll_oct.wasm differ diff --git a/lib/emscripten/emtests/test_struct_varargs.wasm b/lib/emscripten/emtests/test_struct_varargs.wasm index 82667ab3e..607530d4e 100644 Binary files a/lib/emscripten/emtests/test_struct_varargs.wasm and b/lib/emscripten/emtests/test_struct_varargs.wasm differ diff --git a/lib/emscripten/emtests/test_time_c.wasm b/lib/emscripten/emtests/test_time_c.wasm index 8003cc401..263cedc61 100644 Binary files a/lib/emscripten/emtests/test_time_c.wasm and b/lib/emscripten/emtests/test_time_c.wasm differ diff --git a/lib/emscripten/emtests/test_tracing.wasm b/lib/emscripten/emtests/test_tracing.wasm index 212bcf7ff..35d45a0ca 100644 Binary files a/lib/emscripten/emtests/test_tracing.wasm and b/lib/emscripten/emtests/test_tracing.wasm differ diff --git a/lib/emscripten/emtests/test_transtrcase.wasm b/lib/emscripten/emtests/test_transtrcase.wasm index fc14fb98b..fc54b2a41 100644 Binary files a/lib/emscripten/emtests/test_transtrcase.wasm and b/lib/emscripten/emtests/test_transtrcase.wasm differ diff --git a/lib/emscripten/emtests/test_trickystring.wasm b/lib/emscripten/emtests/test_trickystring.wasm index def39a824..99c45e800 100644 Binary files a/lib/emscripten/emtests/test_trickystring.wasm and b/lib/emscripten/emtests/test_trickystring.wasm differ diff --git a/lib/emscripten/emtests/test_uname.wasm b/lib/emscripten/emtests/test_uname.wasm index 097a46649..c28801d39 100644 Binary files a/lib/emscripten/emtests/test_uname.wasm and b/lib/emscripten/emtests/test_uname.wasm differ diff --git a/lib/emscripten/emtests/test_unary_literal.wasm b/lib/emscripten/emtests/test_unary_literal.wasm index 14042277d..aa7695bfe 100644 Binary files a/lib/emscripten/emtests/test_unary_literal.wasm and b/lib/emscripten/emtests/test_unary_literal.wasm differ diff --git a/lib/emscripten/emtests/test_utf.wasm b/lib/emscripten/emtests/test_utf.wasm index 92e6da9ab..6e0f90770 100644 Binary files a/lib/emscripten/emtests/test_utf.wasm and b/lib/emscripten/emtests/test_utf.wasm differ diff --git a/lib/emscripten/emtests/test_varargs.wasm b/lib/emscripten/emtests/test_varargs.wasm index daf5c40aa..f672fe8dc 100644 Binary files a/lib/emscripten/emtests/test_varargs.wasm and b/lib/emscripten/emtests/test_varargs.wasm differ diff --git a/lib/emscripten/emtests/test_varargs_multi.wasm b/lib/emscripten/emtests/test_varargs_multi.wasm index 99e2b5b86..d81b0a176 100644 Binary files a/lib/emscripten/emtests/test_varargs_multi.wasm and b/lib/emscripten/emtests/test_varargs_multi.wasm differ diff --git a/lib/emscripten/emtests/test_vprintf.wasm b/lib/emscripten/emtests/test_vprintf.wasm index 0c2d4d462..34391ea23 100644 Binary files a/lib/emscripten/emtests/test_vprintf.wasm and b/lib/emscripten/emtests/test_vprintf.wasm differ diff --git a/lib/emscripten/emtests/test_vsnprintf.wasm b/lib/emscripten/emtests/test_vsnprintf.wasm index dca3d57e4..22e33b19a 100644 Binary files a/lib/emscripten/emtests/test_vsnprintf.wasm and b/lib/emscripten/emtests/test_vsnprintf.wasm differ diff --git a/lib/emscripten/emtests/test_wprintf.wasm b/lib/emscripten/emtests/test_wprintf.wasm index 5914aa25d..dbcd76f4c 100644 Binary files a/lib/emscripten/emtests/test_wprintf.wasm and b/lib/emscripten/emtests/test_wprintf.wasm differ diff --git a/lib/emscripten/emtests/test_write_stdout_fileno.wasm b/lib/emscripten/emtests/test_write_stdout_fileno.wasm index a12aab93f..18aafd632 100644 Binary files a/lib/emscripten/emtests/test_write_stdout_fileno.wasm and b/lib/emscripten/emtests/test_write_stdout_fileno.wasm differ diff --git a/lib/emscripten/emtests/test_zero_multiplication.wasm b/lib/emscripten/emtests/test_zero_multiplication.wasm index bf8da640a..664643eee 100644 Binary files a/lib/emscripten/emtests/test_zero_multiplication.wasm and b/lib/emscripten/emtests/test_zero_multiplication.wasm differ diff --git a/lib/emscripten/emtests/test_zerodiv.wasm b/lib/emscripten/emtests/test_zerodiv.wasm index 7af5932ca..42f047cda 100644 Binary files a/lib/emscripten/emtests/test_zerodiv.wasm and b/lib/emscripten/emtests/test_zerodiv.wasm differ diff --git a/lib/emscripten/src/lib.rs b/lib/emscripten/src/lib.rs index df0a0da6c..3ed5c36dd 100644 --- a/lib/emscripten/src/lib.rs +++ b/lib/emscripten/src/lib.rs @@ -1,6 +1,7 @@ #[macro_use] extern crate wasmer_runtime_core; +use lazy_static::lazy_static; use std::cell::UnsafeCell; use std::{f64, ffi::c_void}; use wasmer_runtime_core::{ @@ -11,11 +12,12 @@ use wasmer_runtime_core::{ import::ImportObject, imports, memory::Memory, + module::ImportName, table::Table, - types::{ElementType, MemoryDescriptor, TableDescriptor, Value}, + types::{ElementType, FuncSig, MemoryDescriptor, TableDescriptor, Type, Value}, units::Pages, vm::Ctx, - Func, Instance, Module, + Func, Instance, IsExport, Module, }; #[macro_use] @@ -56,6 +58,11 @@ const DYNAMICTOP_PTR_DIFF: u32 = 1088; // TODO: make this variable const STATIC_BUMP: u32 = 215_536; +lazy_static! { + static ref OLD_ABORT_ON_CANNOT_GROW_MEMORY_SIG: FuncSig = + { FuncSig::new(vec![], vec![Type::I32]) }; +} + // The address globals begin at. Very low in memory, for code size and optimization opportunities. // Above 0 is static memory, starting with globals. // Then the stack. @@ -187,6 +194,7 @@ pub struct EmscriptenGlobalsData { memory_base: u32, table_base: u32, temp_double_ptr: u32, + use_old_abort_on_cannot_grow_memory: bool, // Global namespace infinity: f64, @@ -205,6 +213,27 @@ pub struct EmscriptenGlobals { impl EmscriptenGlobals { pub fn new(module: &Module /*, static_bump: u32 */) -> Self { + let mut use_old_abort_on_cannot_grow_memory = false; + for ( + index, + ImportName { + namespace_index, + name_index, + }, + ) in &module.0.info.imported_functions + { + let namespace = module.0.info.namespace_table.get(*namespace_index); + let name = module.0.info.name_table.get(*name_index); + if name == "abortOnCannotGrowMemory" && namespace == "env" { + let sig_index = module.0.info.func_assoc[index.convert_up(&module.0)]; + let expected_sig = &module.0.info.signatures[sig_index]; + if **expected_sig == *OLD_ABORT_ON_CANNOT_GROW_MEMORY_SIG { + use_old_abort_on_cannot_grow_memory = true; + } + break; + } + } + let (table_min, table_max) = get_emscripten_table_size(&module); let (memory_min, memory_max) = get_emscripten_memory_size(&module); @@ -247,6 +276,7 @@ impl EmscriptenGlobals { memory_base, table_base, temp_double_ptr, + use_old_abort_on_cannot_grow_memory, infinity: std::f64::INFINITY, nan: std::f64::NAN, @@ -266,6 +296,12 @@ impl EmscriptenGlobals { } pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject { + let abort_on_cannot_grow_memory_export = if globals.data.use_old_abort_on_cannot_grow_memory { + func!(crate::memory::abort_on_cannot_grow_memory_old).to_export() + } else { + func!(crate::memory::abort_on_cannot_grow_memory).to_export() + }; + imports! { "env" => { "memory" => Export::Memory(globals.memory.clone()), @@ -409,8 +445,10 @@ pub fn generate_emscripten_env(globals: &mut EmscriptenGlobals) -> ImportObject "_sigsuspend" => func!(crate::signal::_sigsuspend), // Memory - "abortOnCannotGrowMemory" => func!(crate::memory::abort_on_cannot_grow_memory), + "abortOnCannotGrowMemory" => abort_on_cannot_grow_memory_export, "_emscripten_memcpy_big" => func!(crate::memory::_emscripten_memcpy_big), + "_emscripten_get_heap_size" => func!(crate::memory::_emscripten_get_heap_size), + "_emscripten_resize_heap" => func!(crate::memory::_emscripten_resize_heap), "enlargeMemory" => func!(crate::memory::enlarge_memory), "getTotalMemory" => func!(crate::memory::get_total_memory), "___map_file" => func!(crate::memory::___map_file), diff --git a/lib/emscripten/src/memory.rs b/lib/emscripten/src/memory.rs index c4540dff0..dcd98c317 100644 --- a/lib/emscripten/src/memory.rs +++ b/lib/emscripten/src/memory.rs @@ -16,6 +16,20 @@ pub fn _emscripten_memcpy_big(ctx: &mut Ctx, dest: u32, src: u32, len: u32) -> u dest } +/// emscripten: _emscripten_get_heap_size +pub fn _emscripten_get_heap_size(ctx: &mut Ctx) -> u32 { + debug!("emscripten::_emscripten_get_heap_size",); + // TODO: Fix implementation + 16_777_216 +} + +/// emscripten: _emscripten_resize_heap +pub fn _emscripten_resize_heap(ctx: &mut Ctx, requested_size: u32) -> u32 { + debug!("emscripten::_emscripten_resize_heap {}", requested_size); + // TODO: Fix implementation + 0 +} + /// emscripten: getTotalMemory pub fn get_total_memory(_ctx: &mut Ctx) -> u32 { debug!("emscripten::get_total_memory"); @@ -33,7 +47,14 @@ pub fn enlarge_memory(_ctx: &mut Ctx) -> u32 { } /// emscripten: abortOnCannotGrowMemory -pub fn abort_on_cannot_grow_memory(ctx: &mut Ctx) -> u32 { +pub fn abort_on_cannot_grow_memory(ctx: &mut Ctx, requested_size: u32) -> u32 { + debug!("emscripten::abort_on_cannot_grow_memory {}", requested_size); + abort_with_message(ctx, "Cannot enlarge memory arrays!"); + 0 +} + +/// emscripten: abortOnCannotGrowMemory +pub fn abort_on_cannot_grow_memory_old(ctx: &mut Ctx) -> u32 { debug!("emscripten::abort_on_cannot_grow_memory"); abort_with_message(ctx, "Cannot enlarge memory arrays!"); 0 diff --git a/lib/runtime-core/src/lib.rs b/lib/runtime-core/src/lib.rs index 18c3ae76c..d130b8899 100644 --- a/lib/runtime-core/src/lib.rs +++ b/lib/runtime-core/src/lib.rs @@ -35,6 +35,8 @@ use self::error::CompileResult; #[doc(inline)] pub use self::error::Result; #[doc(inline)] +pub use self::import::IsExport; +#[doc(inline)] pub use self::instance::Instance; #[doc(inline)] pub use self::module::Module;