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 相关文章推荐
浏览器脚本兼容 文本框中,回车键触发事件的兼容
Jun 21 Javascript
2010年最佳jQuery插件整理
Dec 06 Javascript
JavaScript获取表单内所有元素值的方法
Apr 02 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
Mar 30 Javascript
jQuery 选择器(61种)整理总结
Sep 26 Javascript
提高JavaScript执行效率的23个实用技巧
Mar 01 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
May 11 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
Jan 03 Javascript
详解微信小程序开发之formId使用(模板消息)
Aug 27 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
Sep 27 Javascript
Javascript操作select控件代码实例
Feb 14 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中的日期处理方法集锦
2007/01/02 PHP
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
Laravel框架源码解析之反射的使用详解
2020/05/14 PHP
JavaScript 参考教程
2006/12/29 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
浅谈javascript的调试
2015/01/28 Javascript
有效提高JavaScript执行效率的几点知识
2015/01/31 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
JS验证input输入框(字母,数字,符号,中文)
2017/03/23 Javascript
Avalonjs双向数据绑定与监听的实例代码
2017/06/23 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
JavaScript简易计算器制作
2020/01/17 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
python的正则表达式re模块的常用方法
2013/03/09 Python
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
python selenium 对浏览器标签页进行关闭和切换的方法
2018/05/21 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
气象学专业个人求职信
2014/04/22 职场文书
商业项目策划方案
2014/06/05 职场文书
法制宣传口号
2014/06/16 职场文书
大学生助学金感谢信
2015/01/21 职场文书
自主招生英文自荐信
2015/03/25 职场文书
运动会新闻报道稿
2015/07/22 职场文书
学习计划是什么
2019/04/30 职场文书
你有一份《诚信考试承诺书》待领取
2019/11/13 职场文书
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers