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

Issue 2986553002: Remove dead code for closure-converting tearoffs. (Closed)

Created:
3 years, 5 months ago by sjindel
Modified:
3 years, 5 months ago
Reviewers:
Dmitry Stefantsov
CC:
reviews_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Remove dead code for closure-converting tearoffs. This review scraps the (currently disabled) code for converting tearoffs in the closure conversion pass. The closure conversion pass can only ever do a partial job with tearoffs, due to the possibility of an unconverted library tearing off a method from any object it likes. Partially converting [PropertyGet]s makes the closure conversion pass slower and introduces a new method for any field or method anywhere with a name used in any [PropertyGet], inflating code size and potentially regressing performance. As it provides no concrete value in return we've decided to scrap this aspect of the transformation. Anyway, creating closures for tearoffs is much easier for a backend than converting anonymous or nested functions, since there is only one object ("this") captured. Thus ignoring tear-offs does not undermine the value of the transformation. BUG= R=dmitryas@google.com Committed: https://github.com/dart-lang/sdk/commit/239e04487487759d8d859bdc104e983375bb4c7b

Patch Set 1 #

Total comments: 2

Patch Set 2 : Removing more code. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1 line, -212 lines) Patch
M pkg/kernel/lib/transformations/closure/converter.dart View 7 chunks +1 line, -169 lines 0 comments Download
M pkg/kernel/lib/transformations/closure/info.dart View 1 5 chunks +0 lines, -43 lines 0 comments Download

Messages

Total messages: 8 (3 generated)
sjindel
3 years, 5 months ago (2017-07-20 12:58:30 UTC) #3
Dmitry Stefantsov
https://codereview.chromium.org/2986553002/diff/1/pkg/kernel/lib/transformations/closure/info.dart File pkg/kernel/lib/transformations/closure/info.dart (left): https://codereview.chromium.org/2986553002/diff/1/pkg/kernel/lib/transformations/closure/info.dart#oldcode82 pkg/kernel/lib/transformations/closure/info.dart:82: You probably may want to remove [invokedGetters] and [declaredInstanceMethodNames] ...
3 years, 5 months ago (2017-07-20 13:37:06 UTC) #4
sjindel
https://codereview.chromium.org/2986553002/diff/1/pkg/kernel/lib/transformations/closure/info.dart File pkg/kernel/lib/transformations/closure/info.dart (left): https://codereview.chromium.org/2986553002/diff/1/pkg/kernel/lib/transformations/closure/info.dart#oldcode82 pkg/kernel/lib/transformations/closure/info.dart:82: On 2017/07/20 13:37:06, Dmitry Stefantsov wrote: > You probably ...
3 years, 5 months ago (2017-07-20 13:45:47 UTC) #5
Dmitry Stefantsov
LGTM
3 years, 5 months ago (2017-07-20 13:51:07 UTC) #6
sjindel
3 years, 5 months ago (2017-07-20 14:47:16 UTC) #8
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
239e04487487759d8d859bdc104e983375bb4c7b (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698