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

Issue 2870018: Add "has fast elements" bit to maps and use it in inlined keyed loads. (Closed)

Created:
10 years, 6 months ago by Vitaly Repeshko
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Add "has fast elements" bit to maps and use it in inlined keyed loads. A potential issue with this change is creating lots of maps when objects flip between fast/slow elements modes. We could add special transitions to avoid this. Yet testing this on our benchmarks, gmail, and wave seems to indicate that this is not a real problem. Committed: http://code.google.com/p/v8/source/detail?r=4941

Patch Set 1 #

Patch Set 2 : ARM assert fix #

Total comments: 2

Patch Set 3 : More ARM fixes. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+187 lines, -52 lines) Patch
M src/api.cc View 2 chunks +4 lines, -0 lines 0 comments Download
M src/arm/assembler-arm.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/arm/codegen-arm.h View 2 1 chunk +3 lines, -1 line 0 comments Download
M src/arm/codegen-arm.cc View 1 2 2 chunks +7 lines, -5 lines 0 comments Download
M src/arm/ic-arm.cc View 2 1 chunk +1 line, -1 line 0 comments Download
M src/arm/macro-assembler-arm.cc View 2 chunks +13 lines, -0 lines 0 comments Download
M src/builtins.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/factory.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/factory.cc View 1 chunk +11 lines, -0 lines 0 comments Download
M src/heap.cc View 1 2 4 chunks +5 lines, -3 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 2 chunks +6 lines, -4 lines 0 comments Download
M src/ic.cc View 1 2 1 chunk +6 lines, -4 lines 0 comments Download
M src/objects.h View 1 2 5 chunks +26 lines, -1 line 0 comments Download
src/objects.cc View 1 2 11 chunks +41 lines, -26 lines 0 comments Download
M src/objects-debug.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/objects-inl.h View 4 chunks +35 lines, -0 lines 0 comments Download
M src/runtime.cc View 3 chunks +15 lines, -4 lines 0 comments Download
M src/x64/codegen-x64.cc View 1 2 1 chunk +5 lines, -3 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Vitaly Repeshko
10 years, 6 months ago (2010-06-22 13:41:48 UTC) #1
Mads Ager (chromium)
LGTM http://codereview.chromium.org/2870018/diff/2001/3014 File src/objects.h (right): http://codereview.chromium.org/2870018/diff/2001/3014#newcode3027 src/objects.h:3027: // Returns a copy of the map, with ...
10 years, 6 months ago (2010-06-24 09:22:17 UTC) #2
Vitaly Repeshko
10 years, 6 months ago (2010-06-24 13:58:55 UTC) #3
I also added nop padding to the Abort macro on ARM to make its size constant (as
discussed with Erik). This is required to make patching of the inlined keyed
load code work.

http://codereview.chromium.org/2870018/diff/2001/3014
File src/objects.h (right):

http://codereview.chromium.org/2870018/diff/2001/3014#newcode3027
src/objects.h:3027: // Returns a copy of the map, with all transitions dropped
from the
On 2010/06/24 09:22:17, Mads Ager wrote:
> Please update these comments to state that a copy is only created if the map
is
> not already the fast/slow map. Reading this comment it seems safe to use this
to
> copy a map and change it.

Done.

Powered by Google App Engine
This is Rietveld 408576698