Advertisement
Guest User

wasm_greeter.js

a guest
Dec 11th, 2019
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (async _=>{
  2.     //Create wasm instance
  3.     let greeter=window.greeter=
  4.         (await WebAssembly.instantiateStreaming(fetch('wasm.wasm'))).instance.exports;
  5.  
  6.     //Convert name string to UTF-8 bytes
  7.     let name_bytes=new TextEncoder().encode("テスト");
  8.     //Get pointer to input buffer
  9.     let name_ptr=greeter.get_input_ptr();
  10.     console.log(name_ptr);
  11.     //Dump name into the input buffer with a null
  12.     let name_mem=new Uint8Array(greeter.memory.buffer, name_ptr, name_bytes.length+1);
  13.     name_mem.set(name_bytes);
  14.     name_mem[name_bytes.length]=0;
  15.  
  16.     let resp_ptr=greeter.greet(name_ptr);
  17.     console.log(resp_ptr);
  18.     let resp_mem=new Uint8Array(greeter.memory.buffer, resp_ptr);
  19.     console.log(new TextDecoder().decode(
  20.         //Find the end of string via null
  21.         resp_mem.subarray(0,resp_mem.indexOf(0))
  22.     ));
  23. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement