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

Issue 895083002: Support tearoffs in the new emitter. (Closed)

Created:
5 years, 10 months ago by herhut
Modified:
5 years, 10 months ago
Reviewers:
floitsch, zarah, sra1
CC:
reviews_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Support tearoffs in the new emitter. BUG= R=floitsch@google.com Committed: https://code.google.com/p/dart/source/detail?r=43429

Patch Set 1 : #

Total comments: 14

Patch Set 2 : Comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+285 lines, -110 lines) Patch
M pkg/compiler/lib/src/js_emitter/class_stub_generator.dart View 1 chunk +98 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart View 1 11 chunks +174 lines, -19 lines 0 comments Download
M pkg/compiler/lib/src/js_emitter/old_emitter/reflection_data_parser.dart View 1 chunk +0 lines, -85 lines 0 comments Download
M sdk/lib/_internal/compiler/js_lib/js_helper.dart View 1 3 chunks +13 lines, -6 lines 0 comments Download

Messages

Total messages: 14 (6 generated)
herhut
This includes https://codereview.chromium.org/889703004 http://crrev.com/873883006 plus added function types formatting minor fixes and should complete the ...
5 years, 10 months ago (2015-02-03 14:57:08 UTC) #4
herhut
Resending, this time with reviewers... On 2015/02/03 14:57:08, herhut wrote: > This includes > > ...
5 years, 10 months ago (2015-02-03 14:57:52 UTC) #6
floitsch
LGTM. https://codereview.chromium.org/895083002/diff/60001/pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart File pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart (right): https://codereview.chromium.org/895083002/diff/60001/pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart#newcode447 pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart:447: var stub = descriptor[pos+2]; nit: "pos + 2" ...
5 years, 10 months ago (2015-02-03 19:40:02 UTC) #7
herhut
https://codereview.chromium.org/895083002/diff/60001/pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart File pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart (right): https://codereview.chromium.org/895083002/diff/60001/pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart#newcode447 pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart:447: var stub = descriptor[pos+2]; On 2015/02/03 19:40:02, floitsch wrote: ...
5 years, 10 months ago (2015-02-03 21:18:59 UTC) #9
herhut
Committed patchset #2 (id:80001) manually as 43429 (presubmit successful).
5 years, 10 months ago (2015-02-03 21:32:42 UTC) #10
floitsch
https://codereview.chromium.org/895083002/diff/60001/pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart File pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart (right): https://codereview.chromium.org/895083002/diff/60001/pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart#newcode529 pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart:529: // TODO(floitsch): can there be anything else than a ...
5 years, 10 months ago (2015-02-03 21:44:17 UTC) #11
sra1
The generated code has this wierdness: closureFromTearOff: function(receiver, functions, reflectionInfo, isStatic, jsArguments, $name) { var ...
5 years, 10 months ago (2015-02-04 19:00:07 UTC) #13
floitsch
5 years, 10 months ago (2015-02-05 16:35:13 UTC) #14
Message was sent while issue was closed.
On 2015/02/04 19:00:07, sra1 wrote:
> The generated code has this wierdness:
> 
> closureFromTearOff: function(receiver, functions, reflectionInfo, isStatic,
> jsArguments, $name) {
>     var t1;
>     functions.fixed$length = Array;
>     if (!!J.getInterceptor(reflectionInfo).$isList) {
>       reflectionInfo.fixed$length = Array;
>       t1 = reflectionInfo;
>     } else
>       t1 = reflectionInfo;
>     return H.Closure_fromTearOff(receiver, functions, t1, !!isStatic,
> jsArguments, $name);
>   },
> 
> Is it possible to avoid the getInterceptor call here, since the then-branch
> assumes an JS Array.

Would you do it using JS magic, or with a different "is" check, or a whole
different approach?

Powered by Google App Engine
This is Rietveld 408576698