[Webkit-unassigned] [Bug 20764] Proposed byte-code optimization framework

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Sep 12 05:27:53 PDT 2008


https://bugs.webkit.org/show_bug.cgi?id=20764





------- Comment #7 from zherczeg at inf.u-szeged.hu  2008-09-12 05:27 PDT -------
Hi,

We have found some good peephole optimizations in SunSpider. 

1) Optimizing negates:

[ 434] negate            tr132, lr2
[ 437] negate            tr133, lr2
[ 440] negate            tr134, lr2
(sometimes a move operation is inserted between the negates)

Can be changed to:
[ 434] negate            tr132, lr2
[ 437] op_mov            tr133, tr132
[ 440] op_mov            tr134, tr132

2) Mov folding:

a)
[   6] mov               tr36, tr0
[   9] mov               tr37, tr1
[  12] mov               tr38, tr2
[  15] mov               tr39, tr3
...

b)
[ 538] mov               tr132, tr3
[ 541] mov               tr133, tr3
[ 544] mov               tr134, tr3
[ 547] mov               tr135, tr3
...

Used especially in array initialization and function call with constant
arguments.

We introduced two new instruction:
op_mov_range for the first version (implemented by a memcpy call)
op_set_range for the second version

Preliminary measurements shows 2.3% performance improve with SunSpider, but we
will see what will happen after we merge our svn with the official one in
Monday.


-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list