DescriptionImprove performance of keyed loads/stores which have a HeapNumber index.
Some GWT compiled code results in array access that has a heap number (e.g. -0)
as an index. Until now this would result in a generic IC.
For example:
a[-0] === a[0] or
a[0.25 * 4] === a[1]
This change detects heap numbers that are representable as a smi
and converts them. As a result we can still use the fast keyed monomorphic
ICs. Optimized code already handles keyed access with a double-key efficiently.
As a result the frame rate on the reported benchmark improves by roughly 2x.
BUG=v8:1388, v8:1295, chromium:82493
Committed: https://code.google.com/p/v8/source/detail?r=11282
Patch Set 1 #Patch Set 2 : minimize duplicate code, ia32 only #Patch Set 3 : fixed formatting #
Total comments: 2
Patch Set 4 : port to x64 and ARM, and added support for double- and external arrays #Patch Set 5 : fixed ia32 compilation #
Total comments: 3
Patch Set 6 : #
Messages
Total messages: 6 (0 generated)
|