История изменений
Исправление tailgunner, (текущая версия) :
Джит по сути делает только инлайнинг - собственно, какие-либо более сложные оптимизации для неигрушечного рантайма во время джит-компиляции даже теоретически невозможны.
http://lambda-the-ultimate.org/node/3851#comment-57760
LuaJIT also does: constant folding, constant propagation, copy propagation, algebraic simplifications, reassociation, common-subexpression elimination, alias analysis, load-forwarding, store-forwarding, dead-store elimination, store sinking, scalar replacement of aggregates, scalar-evolution analysis, narrowing, specialization, loop inversion, dead-code elimination, reverse-linear-scan register allocation with a blended cost-model, register hinting, register renaming, memory operand fusion.
Или Lua игрушечный? Думаю, IonMonkey, V8 и PyPy делают не меньше.
Исходная версия tailgunner, :
Джит по сути делает только инлайнинг - собственно, какие-либо более сложные оптимизации для неигрушечного рантайма во время джит-компиляции даже теоретически невозможны.
http://lambda-the-ultimate.org/node/3851#comment-57760:
LuaJIT also does: constant folding, constant propagation, copy propagation, algebraic simplifications, reassociation, common-subexpression elimination, alias analysis, load-forwarding, store-forwarding, dead-store elimination, store sinking, scalar replacement of aggregates, scalar-evolution analysis, narrowing, specialization, loop inversion, dead-code elimination, reverse-linear-scan register allocation with a blended cost-model, register hinting, register renaming, memory operand fusion.
Или Lua игрушечный? Думаю, IonMonkey, V8 и PyPy делают не меньше.