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

Issue 787603003: Generative constructors in the new dart backend. (Closed)

Created:
6 years ago by sigurdm
Modified:
5 years, 11 months ago
CC:
reviews_dartlang.org, asgerf, floitsch
Visibility:
Public.

Description

Generative constructors in the new dart backend. With super and field initializers. Field initializers and the arguments to a super-initializer are treated as zero-arg nested functions, and if they assign to a parameter, that parameter is set to be a closure variable. Still no 'this' initializer redirections. initializing formals (such as `C(this.x)` ) are translated to field initializers. We might want to revisit this choice. R=asgerf@google.com, kmillikin@google.com Committed: https://code.google.com/p/dart/source/detail?r=42427

Patch Set 1 : #

Total comments: 6

Patch Set 2 : Address floitsch' comments #

Patch Set 3 : Rebased #

Total comments: 12

Patch Set 4 : Rebase #

Patch Set 5 : Address comments, set element for constructors in frontend_ast_to_backend_ast, adjust status-file #

Unified diffs Side-by-side diffs Delta from patch set Stats (+895 lines, -145 lines) Patch
M pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart View 1 2 3 4 2 chunks +43 lines, -6 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_builder_visitor.dart View 1 2 3 4 5 chunks +117 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart View 1 2 3 4 10 chunks +132 lines, -17 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart View 1 2 3 4 2 chunks +4 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart View 2 6 chunks +32 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/optimizers.dart View 1 2 3 2 chunks +22 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/redundant_phi.dart View 2 chunks +3 lines, -14 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart View 1 2 3 3 chunks +21 lines, -16 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 1 2 3 5 chunks +8 lines, -13 lines 0 comments Download
M pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart View 1 2 3 4 12 chunks +172 lines, -28 lines 0 comments Download
M pkg/compiler/lib/src/dart_backend/backend_ast_nodes.dart View 2 chunks +25 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/dart_backend/backend_ast_to_frontend_ast.dart View 1 2 3 4 4 chunks +56 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/dart_backend/placeholder_collector.dart View 1 chunk +4 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/codegen.dart View 1 chunk +12 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/copy_propagator.dart View 3 chunks +49 lines, -7 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart View 1 chunk +22 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/optimization.dart View 2 chunks +5 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart View 2 chunks +23 lines, -14 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart View 1 2 3 4 5 chunks +47 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart View 1 2 3 4 5 chunks +57 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart View 2 5 chunks +31 lines, -7 lines 0 comments Download
M tests/compiler/dart2js/backend_dart/sexpr_test.dart View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M tests/corelib/corelib.status View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M tests/language/language_dart2js.status View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (4 generated)
sigurdm
6 years ago (2014-12-08 14:29:45 UTC) #3
floitsch
DBC. https://codereview.chromium.org/787603003/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart File pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart (right): https://codereview.chromium.org/787603003/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart#newcode643 pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart:643: element, state.functionParameters, makeRunnableBody(), initializers, assign "makeRunnableBody" to a ...
6 years ago (2014-12-08 17:45:03 UTC) #5
sigurdm
https://codereview.chromium.org/787603003/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart File pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart (right): https://codereview.chromium.org/787603003/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart#newcode643 pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart:643: element, state.functionParameters, makeRunnableBody(), initializers, On 2014/12/08 17:45:02, floitsch wrote: ...
6 years ago (2014-12-09 09:57:11 UTC) #6
asgerf
LGTM. But the diff seems to contain stuff from other CLs so I can easily ...
6 years ago (2014-12-10 07:56:33 UTC) #8
sigurdm
I tried rebase. Hope it looks better
6 years ago (2014-12-10 09:04:02 UTC) #9
asgerf
Still LGTM.
6 years ago (2014-12-10 10:23:55 UTC) #10
Kevin Millikin (Google)
A few simple comments. LGTM when they are addressed. https://codereview.chromium.org/787603003/diff/60001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart File pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart (right): https://codereview.chromium.org/787603003/diff/60001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart#newcode583 pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart:583: ...
6 years ago (2014-12-11 09:28:25 UTC) #11
sigurdm
https://codereview.chromium.org/787603003/diff/60001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart File pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart (right): https://codereview.chromium.org/787603003/diff/60001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart#newcode583 pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart:583: ir.SuperInitializer makeSuperInitializer(ConstructorElement target, On 2014/12/11 09:28:25, kmillikin wrote: > ...
6 years ago (2014-12-17 10:20:56 UTC) #12
sigurdm
6 years ago (2014-12-17 10:34:41 UTC) #13
Message was sent while issue was closed.
Committed patchset #5 (id:100001) manually as 42427 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698