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

Issue 1673673002: reland [es7] refactor and fix Object.values() / Object.entries() (Closed)

Created:
4 years, 10 months ago by caitp (gmail)
Modified:
4 years, 10 months ago
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

reland [es7] refactor and fix Object.values() / Object.entries() Previously, Object.values() and Object.entries() were piggy-backing on Object.keys(). This meant that they would pre-filter non-enumerable properties, violating the runtime behaviour of the methods. Unfortunately, this does not match the current proposal text. Also incorporates several tests verifying this behaviour based on tests included in the ChakraCore implementation. In this reland, the new patch fills up the longer-lasting FixedArray with `undefined` to avoid the crash in Heap::Verify(). Originally reviewed at https://codereview.chromium.org/1637753004 BUG=v8:4663 LOG=N R=adamk@chromium.org, rossberg@chromium.org, littledan@chromium.org Committed: https://crrev.com/e708dd54b9c60eff7d260d67508d9743e17a3441 Cr-Commit-Position: refs/heads/master@{#33818}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+416 lines, -37 lines) Patch
M src/builtins.cc View 2 chunks +7 lines, -34 lines 0 comments Download
M src/objects.h View 1 chunk +6 lines, -0 lines 0 comments Download
M src/objects.cc View 1 chunk +58 lines, -0 lines 0 comments Download
M src/objects-inl.h View 1 chunk +2 lines, -1 line 0 comments Download
M test/mjsunit/harmony/object-entries.js View 5 chunks +177 lines, -1 line 0 comments Download
M test/mjsunit/harmony/object-values.js View 5 chunks +166 lines, -1 line 0 comments Download

Messages

Total messages: 11 (5 generated)
caitp (gmail)
PTAL --- fills up the longer-lasting FixedArray with `undefined` to avoid the crash in Heap::Verify()
4 years, 10 months ago (2016-02-05 16:57:31 UTC) #1
Dan Ehrenberg
lgtm The fix makes sense to me. I added some notes to the commit message ...
4 years, 10 months ago (2016-02-08 13:00:47 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1673673002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1673673002/1
4 years, 10 months ago (2016-02-08 13:46:28 UTC) #7
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 10 months ago (2016-02-08 14:10:56 UTC) #8
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/e708dd54b9c60eff7d260d67508d9743e17a3441 Cr-Commit-Position: refs/heads/master@{#33818}
4 years, 10 months ago (2016-02-08 14:11:13 UTC) #10
Jakob Kummerow
4 years, 10 months ago (2016-02-08 15:20:57 UTC) #11
Message was sent while issue was closed.
DBC: Please follow best practices for relands with fix:

(1) upload the original patch (revert of the revert) as patch set 1
(2) fix it locally
(3) upload the fixed version as patch set 2.

That workflow makes it easy to look at the fix; whereas uploading only a single
patch set makes it very hard to figure out what's different than in the last
attempt.

Powered by Google App Engine
This is Rietveld 408576698