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

Issue 1586013006: X87: [turbofan] avoid xchg instruction on Intel.

Created:
4 years, 11 months ago by zhengxing.li
Modified:
4 years, 11 months ago
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

X87: [turbofan] avoid xchg instruction on Intel. port 7440edae1da2b78a37e6fe3a558e249dc33444aa(r33282) original commit message: On Intel, xchg stalls the pipeline. We use xchg to implement swap moves. In a separate exploration, the presence of xchg in a very hot loop, due to a change in register allocation, lead to over 20% regression. Simply changing that instruction with push/mov/pop (almost) eliminated the regression. In light of that, I removed uses of xchg. This leads to more instructions, though. That is particularly problematic for long cycles, which, today, we translate to successions of swaps. I plan to address this cycle issue in a separate change. For now, the goal is to unblock the initial work that lead here. BUG=

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -4 lines) Patch
M src/compiler/x87/code-generator-x87.cc View 1 chunk +11 lines, -2 lines 0 comments Download
M src/crankshaft/x87/lithium-gap-resolver-x87.cc View 1 chunk +3 lines, -1 line 0 comments Download
M src/x87/code-stubs-x87.cc View 1 chunk +3 lines, -1 line 0 comments Download

Messages

Total messages: 3 (1 generated)
zhengxing.li
PTAL, Thanks!
4 years, 11 months ago (2016-01-15 01:59:11 UTC) #2
Mircea Trofin
4 years, 11 months ago (2016-01-22 16:31:31 UTC) #3
On 2016/01/15 01:59:11, zhengxing.li wrote:
> PTAL, Thanks!

LGTM
sorry for the delay

Powered by Google App Engine
This is Rietveld 408576698