asm.js
AOTコンパイルに最適化されたJavaScriptの厳格なサブセット。Mozilla、2013年。型注釈は記法で表す(x|0は整数、+xは倍精度)。WebAssemblyの前身。
狙いは、C/C++をEmscripten経由でasm.jsにコンパイルし、ブラウザ上でほぼネイティブの速度で動かすことだった。2013年にはEpic Citadel(Unreal Engine 3)がブラウザで動くデモが話題になった。ブラウザ(当初はEdgeを除く)はこの形式向けの最適化を追加した。asm.jsからWebAssemblyへの進化は、同じチーム、同じ発想で、JavaScriptのサブセットの代わりにバイナリ形式を採用したものである。2017年にWebAssemblyが登場してasm.jsは不要になり、今は歴史的なベンチマークとMozillaの一部デモにだけ残っている。