asm.js/OdinMonkeyメモ
- yukikeiichi
- 14970
- 0
- 49
- 14
あーなるほど. type coercion の statement が, JS 範疇にあるから, fail 時に通常の JS に落ちることができるのか. なるほどね.
2013-02-17 01:32:51frontend/BytecodeCompiler.cppのlevelでdirective"use asm"を認識して,ion/AsmJS.cppのCompileAsmJSを叩く.SpiderMonkeyはlazy parsingしてないから,即座にcompile&linkか.
2013-02-17 01:52:05話題の asm.js http://t.co/rFPILEHM を眺める.JS上につくられた静的型付け規則.RPythonに近い.asm.jsに対応した処理系がコンパイルして高速なコードを生成できるよう,JSとして解釈できる構文で型注釈をおこなう.数値演算をネイティブコード化.
2013-02-17 16:51:18asm.js に対応していない処理系が JS として解釈としたときにセマンティクスが崩れないように型注釈の記法を定めていて,これが面白い.例えば +foo で foo が double, foo|0 で foo が int であるといった具合に.
2013-02-17 16:53:55Emscripten の中のひとがかんでいるらしいので,そのうち asm.js Mozilla 実装の odinmonkey で Emscripten が高速に動作する日が来るかも? 夢が広がりますね.
2013-02-17 16:55:39@stillpedant type coercionがなかったりstatic type errorが起こったりした場合でも, JS subsetなのでbasic JSに落ちるの面白いですよね. OdinMonkeyの実装見ましたが, もろそんな感じでしたー.
2013-02-17 17:16:44@Constellation 賢いですよねぇ.VM バイトコードの validation 問題をうまく解決しているというか.OdinMonkey も後で覗いてみたいです.
2013-02-17 18:00:47@stillpedant OdinMonkey, code 小さくまとまってるので良いですよー. ion/AsmJS.cpp の entry point を byte code compiler から叩いているだけですー. AOT compile ですね.
2013-02-17 18:11:54@Constellation おお,参考になります.byte code 吐き出して compile してしまう感じですか.ion が生きる実装ですね.あとで覗いてみます!
2013-02-17 18:14:40OdinMonkeyがinboundに投入されてる… コメント読む限りはx86/x64の作業が完了したってことらしいけど。
2013-03-15 21:12:44@saneyuki_s NVIDIA PTX 吐くやつならこの間みましたー. http://t.co/lXYiMSqBN8
2013-03-15 21:20:35"use asm"その方向継続しちゃうのか。。。正直"use hoge"路線はやめたほうがいいと思うんだけどなぁ。。。(使いやすいのはわかるんだけど) // asm.js http://t.co/iTor798h3E
2013-03-17 23:20:44機械によるJITじゃ限界があるので、人間が機械に歩み寄ってヒントを与えながらコードを書く、という世界になりつつあるってこと?
2013-03-17 23:31:03@nalsh やー、JITだと限界あるから制約課してでも事前コンパイルできるようにしようぜ!ってわけではない、ということでしょうか。
2013-03-17 23:43:36@hasegawayosuke CoffeeScriptみたいなのをJavaScriptに変換するときにJavaScript吐いてると無駄が多いからもっと最適化しやすいかたちで吐こうぜって文脈だと理解しているので、人間が機械に歩み寄るとはむしろ逆方向から来ているかと
2013-03-17 23:50:18@hasegawayosuke 局所的にasm.js近傍だけ見ると「JITだと限界あるから制約かしてでも事前コンパイル出来るようにしようぜ!」ってのは正しいと思うのですが、大局的には機械に人間側へと歩み寄らせるためのインフラ整備的な
2013-03-17 23:51:50@nalsh 生JSを人が書くという作業から遠ざけようというのは、もう止まらない流れですね。確かに、その中で機械にやさしいコードを生成というのは自然なことですね。
2013-03-17 23:56:04@hasegawayosuke Ruby陣営的なコメントとしては「JavaScript以外の言語をWeb世界で活用できる可能性をひらくasm.jsは、プログラミング言語の多様性を重んじる我々にとって歓迎すべき技術である」的な
2013-03-17 23:58:57