tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 }