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

Issue 2984263002: Make the ClosedWorld build the closure class on the kernel side. (Closed)

Created:
3 years, 4 months ago by Emily Fortuna
Modified:
3 years, 4 months ago
Reviewers:
Johnni Winther, sra1
CC:
reviews_dartlang.org, Siggi Cherem (dart-lang)
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Make the ClosedWorld build the closure class on the kernel side. This was discussed with Johnni to avoid having to add the class index after construction of the KernelClosureClass. BUG= R=johnniwinther@google.com, sra@google.com Committed: https://github.com/dart-lang/sdk/commit/a5ea160a44b70a4aefd52178ec4bba6977323460

Patch Set 1 : . #

Total comments: 5

Patch Set 2 : . #

Total comments: 3

Patch Set 3 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+135 lines, -95 lines) Patch
M pkg/compiler/lib/src/js_model/closure.dart View 1 7 chunks +22 lines, -48 lines 0 comments Download
M pkg/compiler/lib/src/js_model/elements.dart View 1 chunk +2 lines, -10 lines 0 comments Download
M pkg/compiler/lib/src/js_model/js_strategy.dart View 3 chunks +23 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/kernel/element_map.dart View 1 chunk +3 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/kernel/element_map_impl.dart View 1 2 chunks +81 lines, -32 lines 0 comments Download
M pkg/compiler/lib/src/ssa/builder_kernel.dart View 1 1 chunk +3 lines, -0 lines 0 comments Download
M tests/compiler/dart2js_extra/dart2js_extra.status View 1 2 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 13 (5 generated)
Emily Fortuna
https://codereview.chromium.org/2984263002/diff/50001/pkg/compiler/lib/src/kernel/element_map_impl.dart File pkg/compiler/lib/src/kernel/element_map_impl.dart (right): https://codereview.chromium.org/2984263002/diff/50001/pkg/compiler/lib/src/kernel/element_map_impl.dart#newcode2027 pkg/compiler/lib/src/kernel/element_map_impl.dart:2027: // PROBLEM: the type of ir.Node that we want ...
3 years, 4 months ago (2017-07-27 16:40:02 UTC) #5
sra1
https://codereview.chromium.org/2984263002/diff/50001/pkg/compiler/lib/src/kernel/element_map_impl.dart File pkg/compiler/lib/src/kernel/element_map_impl.dart (right): https://codereview.chromium.org/2984263002/diff/50001/pkg/compiler/lib/src/kernel/element_map_impl.dart#newcode2000 pkg/compiler/lib/src/kernel/element_map_impl.dart:2000: int i = 0; should this be outside the ...
3 years, 4 months ago (2017-07-27 19:41:16 UTC) #6
Johnni Winther
lgtm https://codereview.chromium.org/2984263002/diff/50001/pkg/compiler/lib/src/kernel/element_map_impl.dart File pkg/compiler/lib/src/kernel/element_map_impl.dart (right): https://codereview.chromium.org/2984263002/diff/50001/pkg/compiler/lib/src/kernel/element_map_impl.dart#newcode2027 pkg/compiler/lib/src/kernel/element_map_impl.dart:2027: // PROBLEM: the type of ir.Node that we ...
3 years, 4 months ago (2017-07-28 15:18:40 UTC) #7
Emily Fortuna
ptal, sra@? https://codereview.chromium.org/2984263002/diff/50001/pkg/compiler/lib/src/kernel/element_map_impl.dart File pkg/compiler/lib/src/kernel/element_map_impl.dart (right): https://codereview.chromium.org/2984263002/diff/50001/pkg/compiler/lib/src/kernel/element_map_impl.dart#newcode2000 pkg/compiler/lib/src/kernel/element_map_impl.dart:2000: int i = 0; On 2017/07/27 19:41:16, ...
3 years, 4 months ago (2017-07-28 20:10:04 UTC) #8
sra1
lgtm https://codereview.chromium.org/2984263002/diff/70001/pkg/compiler/lib/src/common/codegen.dart File pkg/compiler/lib/src/common/codegen.dart (right): https://codereview.chromium.org/2984263002/diff/70001/pkg/compiler/lib/src/common/codegen.dart#newcode150 pkg/compiler/lib/src/common/codegen.dart:150: void registerInstantiatedClosure(Local element) { assert this is a ...
3 years, 4 months ago (2017-07-28 20:38:51 UTC) #9
Emily Fortuna
https://codereview.chromium.org/2984263002/diff/70001/pkg/compiler/lib/src/common/codegen.dart File pkg/compiler/lib/src/common/codegen.dart (right): https://codereview.chromium.org/2984263002/diff/70001/pkg/compiler/lib/src/common/codegen.dart#newcode150 pkg/compiler/lib/src/common/codegen.dart:150: void registerInstantiatedClosure(Local element) { On 2017/07/28 20:38:51, sra1 wrote: ...
3 years, 4 months ago (2017-07-28 21:37:06 UTC) #10
Emily Fortuna
Committed patchset #3 (id:90001) manually as a5ea160a44b70a4aefd52178ec4bba6977323460 (presubmit successful).
3 years, 4 months ago (2017-07-30 20:00:56 UTC) #12
Johnni Winther
3 years, 4 months ago (2017-07-31 10:54:29 UTC) #13
Message was sent while issue was closed.
https://codereview.chromium.org/2984263002/diff/70001/pkg/compiler/lib/src/co...
File pkg/compiler/lib/src/common/codegen.dart (right):

https://codereview.chromium.org/2984263002/diff/70001/pkg/compiler/lib/src/co...
pkg/compiler/lib/src/common/codegen.dart:150: void
registerInstantiatedClosure(Local element) {
On 2017/07/28 21:37:06, Emily Fortuna wrote:
> On 2017/07/28 20:38:51, sra1 wrote:
> > assert this is a function that can be used to find the synthetic closure
class
> 
> You're right, this isn't an easy fix. I put it back to LocalFunctionElement
and
> updated the status file.
> 
> Johnni, can you please take a look at this? Basically we have a JLocal, but a
> little further on we expect it to be a KLocalFunction (and it would be nice to
> be sure that the thing passed in is a form of LocalFunction rather than just a
> Local). I'm not sure if this is due to not having propagated K->J throughout
the
> backend or if I should be storing a different local type for the "original"
> closure.

It is okay to use [Local] here. Long term we should just register the
call-method instead (we use it to compute if the signature is needed for RTI).

Powered by Google App Engine
This is Rietveld 408576698