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

Issue 2300503002: Refactor object/class literal property name parsing (Closed)

Created:
4 years, 3 months ago by bakkot
Modified:
4 years, 3 months ago
Reviewers:
Dan Ehrenberg, adamk
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Refactor object/class literal property name parsing This patch arranges that property names are parsed in a single pass, reporting the name as well as the type of the property, instead of parsing qualifiers like 'static' or 'get' initially as names and then re-parsing. This change is easier to reason about, very slightly (4%) faster in some cases (although slower in other, less common ones, though this slowdown will be fixed in an upcoming patch), and is a prerequisite for separating the parsing of object and class literal properties, which will become increasingly important as ECMAScript adds more class features. This is a reland of https://codereview.chromium.org/2278153004/, which fixes the issue causing the revert and adds more tests. Committed: https://crrev.com/8d5a267b19a5239afbeebc450a197f18231aed78 Cr-Commit-Position: refs/heads/master@{#39056}

Patch Set 1 #

Patch Set 2 : fix & more tests #

Total comments: 10

Patch Set 3 : documentation & tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+405 lines, -141 lines) Patch
M src/parsing/parser.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/parsing/parser-base.h View 1 2 12 chunks +253 lines, -137 lines 0 comments Download
M src/parsing/preparser.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M test/cctest/test-parsing.cc View 1 2 7 chunks +142 lines, -0 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 2 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 20 (11 generated)
bakkot
This patch now properly prohibits ({*x:0}); thanks, fuzzer. I guess I shouldn't assume we have ...
4 years, 3 months ago (2016-08-31 01:22:39 UTC) #2
Dan Ehrenberg
On 2016/08/31 01:22:39, bakkot wrote: > This patch now properly prohibits ({*x:0}); thanks, fuzzer. > ...
4 years, 3 months ago (2016-08-31 15:41:48 UTC) #3
adamk
https://codereview.chromium.org/2300503002/diff/20001/src/parsing/parser-base.h File src/parsing/parser-base.h (right): https://codereview.chromium.org/2300503002/diff/20001/src/parsing/parser-base.h#newcode1899 src/parsing/parser-base.h:1899: DCHECK(!*is_computed_name); Add a DCHECK for the initial state of ...
4 years, 3 months ago (2016-08-31 17:37:08 UTC) #8
bakkot
Addressed comments. Also set mjsunit/big-object-literal to SKIP on MacOS, since it was failing for reasons ...
4 years, 3 months ago (2016-08-31 19:46:28 UTC) #9
adamk
lgtm
4 years, 3 months ago (2016-08-31 20:43:44 UTC) #14
Dan Ehrenberg
lgtm
4 years, 3 months ago (2016-08-31 20:46:37 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2300503002/40001
4 years, 3 months ago (2016-08-31 21:10:37 UTC) #17
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 3 months ago (2016-08-31 21:13:18 UTC) #18
commit-bot: I haz the power
4 years, 3 months ago (2016-08-31 21:14:22 UTC) #20
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/8d5a267b19a5239afbeebc450a197f18231aed78
Cr-Commit-Position: refs/heads/master@{#39056}

Powered by Google App Engine
This is Rietveld 408576698