asm.js使用示例代码


Posted in Javascript onNovember 28, 2013
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 };
}
Javascript 相关文章推荐
对JavaScript的eval()中使用函数的进一步讨论
Jul 26 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
基于jQuery的模仿新浪微博时间的组件
Oct 04 Javascript
js对象与打印对象分析比较
Apr 23 Javascript
jQuery实现带动画效果的多级下拉菜单代码
Sep 08 Javascript
js实现n秒倒计时后才可以点击的效果
Dec 20 Javascript
vue写一个组件
Apr 09 Javascript
分享Angular http interceptors 拦截器使用(推荐)
Nov 10 Javascript
JavaScript回调函数callback用法解析
Jan 14 Javascript
javascript实现留言板功能
Feb 08 Javascript
js实现踩五彩块游戏
Feb 08 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
Oct 19 Javascript
jquery实现动态菜单的实例代码
Nov 28 #Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
Nov 28 #Javascript
原始XMLHttpRequest方法详情回顾
Nov 28 #Javascript
jQuery处理xml格式的返回数据(实例解析)
Nov 28 #Javascript
使用js写的一个简易的投票
Nov 27 #Javascript
juery框架写的弹窗效果适合新手
Nov 27 #Javascript
js使用数组判断提交数据是否存在相同数据
Nov 27 #Javascript
You might like
php 结果集的分页实现代码
2009/03/10 PHP
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
JavaScript 空位补零实现代码
2010/02/26 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
jQuery中:lt选择器用法实例
2014/12/29 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
JS实现来回出现文字的状态栏特效代码
2015/10/31 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
python实现simhash算法实例
2014/04/25 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
python issubclass 和 isinstance函数
2019/07/25 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
销售顾问的岗位职责
2013/11/13 职场文书
营业员演讲稿
2013/12/30 职场文书
京剧自荐信
2014/01/26 职场文书
学雷锋月活动总结
2014/04/25 职场文书
天地会口号
2014/06/17 职场文书
实习护士自荐信
2014/06/21 职场文书
晚会开幕词范文
2016/03/04 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python