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 相关文章推荐
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
Jun 04 Javascript
js change,propertychange,input事件小议
Dec 20 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
Oct 02 Javascript
javascript 数组的正态分布排序的问题
Jul 31 Javascript
浅谈JavaScript 中有关时间对象的方法
Aug 15 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
Nov 09 Javascript
Angular实现跨域(搜索框的下拉列表)
Feb 16 Javascript
jquery加载单文件vue组件的方法
Jun 20 jQuery
Vue.js进行查询操作的实例详解
Aug 25 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
Nov 24 Javascript
three.js 入门案例详解
Jan 23 Javascript
vue 实现用户登录方式的切换功能
Apr 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 GD库相关图像生成和处理函数小结
2016/09/30 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
2016/06/28 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
Python简单实现子网掩码转换的方法
2016/04/13 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
RentCars.com巴西:汽车租赁网站
2016/08/22 全球购物
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
包装类的功能、种类、常用方法
2012/01/27 面试题
药剂学专业应届生自荐信
2013/09/29 职场文书
力学专业毕业生自荐信
2013/11/17 职场文书
外语系毕业生自荐信范文
2013/12/16 职场文书
前处理组长岗位职责
2014/03/01 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
化工专业自荐书
2014/06/16 职场文书
班级课外活动总结
2014/07/09 职场文书
优秀班主任先进事迹材料
2014/12/16 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang