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

Issue 10824079: Use a special EnumLength field to indicate number of valid enum cache values. (Closed)

Created:
8 years, 4 months ago by Toon Verwaest
Modified:
8 years, 3 months ago
CC:
v8-dev
Visibility:
Public.

Description

Use a special EnumLength field to indicate number of valid enum cache values. This is preparatory work for sharing Enum Caches. Committed: https://code.google.com/p/v8/source/detail?r=12400

Patch Set 1 : u #

Total comments: 16

Patch Set 2 : Addressed comments #

Patch Set 3 : Rebase #

Patch Set 4 : Ported to ARM #

Patch Set 5 : Removed UNREACHABLE from DoForInCacheArray on ARM #

Total comments: 12

Patch Set 6 : Keep push-order on ARM #

Patch Set 7 : Addressed comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+329 lines, -155 lines) Patch
M src/arm/full-codegen-arm.cc View 1 2 3 4 5 6 1 chunk +15 lines, -7 lines 0 comments Download
M src/arm/lithium-arm.h View 1 2 3 4 5 6 2 chunks +11 lines, -0 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 2 3 1 chunk +6 lines, -0 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 3 chunks +17 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 3 4 5 6 1 chunk +30 lines, -38 lines 0 comments Download
M src/handles.cc View 1 2 2 chunks +37 lines, -21 lines 0 comments Download
M src/heap.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/hydrogen.cc View 1 2 1 chunk +2 lines, -3 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 2 chunks +21 lines, -0 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 1 chunk +13 lines, -4 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 2 chunks +16 lines, -0 lines 0 comments Download
M src/ia32/lithium-ia32.h View 1 2 3 4 5 6 2 chunks +11 lines, -0 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.h View 1 2 1 chunk +9 lines, -1 line 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 2 3 1 chunk +26 lines, -30 lines 0 comments Download
M src/objects.h View 1 2 3 chunks +16 lines, -4 lines 0 comments Download
M src/objects.cc View 1 2 3 chunks +5 lines, -7 lines 0 comments Download
M src/utils.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 1 chunk +15 lines, -5 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 2 chunks +15 lines, -0 lines 0 comments Download
M src/x64/lithium-x64.h View 1 2 3 4 5 6 2 chunks +11 lines, -0 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 2 1 chunk +9 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 2 chunks +28 lines, -34 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
Toon Verwaest
PTAL. This CL adds a field EnumLength to the map that indicates the number of ...
8 years, 4 months ago (2012-07-30 09:35:40 UTC) #1
Michael Starzinger
First round of comments. To improve the generated code for getting the EnumLength value, we ...
8 years, 4 months ago (2012-08-06 15:06:22 UTC) #2
Toon Verwaest
Addressed comments, PTAL. http://codereview.chromium.org/10824079/diff/21/src/handles.cc File src/handles.cc (right): http://codereview.chromium.org/10824079/diff/21/src/handles.cc#newcode726 src/handles.cc:726: // Count encountering the empty descriptor ...
8 years, 4 months ago (2012-08-07 10:49:47 UTC) #3
Jakob Kummerow
The diff from patch set 1 to 2 LGTM.
8 years, 3 months ago (2012-08-28 09:50:42 UTC) #4
Jakob Kummerow
ARM port LGTM if you address the comments. https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/full-codegen-arm.cc File src/arm/full-codegen-arm.cc (right): https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/full-codegen-arm.cc#newcode1151 src/arm/full-codegen-arm.cc:1151: __ ...
8 years, 3 months ago (2012-08-28 12:24:44 UTC) #5
Toon Verwaest
8 years, 3 months ago (2012-08-28 12:30:23 UTC) #6
Addressed comments.

https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/full-codeg...
File src/arm/full-codegen-arm.cc (right):

https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/full-codeg...
src/arm/full-codegen-arm.cc:1151: __ Push(r1, r2, r0);
On 2012/08/28 12:24:44, Jakob wrote:
> Please try to keep the registers that are being pushed in descending order.

Done.

https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/lithium-arm.h
File src/arm/lithium-arm.h (right):

https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/lithium-ar...
src/arm/lithium-arm.h:1013: "map-enum-length")
On 2012/08/28 12:24:44, Jakob wrote:
> nit: fits on one line

Done.

https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/lithium-ar...
src/arm/lithium-arm.h:1014: DECLARE_HYDROGEN_ACCESSOR(MapEnumLength)
On 2012/08/28 12:24:44, Jakob wrote:
> I don't see why you need this (not on ia32 either).

Done.

https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/macro-asse...
File src/arm/macro-assembler-arm.cc (right):

https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/macro-asse...
src/arm/macro-assembler-arm.cc:3748: cmp(r3,
Operand(Smi::FromInt(Map::kInvalidEnumCache)));
On 2012/08/28 12:24:44, Jakob wrote:
> On ia32, this compares against Smi::FromInt(0). Is the ARM version different
on
> purpose?

Done.

https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/macro-asse...
src/arm/macro-assembler-arm.cc:3753: // Check that there are no elements.
Register rcx contains the current JS
On 2012/08/28 12:24:44, Jakob wrote:
> s/rcx/r2/, I guess

Done.

https://chromiumcodereview.appspot.com/10824079/diff/17008/src/arm/macro-asse...
src/arm/macro-assembler-arm.cc:3756: cmp(r2, r6);
On 2012/08/28 12:24:44, Jakob wrote:
> s/r6/empty_fixed_array_value/ please

Done.

Powered by Google App Engine
This is Rietveld 408576698