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

Issue 1709008: Introduce faster swapping primitives. (Closed)

Created:
10 years, 8 months ago by antonm
Modified:
9 years, 4 months ago
CC:
v8-dev
Visibility:
Public.

Description

Introduce faster swapping primitives. Keyed store stub sits high in sorting profiles. Swapping allows to save us additional type checks as we could both read and write elmenets (on fast path) without them. Committed: http://code.google.com/p/v8/source/detail?r=4551

Patch Set 1 #

Patch Set 2 : Addressing Kevin's comments #

Total comments: 2

Patch Set 3 : Checking the both indices are smis #

Patch Set 4 : Stub ports to x64 and ARM #

Unified diffs Side-by-side diffs Delta from patch set Stats (+192 lines, -7 lines) Patch
M src/arm/codegen-arm.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/arm/codegen-arm.cc View 1 chunk +14 lines, -0 lines 0 comments Download
M src/array.js View 2 chunks +3 lines, -6 lines 0 comments Download
M src/codegen.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/ia32/codegen-ia32.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 1 2 1 chunk +115 lines, -0 lines 0 comments Download
M src/ic.h View 2 chunks +1 line, -1 line 0 comments Download
M src/runtime.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime.cc View 1 chunk +32 lines, -0 lines 0 comments Download
M src/x64/codegen-x64.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/x64/codegen-x64.cc View 1 chunk +14 lines, -0 lines 0 comments Download
M test/mjsunit/fuzz-natives.js View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
antonm
Lasse, may you have a look?
10 years, 8 months ago (2010-04-26 14:55:43 UTC) #1
antonm
Kevin, may you have a look as well? I've addressed the first batch of issues ...
10 years, 8 months ago (2010-04-27 11:47:54 UTC) #2
Lasse Reichstein
LGTM http://codereview.chromium.org/1709008/diff/3001/4003 File src/ia32/codegen-ia32.cc (right): http://codereview.chromium.org/1709008/diff/3001/4003#newcode6680 src/ia32/codegen-ia32.cc:6680: if (FLAG_debug_code) __ AbortIfNotSmi(index2.reg()); You should still test ...
10 years, 7 months ago (2010-04-29 12:56:33 UTC) #3
antonm
Lasse, I've add as well a warning about this intrinsic assumptions (indices within bounds, no ...
10 years, 7 months ago (2010-04-29 14:22:39 UTC) #4
antonm
10 years, 7 months ago (2010-04-29 14:57:13 UTC) #5
Trivial ports to x64 and ARM (just going to runtime immediately) added.  Will
file a bug for proper ports.

I'm going to submit it as is right---let me know if you'd like to have more
checks in _SwapElements to make it a generic primitive.

Powered by Google App Engine
This is Rietveld 408576698