2016 gunma.web games-and-asm.js

58

Upload: noritada-shimizu

Post on 15-Apr-2017

951 views

Category:

Technology


0 download

TRANSCRIPT

Open Source Project

Proudly non-profit, Mozilla makes products like Firefox with a mission to keep the power of the Web in the hands of users everywhere.

Mozilla Mission (https://www.mozilla.org/en-US/mission/)

To ensure the Internet is a global public resource, open and accessible to all.

Mozilla Mission(https://www.mozilla.org/en-US/mission/)

Web is the platform

Games

window.addEventListener("gamepadconnected", function(e) {

console.log("Gamepad connected at index %d: %s. %d buttons, %d axes.", e.gamepad.index, e.gamepad.id,

e.gamepad.buttons.length, e.gamepad.axes.length);});

window.addEventListener("gamepaddisconnected", function(e) {

console.log("Gamepad disconnected from index %d: %s", e.gamepad.index, e.gamepad.id);

});

function pollGamepads() {

var gamepads = navigator.getGamepads() || []; for (var i = 0; i < gamepads.length; i++) {

var gp = gamepads[i]; if (gp) {

gamepadInfo.innerHTML = "Gamepad connected at index " + gp.index + ": " + gp.id +

". It has " + gp.buttons.length + " buttons and " + gp.axes.length + " axes."; gameLoop();

clearInterval(interval);

} }

}

var x = 42;

var y = "a string";var z = x + y; // z = "42a string"

eval("z = z.substr(1, 2)"); // z = "2a"

[1, "two", { three: 3 }].forEach(function(item) {

if (typeof item === typeof z) console.log([z, item]);}); // emits ["2a", "two"]

function fib(n){ if(n < 2){ return 1; } return fib(n - 1) + fib(n - 2);}

function fib(n){ if(n < 2){ return 1; } return fib(n - 1) + fib(n - 2);}

function fib(n) { n = n|0; if(n >>> 0 < 3){ return 1 | 0; } return ((fib(n - 1 | 0) | 0) + (fib(n - 2 | 0) | 0)) | 0;}

int func(int *p) {

int r = *p; return calc(r, r << 16);

}

function func(p) {

var r = HEAP32[p >> 2]; return calc(r, r << 16);

}

float array[5000]; // C++

int main() { for (int i = 0; i < 5000; ++i) {

array[i] += 1.0f; }

}

float array[5000]; // C++

int main() { for (int i = 0; i < 5000; ++i) {

array[i] += 1.0f; }

}

var buffer = new ArrayBuffer(32768); // JavaScriptvar HEAPF32 = new Float32Array(buffer);function main() { var a = 0, b = 0; do { a = (8 + (b << 2)) | 0; HEAPF32[a >> 2] = +HEAPF32[a >> 2] + 1.0; b = (b + 1) | 0; } while ((b | 0) < 5000);}

-rw-r--r-- 1 chiko staff 99B 12 22 17:38 Makefile

-rw-r--r-- 1 chiko staff 1.9K 12 22 17:29 app.js-rw-r--r-- 1 chiko staff 247B 12 22 11:31 fib-asm.js

-rw-r--r-- 1 chiko staff 220B 12 21 17:36 fib.cpp-rw-r--r-- 1 chiko staff 184K 12 22 17:38 fib.js

-rw-r--r-- 1 chiko staff 2.8K 12 22 17:38 fib.js.mem

-rw-r--r-- 1 chiko staff 1.2K 12 22 17:10 index.html

function () {

"use asm"; function add(x, y) {

x = x | 0; y = y | 0;

return x + y | 0;

} return { add: add };

}

(module

(memory 16777216 16777216) (export "add" $add)

(func $add (param $x i32) (param $y i32) (result i32) (i32.add

(get_local $x)

(get_local $y) )

)

)

Thank you & Questions?

MozVR