uupaa-js Coding Style / const は高cost
「uupaa.js のコーディングスタイル」と「const が高costな理由」
CodingStyle - uupaa-js - JavaScript Coding Style Guide
http://code.google.com/p/uupaa-js/wiki/CodingStyle
mooz
@stillpedant
@Constellation おおお,そういうことでしたか.というかこのような挙動があったのですね.これはまた罠チックな……
2011-07-24 22:53:07
小倉唯
@Constellation
codegen見たら, 毎回loadする度に比較命令とかjumpとか走ってるので, avoid const言いたくなる気持ちはわかった.
2011-07-24 22:55:01
小倉唯
@Constellation
staticに高速にできないかと考えたが, https://gist.github.com/1102639 ってやられたら動的情報に頼るしかないということに気づいて, constやばいこれ速くするの相当手間じゃないですか... と思った.
2011-07-24 23:00:59
小倉唯
@Constellation
@uupaa V8, const自体はstackに割りつけるようで, その後のinitialized/uninitialized情報の保持がdynamicになるようです(array hole使って). http://bit.ly/pU7CYJ 間違ってましてすみません...
2011-07-24 23:07:27
小倉唯
@Constellation
uninitializedなものにarray holeを入れておき(これはJSValとしては自然には出ない), これとの比較でinitializedかどうかをみるという感じでした. 該当code: full-codegen-ia32.cc EmitVariableLoad
2011-07-24 23:09:20
小倉唯
@Constellation
本気で最適化が迫られたら, dead code判別みたいに, このpathではconstの該当labelはinitialized, uninitializedというふうにすれば最適化できるのじゃないかと思ったが, constに対して明らかにoverspecな気もする...
2011-07-24 23:11:19