diff options
author | Heejin Ahn <aheejin@gmail.com> | 2020-10-02 09:25:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-02 09:25:15 -0700 |
commit | ecaa818922fe2571649a621a00f7f3c40ebb217a (patch) | |
tree | dd49e1a4f90beb6853ce9f8900b032cbdf54dd83 /test/lld/duplicate_imports.wat.out | |
parent | 42aec827c2233eb4adbb56c6d1b23d70399bfac1 (diff) | |
download | binaryen-ecaa818922fe2571649a621a00f7f3c40ebb217a.tar.gz binaryen-ecaa818922fe2571649a621a00f7f3c40ebb217a.tar.bz2 binaryen-ecaa818922fe2571649a621a00f7f3c40ebb217a.zip |
Let GenerateDynCalls generate dynCalls for invokes (#3192)
This moves dynCall generating functionaity for invokes from
`EmscriptenGlueGenerator` to `GenerateDynCalls` pass. So now
`GenerateDynCalls` pass will take care of all cases we need dynCalls:
functions in tables and invokes.
Diffstat (limited to 'test/lld/duplicate_imports.wat.out')
-rw-r--r-- | test/lld/duplicate_imports.wat.out | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/test/lld/duplicate_imports.wat.out b/test/lld/duplicate_imports.wat.out index 6467c2bab..fcc03c13a 100644 --- a/test/lld/duplicate_imports.wat.out +++ b/test/lld/duplicate_imports.wat.out @@ -1,11 +1,13 @@ (module + (type $i32_f32_f64_=>_f32 (func (param i32 f32 f64) (result f32))) + (type $i32_f64_f64_=>_f32 (func (param i32 f64 f64) (result f32))) (type $none_=>_none (func)) (type $none_=>_i32 (func (result i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_f32_f64_=>_f32 (func (param i32 f32 f64) (result f32))) - (type $i32_f64_f64_=>_f32 (func (param i32 f64 f64) (result f32))) + (type $f32_f64_=>_f32 (func (param f32 f64) (result f32))) + (type $f64_f64_=>_f32 (func (param f64 f64) (result f32))) (import "env" "puts" (func $puts1 (param i32) (result i32))) (import "env" "invoke_ffd" (func $invoke_ffd (param i32 f32 f64) (result f32))) (import "env" "invoke_ffd" (func $invoke_ffd2 (param i32 f64 f64) (result f32))) @@ -21,6 +23,8 @@ (export "main" (func $main)) (export "__heap_base" (global $global$1)) (export "__data_end" (global $global$2)) + (export "dynCall_ffd" (func $dynCall_ffd)) + (export "dynCall_fdd" (func $dynCall_fdd)) (func $main (result i32) (drop (call $puts1 @@ -32,6 +36,20 @@ (func $__wasm_call_ctors (nop) ) + (func $dynCall_ffd (param $fptr i32) (param $0 f32) (param $1 f64) (result f32) + (call_indirect (type $f32_f64_=>_f32) + (local.get $0) + (local.get $1) + (local.get $fptr) + ) + ) + (func $dynCall_fdd (param $fptr i32) (param $0 f64) (param $1 f64) (result f32) + (call_indirect (type $f64_f64_=>_f32) + (local.get $0) + (local.get $1) + (local.get $fptr) + ) + ) (func $legalfunc$puts2 (param $0 i64) (result i32) (call $legalimport$puts2 (i32.wrap_i64 @@ -61,7 +79,9 @@ ], "exports": [ "__wasm_call_ctors", - "main" + "main", + "dynCall_ffd", + "dynCall_fdd" ], "namedGlobals": { "__heap_base" : "66128", |