Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Issue 11411351: Implement basic array prefetching hints in Hydrogen.

Created:
8 years ago by yuqiang.xian%intel.com
Modified:
6 years, 8 months ago
Reviewers:
Jakob Kummerow
CC:
v8-dev, hans
Visibility:
Public.

Description

Implement basic array prefetching hints in Hydrogen. Insert prefetch instructions for those array element accesses (reads) with the prefetch hints in IA32 Lithium code generator. With this CL Kraken reports 60% improvement on audio-dft on Atom, where huge amount of cache misses were observed before. Currently the write accesses are not prefetched, just in order to isolate the individual impacts.

Patch Set 1 #

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+378 lines, -13 lines) Patch
M src/code-stubs-hydrogen.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M src/flag-definitions.h View 1 2 chunks +2 lines, -0 lines 0 comments Download
M src/hydrogen.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/hydrogen.cc View 1 6 chunks +264 lines, -1 line 0 comments Download
M src/hydrogen-instructions.h View 1 3 chunks +7 lines, -1 line 0 comments Download
M src/hydrogen-instructions.cc View 1 2 chunks +3 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 4 chunks +53 lines, -7 lines 0 comments Download
M src/ia32/lithium-ia32.h View 1 1 chunk +7 lines, -2 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 4 chunks +31 lines, -2 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
yuqiang.xian%intel.com
8 years ago (2012-12-04 08:39:13 UTC) #1
yuqiang.xian%intel.com
On 2012/12/04 08:39:13, yuqiang.xian%intel.com wrote: Patch updated for latest bleeding_edge. Can you please take a ...
7 years, 11 months ago (2013-01-10 06:41:20 UTC) #2
Jakob Kummerow
7 years, 11 months ago (2013-01-11 17:48:16 UTC) #3
Thank you for contributing this patch! However, given the substantial size of
this change and the complexity it introduces, we concluded that it’s premature
to land it despite the benefit it provides. There’s a simpler way to achieve the
same result.

We are currently working on introducing a “single static information” (SSI)
representation to Crankshaft (see C. Scott Ananian’s paper from 1999), which
overlaps with what this patch is attempting to achieve, but in an
architecturally cleaner way. It opens up a whole range of future optimization
opportunities. Once a bit more of the SSI work is in place, it’s likely your
patch can be reworked to be much simpler.

We are aware that you are probably not too happy about a change you put hard
work into being rejected. To avoid this in the future, it would be great if you
could give us a heads-up when you have ideas that require larger changes to V8
so that we can figure out overlaps and shortcomings together before time is
invested in implementing those ideas.

Powered by Google App Engine
This is Rietveld 408576698