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

Issue 831133004: Use closure conversion in new dart2js backend. (Closed)

Created:
5 years, 11 months ago by asgerf
Modified:
5 years, 11 months ago
CC:
reviews_dartlang.org
Target Ref:
refs/remotes/git-svn
Visibility:
Public.

Description

Use closure conversion in new dart2js backend. New instructions: CreateBox, SetField, GetField, CreateClosureClass. The "old" instructions based on ref-cells are still in use by dart2dart: GetClosureVariable, SetClosureVariable, CreateFunction. dart2dart still does not support captured for-loop variables, but this is a separate issue. BUG= R=floitsch@google.com, kmillikin@google.com, sigurdm@google.com Committed: https://code.google.com/p/dart/source/detail?r=42802

Patch Set 1 #

Total comments: 56

Patch Set 2 : Rebase #

Total comments: 13

Patch Set 3 : Respond to comments #

Patch Set 4 : Rebase #

Total comments: 13

Patch Set 5 : Comments #

Patch Set 6 : Rebase #

Patch Set 7 : Removed redundant null-check #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1515 lines, -302 lines) Patch
M pkg/analyzer2dart/lib/src/cps_generator.dart View 1 2 3 4 3 chunks +15 lines, -13 lines 0 comments Download
M pkg/compiler/lib/src/closure.dart View 1 2 3 4 11 chunks +23 lines, -53 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart View 1 2 3 4 5 6 27 chunks +495 lines, -173 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_builder_visitor.dart View 1 2 18 chunks +115 lines, -41 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart View 1 2 3 4 10 chunks +105 lines, -10 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart View 1 2 3 4 1 chunk +24 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart View 3 chunks +30 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart View 1 chunk +17 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 1 chunk +16 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart View 1 chunk +18 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/codegen.dart View 1 chunk +29 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/glue.dart View 2 chunks +10 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/js_tree_builder.dart View 1 chunk +21 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/task.dart View 1 2 3 4 5 4 chunks +3 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/js_emitter/code_emitter_task.dart View 1 2 3 2 chunks +7 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_emitter/new_emitter/emitter.dart View 1 chunk +5 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_emitter/type_test_generator.dart View 1 chunk +1 line, -1 line 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/copy_propagator.dart View 1 chunk +7 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart View 1 chunk +21 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/loop_rewriter.dart View 1 chunk +8 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart View 1 chunk +23 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart View 2 chunks +3 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart View 7 chunks +67 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart View 4 chunks +35 lines, -1 line 0 comments Download
A tests/compiler/dart2js/js_backend_cps_ir_closures.dart View 1 chunk +125 lines, -0 lines 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_test.dart View 2 chunks +3 lines, -1 line 0 comments Download
A tests/language/for_variable_capture_test.dart View 1 2 1 chunk +284 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (1 generated)
asgerf
5 years, 11 months ago (2015-01-08 14:38:12 UTC) #2
floitsch
LGTM! with some comments. mostly more documentation, so nothing big. https://codereview.chromium.org/831133004/diff/1/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/831133004/diff/1/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart#newcode183 ...
5 years, 11 months ago (2015-01-08 18:29:37 UTC) #3
sigurdm
LGTM https://codereview.chromium.org/831133004/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/831133004/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart#newcode30 pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart:30: /// A map from elements to their environment ...
5 years, 11 months ago (2015-01-09 09:31:21 UTC) #4
asgerf
Response to comments. https://codereview.chromium.org/831133004/diff/1/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/831133004/diff/1/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart#newcode183 pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart:183: class IrBuilderClosureState { On 2015/01/08 18:29:35, ...
5 years, 11 months ago (2015-01-12 13:15:44 UTC) #5
Kevin Millikin (Google)
LGTM if the comments are addressed. https://codereview.chromium.org/831133004/diff/60001/pkg/analyzer2dart/lib/src/cps_generator.dart File pkg/analyzer2dart/lib/src/cps_generator.dart (right): https://codereview.chromium.org/831133004/diff/60001/pkg/analyzer2dart/lib/src/cps_generator.dart#newcode69 pkg/analyzer2dart/lib/src/cps_generator.dart:69: element, The arguments ...
5 years, 11 months ago (2015-01-13 08:25:37 UTC) #6
asgerf
https://codereview.chromium.org/831133004/diff/1/pkg/compiler/lib/src/cps_ir/cps_ir_builder_visitor.dart File pkg/compiler/lib/src/cps_ir/cps_ir_builder_visitor.dart (right): https://codereview.chromium.org/831133004/diff/1/pkg/compiler/lib/src/cps_ir/cps_ir_builder_visitor.dart#newcode224 pkg/compiler/lib/src/cps_ir/cps_ir_builder_visitor.dart:224: builder.beginField(closureScope: getClosureScope(fieldDefinition)); On 2015/01/08 18:29:37, floitsch wrote: > I ...
5 years, 11 months ago (2015-01-13 10:04:26 UTC) #7
asgerf
5 years, 11 months ago (2015-01-13 11:57:36 UTC) #8
Message was sent while issue was closed.
Committed patchset #7 (id:120001) manually as 42802 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698