<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          asm.js

          聯(lián)合創(chuàng)作 · 2023-10-02 01:35

          asm.js 是一個底層、格外為 JavaScript 子集優(yōu)化的編譯器。這是 Mozilla 研究項目,類似 Emscripten, Mandreel, 和 LLJS.

          示例代碼:

          function mymodule(global, foreign, buffer) {
              "use asm";
          
              // -------------------------------------------------------------------------
              // SECTION 1: imports
          
              var H32 = new global.Int32Array(buffer);
              var HU32 = new global.Uint32Array(buffer);
              var log = foreign.consoleDotLog;
          
              // -------------------------------------------------------------------------
              // SECTION 2: functions
          
              function f(x, y, z, w) {
                  // SECTION A: parameter type declarations
                  x = x|0;      // int parameter
                  y = +y;       // double parameter
          
                  // SECTION B: function body
                  log(x|0);     // call into FFI -- must force the sign
                  log(y);       // call into FFI -- already know it's a double
                  x = (x+3)|0;  // signed addition
          
                  // SECTION C: unconditional return
                  return ((((x+1)|0)>>>0)/(x|0))>>>0; // compound expression
              }
          
              function g() {
                  g_f = +g_i; // read/write globals
                  return;
              }
          
              function g2() {
                  return;
              }
          
              function h(i, x) {
                  i = i|0;
                  x = x|0;
                  H32[(i&0xffffffff)>>4] = x; // masked by 2^k-1, shifted by byte count
                  ftable_2[(x-2)&2]();        // dynamic call of functions in table 2
              }
          
              // -------------------------------------------------------------------------
              // SECTION 3: function tables
          
              var ftable_1 = [f];
              var ftable_2 = [g, g2]; // all of the same type
          
              // -------------------------------------------------------------------------
              // SECTION 4: globals
          
              var g_i = 0;   // int global
              var g_f = 0.0; // double global
          
              // -------------------------------------------------------------------------
              // SECTION 5: exports
          
              return { f_export: f, goop: g };
          }

           

          瀏覽 1
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  偷拍15p| 俺来也俺去也www色官 | 久久国产经典免费一区 | 午夜成人精品视频免费在线观看 | 俺来也俺就去www色情网 |