import-export-sigs.js (1565B)
1 // |jit-test| skip-if: fuzzingSafe() 2 3 // Tests that function imports and function exports descriptors have 4 // signatures, in the test mode only, for fuzzers. 5 6 var module = new WebAssembly.Module(wasmTextToBinary(`(module 7 (import "env" "v_v" (func $vv)) 8 (export "v_v" (func $vv)) 9 10 (import "env" "v_i" (func $vi (param i32))) 11 (export "v_i" (func $vi)) 12 13 (import "env" "v_I" (func $vI (param i64))) 14 (export "v_I" (func $vI)) 15 16 (import "env" "v_f" (func $vf (param f32))) 17 (export "v_f" (func $vf)) 18 19 (import "env" "memory" (memory $mem 0)) 20 (export "mem" (memory $mem)) 21 22 (import "env" "v_d" (func $vd (param f64))) 23 (export "v_d" (func $vd)) 24 25 (import "env" "v_fd" (func $vfd (param f32) (param f64))) 26 (export "v_fd" (func $vfd)) 27 28 (import "env" "v_Ififd" (func $vIfifd (param i64) (param f32) (param i32) (param f32) (param f64))) 29 (export "v_Ififd" (func $vIfifd)) 30 31 (import "env" "i_v" (func $iv (result i32))) 32 (export "i_v" (func $iv)) 33 34 (import "env" "I_i" (func $Ii (param i32) (result i64))) 35 (export "I_i" (func $Ii)) 36 37 (import "env" "table" (table $table 0 funcref)) 38 (export "table" (table $table)) 39 40 (import "env" "f_d" (func $fd (param f64) (result f32))) 41 (export "f_d" (func $fd)) 42 43 (import "env" "d_ffd" (func $dffd (param f32) (param f32) (param f64) (result f64))) 44 (export "d_ffd" (func $dffd)) 45 )`)); 46 47 for (let desc of WebAssembly.Module.imports(module)) { 48 assertEq(typeof desc.signature, 'undefined'); 49 } 50 for (let desc of WebAssembly.Module.exports(module)) { 51 assertEq(typeof desc.signature, 'undefined'); 52 }