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

Issue 12340113: Reapply optimization of DeoptimizeIf for ia32 broken in r13633. (Closed)

Created:
7 years, 9 months ago by Michael Starzinger
Modified:
7 years, 9 months ago
Reviewers:
Sven Panne, danno
CC:
v8-dev
Visibility:
Public.

Description

Reapply optimization of DeoptimizeIf for ia32 broken in r13633. R=danno@chromium.org Committed: http://code.google.com/p/v8/source/detail?r=13767

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+5 lines, -0 lines) Patch
M src/ia32/lithium-codegen-ia32.cc View 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
Michael Starzinger
7 years, 9 months ago (2013-02-27 15:13:16 UTC) #1
danno
lgtm
7 years, 9 months ago (2013-02-27 15:14:13 UTC) #2
Michael Starzinger
Committed patchset #1 manually as r13767 (presubmit successful).
7 years, 9 months ago (2013-02-27 15:17:33 UTC) #3
Sven Panne
Looking at the performance numbers, I propose to roll back this CL, because it is ...
7 years, 9 months ago (2013-02-28 09:31:20 UTC) #4
danno
Yes, weird. However, it is indeed an optimization, just not for speed but for size. ...
7 years, 9 months ago (2013-02-28 09:49:41 UTC) #5
Sven Panne
7 years, 9 months ago (2013-02-28 10:19:28 UTC) #6
Message was sent while issue was closed.
Well, as can be seen from the numbers, it is not a speed optimization at all:
This single CL eats up half of the performance gains on Octane in Q1 on i5 so
far and even regresses other benchmarks by >20%. Saving a single jump (5 or 6
bytes?) here and there doesn't sound like a convincing counter-argument... :-/

Regarding forward/backward jumps: I don't think that's the reason, we have a
regression across the board on i5, and this would have been cancelled out due to
ASLR. It looks like relatively local jumps which are not taken are cheap, while
non-local jumps are always costly. Although I don't know i5 internals enough,
this makes sense, because branch prediction is most useful for loop-like stuff,
which is a local thing. Trying to predict non-local jumps is much less useful,
but of course I'm only guessing here.

Powered by Google App Engine
This is Rietveld 408576698