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

Issue 996263002: Don't generate forwarding hooks if all noSuchMethod implementations (Closed)

Created:
5 years, 9 months ago by Harry Terkelsen
Modified:
5 years, 9 months ago
CC:
reviews_dartlang.org, floitsch
Target Ref:
refs/remotes/git-svn
Visibility:
Public.

Description

Don't generate forwarding hooks if all noSuchMethod implementations forward to Object.noSuchMethod BUG= R=johnniwinther@google.com Committed: https://code.google.com/p/dart/source/detail?r=44575

Patch Set 1 #

Patch Set 2 : More tests #

Total comments: 18

Patch Set 3 : Moved enabledNoSuchMethod to the backend #

Patch Set 4 : Return enum result for _categorizeImpl #

Total comments: 8

Patch Set 5 : Make forwarding impls have same category as super #

Patch Set 6 : fix typo #

Unified diffs Side-by-side diffs Delta from patch set Stats (+369 lines, -27 lines) Patch
M pkg/compiler/lib/src/compiler.dart View 1 2 3 chunks +8 lines, -11 lines 0 comments Download
M pkg/compiler/lib/src/dump_info.dart View 1 2 1 chunk +1 line, -1 line 0 comments Download
M pkg/compiler/lib/src/enqueue.dart View 1 2 5 chunks +16 lines, -10 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/backend.dart View 1 2 3 4 5 chunks +19 lines, -3 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/js_backend.dart View 1 2 1 chunk +1 line, -0 lines 0 comments Download
A pkg/compiler/lib/src/js_backend/no_such_method_registry.dart View 1 2 3 4 5 1 chunk +163 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_emitter/old_emitter/class_emitter.dart View 1 2 1 chunk +1 line, -1 line 0 comments Download
M pkg/compiler/lib/src/js_emitter/program_builder.dart View 1 2 1 chunk +1 line, -1 line 0 comments Download
A tests/compiler/dart2js/no_such_method_enabled_test.dart View 1 2 3 4 1 chunk +159 lines, -0 lines 0 comments Download

Messages

Total messages: 12 (3 generated)
Harry Terkelsen
5 years, 9 months ago (2015-03-11 16:21:34 UTC) #2
floitsch
DBC (haven't actually looked at thi analysis). https://codereview.chromium.org/996263002/diff/20001/pkg/compiler/lib/src/compiler.dart File pkg/compiler/lib/src/compiler.dart (right): https://codereview.chromium.org/996263002/diff/20001/pkg/compiler/lib/src/compiler.dart#newcode371 pkg/compiler/lib/src/compiler.dart:371: compiler.enabledNoSuchMethod = ...
5 years, 9 months ago (2015-03-13 15:51:49 UTC) #5
Johnni Winther
lgtm https://codereview.chromium.org/996263002/diff/20001/pkg/compiler/lib/src/compiler.dart File pkg/compiler/lib/src/compiler.dart (right): https://codereview.chromium.org/996263002/diff/20001/pkg/compiler/lib/src/compiler.dart#newcode367 pkg/compiler/lib/src/compiler.dart:367: void registerNoSuchMethod(Element noSuchMethodElement, Enqueuer enqueuer) { Leave the ...
5 years, 9 months ago (2015-03-16 14:20:43 UTC) #6
Harry Terkelsen
Thanks Florian and Johnni, PTAL https://codereview.chromium.org/996263002/diff/20001/pkg/compiler/lib/src/compiler.dart File pkg/compiler/lib/src/compiler.dart (right): https://codereview.chromium.org/996263002/diff/20001/pkg/compiler/lib/src/compiler.dart#newcode367 pkg/compiler/lib/src/compiler.dart:367: void registerNoSuchMethod(Element noSuchMethodElement, Enqueuer ...
5 years, 9 months ago (2015-03-17 21:43:11 UTC) #7
Harry Terkelsen
https://codereview.chromium.org/996263002/diff/20001/pkg/compiler/lib/src/js_backend/no_such_method_analysis.dart File pkg/compiler/lib/src/js_backend/no_such_method_analysis.dart (right): https://codereview.chromium.org/996263002/diff/20001/pkg/compiler/lib/src/js_backend/no_such_method_analysis.dart#newcode95 pkg/compiler/lib/src/js_backend/no_such_method_analysis.dart:95: _categorizeImpl(superCall); On 2015/03/16 14:20:43, Johnni Winther wrote: > Maybe ...
5 years, 9 months ago (2015-03-17 21:55:17 UTC) #8
Johnni Winther
Still LGTM https://codereview.chromium.org/996263002/diff/60001/pkg/compiler/lib/src/js_backend/backend.dart File pkg/compiler/lib/src/js_backend/backend.dart (right): https://codereview.chromium.org/996263002/diff/60001/pkg/compiler/lib/src/js_backend/backend.dart#newcode2404 pkg/compiler/lib/src/js_backend/backend.dart:2404: (noSuchMethodRegistry.throwingImpls.isNotEmpty || Add getters for these, like ...
5 years, 9 months ago (2015-03-18 10:47:16 UTC) #9
Harry Terkelsen
I changed this so that if you have the code class A extends B { ...
5 years, 9 months ago (2015-03-18 20:54:50 UTC) #10
Johnni Winther
LGTM
5 years, 9 months ago (2015-03-19 10:21:26 UTC) #11
Harry Terkelsen
5 years, 9 months ago (2015-03-19 16:02:17 UTC) #12
Message was sent while issue was closed.
Committed patchset #6 (id:100001) manually as 44575 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698