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

Issue 166653005: Fix dictionary element load to pass correct elements kind. (Closed)

Created:
6 years, 10 months ago by ulan
Modified:
6 years, 10 months ago
Reviewers:
Igor Sheludko, danno
CC:
v8-dev
Visibility:
Public.

Description

Fix dictionary element load to pass correct elements kind. Using FAST_SMI_ELEMENTS triggers optimization on 64-bit architectures that load only the higher 32 bits of the element. If the element is a pointer to undefined that has 0 in the higher half than it is erroneously treated as SMI 0. BUG=v8:3158 LOG=N TEST=mjsunit/sparse-array-reverse,mjsunit/regress/regress-3158.js R=danno@chromium.org, ishell@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=19387

Patch Set 1 #

Patch Set 2 : Add regression test #

Patch Set 3 : x64 checks #

Total comments: 4

Patch Set 4 : use ifdef DEBUG #

Patch Set 5 : Enable tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+44 lines, -8 lines) Patch
M src/hydrogen.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 2 chunks +17 lines, -0 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 2 3 4 1 chunk +0 lines, -5 lines 0 comments Download
A test/mjsunit/regress/regress-3158.js View 1 2 1 chunk +24 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
ulan
PTAL
6 years, 10 months ago (2014-02-14 14:14:20 UTC) #1
danno
lgtm
6 years, 10 months ago (2014-02-14 14:17:00 UTC) #2
Igor Sheludko
I think it is worth adding a debug-mode check that whenever we use optimized smi ...
6 years, 10 months ago (2014-02-14 14:25:18 UTC) #3
ulan
Igor, I added check in x64, ptal.
6 years, 10 months ago (2014-02-14 15:03:31 UTC) #4
Igor Sheludko
lgtm with a nit: https://codereview.chromium.org/166653005/diff/110001/src/x64/lithium-codegen-x64.cc File src/x64/lithium-codegen-x64.cc (right): https://codereview.chromium.org/166653005/diff/110001/src/x64/lithium-codegen-x64.cc#newcode2784 src/x64/lithium-codegen-x64.cc:2784: if (FLAG_debug_code) { I think ...
6 years, 10 months ago (2014-02-14 15:16:31 UTC) #5
ulan
Thanks, landing. https://codereview.chromium.org/166653005/diff/110001/src/x64/lithium-codegen-x64.cc File src/x64/lithium-codegen-x64.cc (right): https://codereview.chromium.org/166653005/diff/110001/src/x64/lithium-codegen-x64.cc#newcode2784 src/x64/lithium-codegen-x64.cc:2784: if (FLAG_debug_code) { On 2014/02/14 15:16:31, Igor ...
6 years, 10 months ago (2014-02-14 15:22:38 UTC) #6
ulan
6 years, 10 months ago (2014-02-14 15:52:32 UTC) #7
Message was sent while issue was closed.
Committed patchset #5 manually as r19387 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698