Asm.js and Emscripten

http://ejohn.org/blog/asmjs-javascript-compile-target/

Maybe it’s a little late, but I just read the above article about Asm.js. Then, I was looking around the related information.

After some previous experiments on Three.js, I’m gaining interests on WebGL, and one major topic around this area seems like this Unreal Engine one. This working demo is compelling.

I tried to find how it’s interacted with browser and WebGL APIs, but couldn’t find one. If original code is OpenGL-based, it’s easy to migrate (or wrap) to WebGL? Anyway, I assume it may be the part of the four days work which is noted in the release statement.

http://www.unrealengine.com/news/epicgamesreleasesepiccitadelonthe_web/

Engineering teams at Mozilla and Epic ported the award-winning Unreal Engine 3 (UE3) to the Web in just four days using the powerful combination of Asm.js and Emscripten, which enables developers to compile C++ code into JavaScript.

The followings are some notes.

Notes

  • It’s JavaScript subset: Asm.js utilizes the subset grammar of JavaScript, instead of using bytecode syntax which normal VMs are applying.
    • It seems like the current focus is providing a fast low-level API, which is specifically intended for the conversion from the LLVM. But, there seems a plan to support garbage collections and JavaScript interfaces (ES6 structured binary data API).
    • http://asmjs.org/ has good FAQ information.
  • It uses Emscripten: Asm.js utilizes Emscripten is a LLVM to JavaScript compiler. It converts the LLVM bytecode generated by the result of C/C++ compiling through Clang.
Advertisements

Posted on May 12, 2013, in JavaScript, Web. Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: