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

Issue 519035: Use cmov instructions to avoid some conditional branches in stub code.... (Closed)

Created:
10 years, 11 months ago by fschneider
Modified:
9 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

Use cmov instructions to avoid some conditional branches in stub code. This change improves the ConstructStub and the ArgumentsAccessStub slightly by using the cmov instruction (if available) to eliminate a conditional branch. It only applies to the IA-32 and X64 platforms. Committed: http://code.google.com/p/v8/source/detail?r=3537

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 2

Patch Set 3 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+34 lines, -29 lines) Patch
M src/ia32/codegen-ia32.cc View 1 2 1 chunk +12 lines, -8 lines 0 comments Download
M src/ia32/stub-cache-ia32.cc View 1 chunk +13 lines, -7 lines 0 comments Download
M src/x64/codegen-x64.cc View 1 1 chunk +4 lines, -7 lines 0 comments Download
M src/x64/stub-cache-x64.cc View 1 chunk +5 lines, -7 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
fschneider
10 years, 11 months ago (2010-01-05 11:36:03 UTC) #1
Kevin Millikin (Chromium)
LGTM. http://codereview.chromium.org/519035/diff/3001/10 File src/ia32/codegen-ia32.cc (right): http://codereview.chromium.org/519035/diff/3001/10#newcode7753 src/ia32/codegen-ia32.cc:7753: __ j(equal, &adaptor); Couldn't you simplify this code ...
10 years, 11 months ago (2010-01-05 11:48:06 UTC) #2
fschneider
10 years, 11 months ago (2010-01-05 11:54:39 UTC) #3
http://codereview.chromium.org/519035/diff/3001/10
File src/ia32/codegen-ia32.cc (right):

http://codereview.chromium.org/519035/diff/3001/10#newcode7753
src/ia32/codegen-ia32.cc:7753: __ j(equal, &adaptor);
On 2010/01/05 11:48:06, Kevin Millikin wrote:
> Couldn't you simplify this code to be
> 
> Label exit;
> __ j(not_equal, &exit);
> __ mov(eax, Operand(...));
> __ bind(exit);
> 
> and reuse the ret instruction?

Done.

Powered by Google App Engine
This is Rietveld 408576698