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

Issue 2302643002: Split the AST representation of class properties from object properties (Closed)

Created:
4 years, 3 months ago by bakkot
Modified:
4 years, 3 months ago
CC:
rmcilroy, v8-mips-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, v8-reviews_googlegroups.com, v8-x87-ports_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Split the AST representation of class properties from object properties. This introduces ClassLiteralProperty and a supertype LiteralProperty of it and ObjectLiteralProperty. It also splits the parsing of the two. This substiantially clarifies some logic, especially as classes continue to evolve, and is also about a 2% performance improvement to parsing either kind of property (since no work is wasted on logic only necessary for the other kind). Also, it saves a word on ObjectLiteralProperties. Committed: https://crrev.com/7bc200c767470b02af5bf3cc12e23ec4bc104e80 Cr-Commit-Position: refs/heads/master@{#39219}

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : placate gcc, hopefully #

Patch Set 4 : rebase #

Patch Set 5 : remove spurious classliteralproperty typedef #

Total comments: 22

Patch Set 6 : address Adam's comments #

Patch Set 7 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+448 lines, -442 lines) Patch
M src/ast/ast.h View 1 2 3 4 5 6 5 chunks +70 lines, -39 lines 0 comments Download
M src/ast/ast.cc View 1 2 3 4 5 6 5 chunks +15 lines, -24 lines 0 comments Download
M src/ast/ast-expression-rewriter.h View 1 chunk +1 line, -1 line 0 comments Download
M src/ast/ast-expression-rewriter.cc View 2 chunks +3 lines, -6 lines 0 comments Download
M src/ast/ast-literal-reindexer.h View 1 chunk +1 line, -1 line 0 comments Download
M src/ast/ast-literal-reindexer.cc View 1 chunk +3 lines, -6 lines 0 comments Download
M src/ast/ast-numbering.cc View 4 chunks +4 lines, -7 lines 0 comments Download
M src/ast/ast-traversal-visitor.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/ast/prettyprinter.h View 1 chunk +2 lines, -1 line 0 comments Download
M src/ast/prettyprinter.cc View 1 2 3 2 chunks +42 lines, -19 lines 0 comments Download
M src/compiler/ast-graph-builder.h View 1 chunk +1 line, -2 lines 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 2 3 4 5 6 4 chunks +5 lines, -10 lines 0 comments Download
M src/compiler/ast-loop-assignment-analyzer.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 2 3 4 5 6 2 chunks +4 lines, -8 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 2 3 4 5 6 2 chunks +4 lines, -8 lines 0 comments Download
M src/full-codegen/full-codegen.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/full-codegen/full-codegen.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 3 4 5 6 2 chunks +4 lines, -8 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 3 4 5 6 2 chunks +4 lines, -8 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 3 4 5 6 2 chunks +4 lines, -8 lines 0 comments Download
M src/full-codegen/ppc/full-codegen-ppc.cc View 1 2 3 4 5 6 2 chunks +4 lines, -8 lines 0 comments Download
M src/full-codegen/s390/full-codegen-s390.cc View 1 2 3 4 5 6 2 chunks +4 lines, -8 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 3 4 5 6 2 chunks +4 lines, -8 lines 0 comments Download
M src/full-codegen/x87/full-codegen-x87.cc View 1 2 3 4 5 6 2 chunks +4 lines, -8 lines 0 comments Download
M src/interpreter/bytecode-generator.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 5 6 4 chunks +5 lines, -11 lines 0 comments Download
M src/parsing/parameter-initializer-rewriter.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/parsing/parser.h View 1 2 3 4 5 6 5 chunks +11 lines, -2 lines 0 comments Download
M src/parsing/parser.cc View 1 2 3 4 5 6 4 chunks +33 lines, -6 lines 0 comments Download
M src/parsing/parser-base.h View 1 2 3 4 5 6 20 chunks +192 lines, -221 lines 0 comments Download
M src/parsing/preparser.h View 1 2 3 4 5 6 3 chunks +11 lines, -2 lines 0 comments Download
M src/parsing/preparser.cc View 1 2 3 4 5 6 1 chunk +2 lines, -3 lines 0 comments Download
M src/parsing/scanner.h View 2 chunks +3 lines, -1 line 0 comments Download

Messages

Total messages: 42 (30 generated)
bakkot
PTAL. This touches a lot of files, but mostly in trivial ways. The interesting changes ...
4 years, 3 months ago (2016-09-01 20:18:36 UTC) #21
adamk
Interesting stuff. Initially it looks like a lot of duplication, but it is interesting to ...
4 years, 3 months ago (2016-09-01 21:18:23 UTC) #22
bakkot
https://codereview.chromium.org/2302643002/diff/80001/src/ast/ast.h File src/ast/ast.h (right): https://codereview.chromium.org/2302643002/diff/80001/src/ast/ast.h#newcode1298 src/ast/ast.h:1298: Expression* value() { return value_; } On 2016/09/01 at ...
4 years, 3 months ago (2016-09-01 23:24:31 UTC) #23
adamk
This lgtm, but I'd like to give marja@ a look at this too since she ...
4 years, 3 months ago (2016-09-01 23:30:31 UTC) #25
Benedikt Meurer
Michi should have a look at the compiler changes.
4 years, 3 months ago (2016-09-02 05:12:14 UTC) #28
marja
lgtm
4 years, 3 months ago (2016-09-02 08:02:10 UTC) #29
marja
bmeurer@: mstarzinger@ is ooo, can you suggest somebody who can review this before he's back?
4 years, 3 months ago (2016-09-02 08:02:52 UTC) #30
adamk
On 2016/09/02 08:02:52, marja wrote: > bmeurer@: mstarzinger@ is ooo, can you suggest somebody who ...
4 years, 3 months ago (2016-09-02 17:08:03 UTC) #31
Michael Starzinger
LGTM. I like it. Note that I didn't look at the changes in the "parsing" ...
4 years, 3 months ago (2016-09-05 16:13:50 UTC) #32
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/2302643002/120001
4 years, 3 months ago (2016-09-06 17:41:18 UTC) #39
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 3 months ago (2016-09-06 17:43:23 UTC) #40
commit-bot: I haz the power
4 years, 3 months ago (2016-09-06 17:43:58 UTC) #42
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/7bc200c767470b02af5bf3cc12e23ec4bc104e80
Cr-Commit-Position: refs/heads/master@{#39219}

Powered by Google App Engine
This is Rietveld 408576698