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

Issue 1069493002: implement opassign, fix bugs in pre/postfix, introduce a let* helper (Closed)

Created:
5 years, 8 months ago by Jennifer Messerly
Modified:
5 years, 8 months ago
Reviewers:
Leaf, vsm, Jacob
CC:
dev-compiler+reviews_dartlang.org
Base URL:
git@github.com:dart-lang/dev_compiler.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

implement opassign, fix bugs in pre/postfix, introduce a let* helper Simplifies js_codegen to remove the special cases for things like cascades and statement parent, instead these "fall out" of JSMetaLet node and the various to* methods in js_ast. As a result of handling things more uniformly, code gets cleaner in a lot of cases. One slight "regression" is a cascade at the end of a variable init list with multiple variables. But multiple variables aren't very common so doesn't seem worth optimizing readability there. R=leafp@google.com, vsm@google.com Committed: https://github.com/dart-lang/dev_compiler/commit/0c480a7d4b518d5f2ce5d3afbe706937299a0ff2

Patch Set 1 : #

Total comments: 24

Patch Set 2 : feedback #

Patch Set 3 : statement form variant #

Patch Set 4 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1369 lines, -613 lines) Patch
M lib/runtime/dart/_interceptors.js View 4 chunks +5 lines, -5 lines 0 comments Download
M lib/runtime/dart/_internal.js View 1 2 3 6 chunks +60 lines, -15 lines 0 comments Download
M lib/runtime/dart/_isolate_helper.js View 1 2 3 8 chunks +32 lines, -15 lines 0 comments Download
M lib/runtime/dart/_js_helper.js View 1 2 3 22 chunks +106 lines, -66 lines 0 comments Download
M lib/runtime/dart/async.js View 1 2 3 64 chunks +106 lines, -101 lines 0 comments Download
M lib/runtime/dart/collection.js View 1 2 3 34 chunks +74 lines, -54 lines 0 comments Download
M lib/runtime/dart/convert.js View 1 2 3 11 chunks +94 lines, -29 lines 0 comments Download
M lib/runtime/dart/core.js View 1 2 3 21 chunks +32 lines, -29 lines 0 comments Download
M lib/runtime/dart/isolate.js View 1 2 3 4 chunks +21 lines, -21 lines 0 comments Download
M lib/runtime/dart/math.js View 1 chunk +9 lines, -9 lines 0 comments Download
M lib/src/codegen/ast_builder.dart View 1 chunk +126 lines, -11 lines 0 comments Download
M lib/src/codegen/js_codegen.dart View 1 19 chunks +256 lines, -233 lines 0 comments Download
A lib/src/codegen/js_metalet.dart View 1 2 1 chunk +240 lines, -0 lines 0 comments Download
M lib/src/info.dart View 1 chunk +1 line, -0 lines 0 comments Download
M lib/src/js/nodes.dart View 5 chunks +69 lines, -1 line 0 comments Download
M lib/src/js/printer.dart View 1 1 chunk +8 lines, -4 lines 0 comments Download
M lib/src/js/template.dart View 1 chunk +9 lines, -0 lines 0 comments Download
M test/codegen/expect/cascade.js View 1 2 2 chunks +20 lines, -18 lines 0 comments Download
M test/codegen/expect/map_keys.js.map View 1 chunk +1 line, -1 line 0 comments Download
A test/codegen/expect/opassign.js View 1 2 1 chunk +56 lines, -0 lines 0 comments Download
A test/codegen/expect/opassign.txt View 1 chunk +10 lines, -0 lines 0 comments Download
M test/codegen/expect/sunflower/sunflower.js View 1 1 chunk +1 line, -1 line 0 comments Download
A test/codegen/opassign.dart View 1 chunk +33 lines, -0 lines 0 comments Download

Messages

Total messages: 11 (3 generated)
Jennifer Messerly
Thanks to Leaf & Vijay for the meta-let* brainstorm :) https://codereview.chromium.org/1069493002/diff/20001/lib/runtime/dart/_internal.js File lib/runtime/dart/_internal.js (right): https://codereview.chromium.org/1069493002/diff/20001/lib/runtime/dart/_internal.js#newcode301 ...
5 years, 8 months ago (2015-04-07 22:00:29 UTC) #3
Jennifer Messerly
on a related note, I forgot to fix printing of a single argument lambda. will ...
5 years, 8 months ago (2015-04-07 22:09:53 UTC) #4
Leaf
Nice! Some questions and comments, some of which may just be my unfamiliarity with the ...
5 years, 8 months ago (2015-04-08 04:08:35 UTC) #5
Jennifer Messerly
Thanks Leaf! Based on discussions yesterday, I uploaded two variants: one addressing your comments, and ...
5 years, 8 months ago (2015-04-08 16:35:46 UTC) #7
Jennifer Messerly
BTW, I fixed some of the postfix issues with this change https://codereview.chromium.org/1071773002 ... does that ...
5 years, 8 months ago (2015-04-08 22:10:18 UTC) #8
vsm
lgtm I think statement form variant is the easiest to grok. The prop variant in ...
5 years, 8 months ago (2015-04-10 00:10:14 UTC) #9
Jennifer Messerly
On 2015/04/10 00:10:14, vsm wrote: > lgtm > > I think statement form variant is ...
5 years, 8 months ago (2015-04-10 01:01:12 UTC) #10
Jennifer Messerly
5 years, 8 months ago (2015-04-10 16:53:39 UTC) #11
Message was sent while issue was closed.
Committed patchset #4 (id:80001) manually as
0c480a7d4b518d5f2ce5d3afbe706937299a0ff2 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698