asm.jsに関する客観的意見があまりないようなので、ツイートをまとめてメモ。 現時点での機能はC/C++コードの移植に特化している 文字列にもオブジェクトにも配列にもアクセスできない JavaScriptの値で使えるのは数値だけ*1 typedarrayについては、同時に1つだけ*2アクセスできる GCがない オブジェクトにアクセスできないと書いたけど、当然newもできない 自分でmalloc/freeから実装する必要がある 関数ポインタすらない 定義された関数呼び出しは可能 つまりは、フラットなデータメモリ、シンボルベースのコード空間と、数値演算機能のみがある、とても低レベルな仮想マシンということ。ネイティブコードをJavaScriptに変換した場合に高速に動く環境を作ろうとしていることは明らかだし、それ以外の目的では非常に使いにくい。 既存の他のアプローチ(JVM, PNaCl)と比