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

Issue 50313007: Implement dynamic function checks. (Closed)

Created:
7 years, 1 month ago by ahe
Modified:
7 years ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Patch Set 1 #

Total comments: 16

Patch Set 2 : #

Patch Set 3 : Moved printString to different CL. #

Patch Set 4 : Merged with r30057 #

Patch Set 5 : Merged with r30783 #

Patch Set 6 : Merged with r30787 #

Total comments: 22

Patch Set 7 : Merged with CL 99303004. #

Patch Set 8 : Removed more unused API. #

Patch Set 9 : Minor tweaks for unit tests. #

Patch Set 10 : Address comments #

Patch Set 11 : Merged with r30897. #

Total comments: 14
Unified diffs Side-by-side diffs Delta from patch set Stats (+873 lines, -244 lines) Patch
M dart/pkg/pkg.status View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/ir/ir_builder.dart View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/js_backend/backend.dart View 1 2 3 4 5 6 7 8 9 5 chunks +3 lines, -40 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/js_backend/namer.dart View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart View 1 2 3 4 5 6 7 8 9 2 chunks +43 lines, -0 lines 2 comments Download
M dart/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart View 1 2 3 4 5 6 3 chunks +12 lines, -2 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/js_emitter/container_builder.dart View 1 2 3 4 2 chunks +2 lines, -13 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/js_emitter/js_emitter.dart View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -0 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/js_emitter/type_test_emitter.dart View 1 2 3 4 5 6 7 8 9 10 5 chunks +8 lines, -38 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/ssa/builder.dart View 1 2 3 4 5 6 7 8 9 5 chunks +116 lines, -74 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart View 1 2 3 4 5 6 7 8 9 2 chunks +109 lines, -2 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/ssa/nodes.dart View 1 2 3 4 5 6 7 8 9 6 chunks +124 lines, -3 lines 0 comments Download
M dart/sdk/lib/_internal/compiler/implementation/ssa/tracer.dart View 1 2 3 4 5 6 7 8 9 1 chunk +20 lines, -0 lines 0 comments Download
M dart/sdk/lib/_internal/lib/js_helper.dart View 1 2 3 4 5 6 7 8 9 2 chunks +374 lines, -0 lines 8 comments Download
M dart/sdk/lib/_internal/lib/js_names.dart View 1 2 3 4 2 chunks +7 lines, -2 lines 0 comments Download
M dart/sdk/lib/_internal/lib/js_rti.dart View 1 2 3 4 3 chunks +3 lines, -69 lines 0 comments Download
M dart/tests/co19/co19-dart2js.status View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M dart/tests/compiler/dart2js/dart2js.status View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download
M dart/tests/language/language_dart2js.status View 1 2 3 4 5 2 chunks +4 lines, -0 lines 4 comments Download
A dart/tests/language/type_variable_function_type_test.dart View 1 2 3 4 5 1 chunk +25 lines, -0 lines 0 comments Download
M dart/tests/lib/lib.status View 1 2 3 4 5 6 7 8 9 10 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 14 (0 generated)
ahe
Needs a lot of cleaning up, but I think I'm pretty much there. Only two ...
7 years, 1 month ago (2013-10-29 22:42:49 UTC) #1
Johnni Winther
https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart File dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart (right): https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart#newcode617 dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart:617: superclass = superclass.superclass; The superclass chain is not properly ...
7 years, 1 month ago (2013-10-30 11:40:23 UTC) #2
Johnni Winther
LPTM (Look Promising To Me)! https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart File dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart (right): https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart#newcode617 dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart:617: superclass = superclass.superclass; On ...
7 years, 1 month ago (2013-10-30 12:02:18 UTC) #3
ahe
Thank you, Johnni! https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart File dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart (right): https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart#newcode617 dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart:617: superclass = superclass.superclass; On 2013/10/30 11:40:23, ...
7 years, 1 month ago (2013-10-30 12:04:05 UTC) #4
ngeoffray
DBC https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart File dart/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (right): https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart#newcode2600 dart/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart:2600: class TypeBuilder implements DartTypeVisitor<dynamic, SsaCodeGenerator> { Doing this ...
7 years, 1 month ago (2013-11-01 13:54:02 UTC) #5
ahe
Nicolas, https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart File dart/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (right): https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart#newcode2600 dart/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart:2600: class TypeBuilder implements DartTypeVisitor<dynamic, SsaCodeGenerator> { On 2013/11/01 ...
7 years, 1 month ago (2013-11-04 17:23:45 UTC) #6
ahe
PTAL https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/ssa/builder.dart File dart/sdk/lib/_internal/compiler/implementation/ssa/builder.dart (right): https://codereview.chromium.org/50313007/diff/1/dart/sdk/lib/_internal/compiler/implementation/ssa/builder.dart#newcode2936 dart/sdk/lib/_internal/compiler/implementation/ssa/builder.dart:2936: List<HInstruction> typeVariables = <HInstruction>[]; On 2013/10/30 12:02:19, Johnni ...
7 years ago (2013-11-29 13:10:17 UTC) #7
ahe
+kasperl, this is a prerequisite for CL 27524003.
7 years ago (2013-11-29 19:28:53 UTC) #8
Johnni Winther
lgtm https://codereview.chromium.org/50313007/diff/240001/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart File dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart (right): https://codereview.chromium.org/50313007/diff/240001/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart#newcode574 dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart:574: for (TypeVariableType parameter in type.typeArguments) { Replace `type.typeArguments` ...
7 years ago (2013-12-03 10:33:15 UTC) #9
ahe
Thank you, all! https://codereview.chromium.org/50313007/diff/240001/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart File dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart (right): https://codereview.chromium.org/50313007/diff/240001/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart#newcode574 dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart:574: for (TypeVariableType parameter in type.typeArguments) { ...
7 years ago (2013-12-05 14:24:23 UTC) #10
ahe
Committed patchset #11 manually as r30932 (presubmit successful).
7 years ago (2013-12-06 06:47:30 UTC) #11
ngeoffray
Post-commit comments. https://codereview.chromium.org/50313007/diff/340001/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart File dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart (right): https://codereview.chromium.org/50313007/diff/340001/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart#newcode571 dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart:571: ClassElement superclass = cls; superclass -> currentClass ...
7 years ago (2013-12-09 09:48:52 UTC) #12
ahe
Thank you, Nicolas. Addressing your comments in https://codereview.chromium.org/104723004. https://codereview.chromium.org/50313007/diff/340001/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart File dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart (right): https://codereview.chromium.org/50313007/diff/340001/dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart#newcode571 dart/sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart:571: ClassElement ...
7 years ago (2013-12-09 15:30:06 UTC) #13
ngeoffray
7 years ago (2013-12-09 15:32:49 UTC) #14
Message was sent while issue was closed.
https://codereview.chromium.org/50313007/diff/340001/dart/sdk/lib/_internal/l...
File dart/sdk/lib/_internal/lib/js_helper.dart (right):

https://codereview.chromium.org/50313007/diff/340001/dart/sdk/lib/_internal/l...
dart/sdk/lib/_internal/lib/js_helper.dart:2145: var result =
JS('JSExtendableArray', '[]');
On 2013/12/09 15:30:06, ahe wrote:
> On 2013/12/09 09:48:52, ngeoffray wrote:
> > Why the JS here?
> 
> Avoids adding type parameters, for one thing. The generated code was better.

This is surprising, we've made sure in the backend this would get optimized. Can
you check again the difference?

https://codereview.chromium.org/50313007/diff/340001/dart/sdk/lib/_internal/l...
dart/sdk/lib/_internal/lib/js_helper.dart:2147: JS('', '#.push(#)', result,
list[i].toRti());
On 2013/12/09 15:30:06, ahe wrote:
> On 2013/12/09 09:48:52, ngeoffray wrote:
> > Why the JS here?
> 
> The generated code improved.

Ditto.

Powered by Google App Engine
This is Rietveld 408576698