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 相关文章推荐
DIV菜单层实现代码
Nov 19 Javascript
使用JavaScript动态设置样式实现代码(2)
Jan 25 Javascript
关于img的href和src取变量及赋值的方法
Apr 28 Javascript
详解maxlength属性在textarea里奇怪的表现
Dec 27 Javascript
JQuery异步提交表单与文件上传功能示例
Jan 12 Javascript
js实现九宫格拼图小游戏
Feb 13 Javascript
vue使用watch 观察路由变化,重新获取内容
Mar 08 Javascript
tween.js缓动补间动画算法示例
Feb 13 Javascript
JavaScript实用代码小技巧
Aug 23 Javascript
基于JS实现数字动态变化显示效果附源码
Jul 18 Javascript
js Math数学简单使用操作示例
Mar 13 Javascript
vue mvvm数据响应实现
Nov 11 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
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
理解Javascript_05_原型继承原理
2010/10/13 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
初探nodeJS
2017/01/24 NodeJs
简单实现js轮播图效果
2017/07/14 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
python基于queue和threading实现多线程下载实例
2014/10/08 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
Python操作qml对象过程详解
2019/09/26 Python
python中必要的名词解释
2019/11/20 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
英国名牌服装购物网站:OD’s Designer
2019/09/02 全球购物
大学校园活动策划书
2014/02/04 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
2019年工作总结范文
2019/05/21 职场文书
利用nginx搭建RTMP视频点播、直播、HLS服务器
2022/05/25 Servers