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

Issue 2423953002: Change TypeInference to handle super calls as direct invocations. (Closed)

Created:
4 years, 2 months ago by Johnni Winther
Modified:
4 years, 2 months ago
CC:
reviews_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Change TypeInference to handle super calls as direct invocations. This also makes calls of known target registered as static uses and thus removes the need for misusing type masks to select super methods. Closes #25716 R=sigmund@google.com Committed: https://github.com/dart-lang/sdk/commit/70159b741886b0bb10c3c6f77d7a0d0109131320 Reverted: https://github.com/dart-lang/sdk/commit/5397c5427e9102a8ea7602174be2664d4c15bb8b Committed: https://github.com/dart-lang/sdk/commit/37afcd5197bb408a4fbfc76bb8fb521ddbb1ca25

Patch Set 1 #

Patch Set 2 : Fix comment. #

Total comments: 8

Patch Set 3 : Updated cf. comments. #

Patch Set 4 : Rebase #

Patch Set 5 : Register instance methods from direct invocation. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+450 lines, -56 lines) Patch
M pkg/compiler/lib/src/enqueue.dart View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/inferrer/inferrer_visitor.dart View 2 chunks +1 line, -8 lines 0 comments Download
M pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart View 1 2 11 chunks +354 lines, -27 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/enqueuer.dart View 1 2 3 4 4 chunks +13 lines, -5 lines 0 comments Download
M pkg/compiler/lib/src/ssa/codegen.dart View 1 2 2 chunks +35 lines, -8 lines 0 comments Download
M pkg/compiler/lib/src/ssa/optimize.dart View 1 chunk +3 lines, -3 lines 0 comments Download
M pkg/compiler/lib/src/universe/function_set.dart View 1 1 chunk +4 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/universe/use.dart View 1 2 3 4 2 chunks +30 lines, -0 lines 2 comments Download
M pkg/compiler/lib/src/universe/world_builder.dart View 1 2 3 4 3 chunks +6 lines, -1 line 0 comments Download
M tests/language/language_dart2js.status View 1 chunk +0 lines, -2 lines 0 comments Download

Messages

Total messages: 12 (4 generated)
Johnni Winther
4 years, 2 months ago (2016-10-17 10:59:04 UTC) #2
Siggi Cherem (dart-lang)
lgtm, minor suggestions & questions below https://codereview.chromium.org/2423953002/diff/20001/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart File pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart (right): https://codereview.chromium.org/2423953002/diff/20001/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart#newcode911 pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart:911: Selector operatorSelector = ...
4 years, 2 months ago (2016-10-17 19:55:36 UTC) #3
Johnni Winther
https://codereview.chromium.org/2423953002/diff/20001/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart File pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart (right): https://codereview.chromium.org/2423953002/diff/20001/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart#newcode1276 pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart:1276: Selector operatorSelector = On 2016/10/17 19:55:36, Siggi Cherem (dart-lang) ...
4 years, 2 months ago (2016-10-18 07:46:27 UTC) #4
Johnni Winther
Committed patchset #3 (id:40001) manually as 70159b741886b0bb10c3c6f77d7a0d0109131320 (presubmit successful).
4 years, 2 months ago (2016-10-18 07:46:38 UTC) #6
Johnni Winther
PTAL at the last patch
4 years, 2 months ago (2016-10-18 12:02:34 UTC) #8
Johnni Winther
Committed patchset #5 (id:80001) manually as 37afcd5197bb408a4fbfc76bb8fb521ddbb1ca25 (presubmit successful).
4 years, 2 months ago (2016-10-18 12:03:12 UTC) #10
Siggi Cherem (dart-lang)
lgtm https://codereview.chromium.org/2423953002/diff/80001/pkg/compiler/lib/src/universe/use.dart File pkg/compiler/lib/src/universe/use.dart (right): https://codereview.chromium.org/2423953002/diff/80001/pkg/compiler/lib/src/universe/use.dart#newcode228 pkg/compiler/lib/src/universe/use.dart:228: return new StaticUse.internal(element, StaticUseKind.GENERAL); shouldn't this and the ...
4 years, 2 months ago (2016-10-18 14:45:22 UTC) #11
Johnni Winther
4 years, 2 months ago (2016-10-19 07:45:43 UTC) #12
Message was sent while issue was closed.
https://codereview.chromium.org/2423953002/diff/80001/pkg/compiler/lib/src/un...
File pkg/compiler/lib/src/universe/use.dart (right):

https://codereview.chromium.org/2423953002/diff/80001/pkg/compiler/lib/src/un...
pkg/compiler/lib/src/universe/use.dart:228: return new
StaticUse.internal(element, StaticUseKind.GENERAL);
On 2016/10/18 14:45:22, Siggi Cherem (dart-lang) wrote:
> shouldn't this and the one below be a DIRECT_INVOKE too?

No. This is only used for getters and fields which cannot (also) be closurized.

Powered by Google App Engine
This is Rietveld 408576698