ruffle
ruffle copied to clipboard
avm2: Improve optimizations on static methods
This is a little hacky, but it should be simplified once the class refactor is done.
Box2d stats:
FindPropStrict -> GetScriptGlobals : 62.18% (+17.02%)
FindPropStrict -> GetOuterScope : 7.76% (-0.11%)
FindPropStrict -> GetScopeObject : 8.24% (+6.55%)
FindProperty -> GetOuterScope : 2.83%
FindProperty -> GetScopeObject : 94.34% (+88.68%)
InitProperty -> SetSlot : 40.93% (+2.78%)
InitProperty -> SetSlotNoCoerce : 44.51% (+6.64%)
SetProperty -> SetSlot : 28.67% (+13.64%)
SetProperty -> SetSlotNoCoerce : 39.51% (+9.09%)
SetProperty -> CallMethod : 1.57%
GetProperty -> GetSlot : 67.31% (+7.62%)
GetProperty -> CallMethod : 0.34%
CallProperty -> CallMethod : 41.13% (+9.68%)
CallPropVoid -> CallMethod : 74.24% (+12.5%)
Coerce -> Nop : 49.78% (+2.83%)
CoerceD -> Nop : 81.34% (+2.98%)
CoerceB -> Nop : 8.11%
CoerceU -> Nop : 32.46%
CoerceI -> Nop : 2%
ReturnValue -> ReturnValueNoCoerce : 66.06% (+0.92%)