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

Issue 10855020: Infer guaranteed types for static calls that are only called once. (Closed)

Created:
8 years, 4 months ago by ahe
Modified:
8 years, 4 months ago
CC:
reviews_dartlang.org, floitsch, karlklose, ngeoffray, polux, sra1
Visibility:
Public.

Description

Infer guaranteed types for static calls that are only called once. Committed: https://code.google.com/p/dart/source/detail?r=10341 Committed: https://code.google.com/p/dart/source/detail?r=10376

Patch Set 1 #

Patch Set 2 : Ready for review #

Total comments: 4

Patch Set 3 : Reviving CL after reverting #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+161 lines, -24 lines) Patch
M dart/lib/compiler/implementation/ssa/builder.dart View 1 2 1 chunk +1 line, -2 lines 6 comments Download
M dart/lib/compiler/implementation/types/types.dart View 1 2 5 chunks +49 lines, -20 lines 0 comments Download
M dart/tests/compiler/dart2js/compiler_helper.dart View 1 2 1 chunk +7 lines, -2 lines 0 comments Download
A dart/tests/compiler/dart2js/concrete_type_inference_test.dart View 1 2 1 chunk +104 lines, -0 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
ahe
8 years, 4 months ago (2012-08-07 12:18:29 UTC) #1
floitsch
LGTM. https://chromiumcodereview.appspot.com/10855020/diff/2001/dart/lib/compiler/implementation/types/types.dart File dart/lib/compiler/implementation/types/types.dart (right): https://chromiumcodereview.appspot.com/10855020/diff/2001/dart/lib/compiler/implementation/types/types.dart#newcode62 dart/lib/compiler/implementation/types/types.dart:62: return type; return null;, and remove type variable.
8 years, 4 months ago (2012-08-07 13:12:28 UTC) #2
kasperl
LGTM. https://chromiumcodereview.appspot.com/10855020/diff/2001/dart/tests/compiler/dart2js/concrete_type_inference_test.dart File dart/tests/compiler/dart2js/concrete_type_inference_test.dart (right): https://chromiumcodereview.appspot.com/10855020/diff/2001/dart/tests/compiler/dart2js/concrete_type_inference_test.dart#newcode82 dart/tests/compiler/dart2js/concrete_type_inference_test.dart:82: @'fisk(a, [b, c]) {} main() { fisk(1); }', ...
8 years, 4 months ago (2012-08-07 13:39:24 UTC) #3
ahe
Hi Kasper and Florian, Thank you for taking a look. I forgot to publish my ...
8 years, 4 months ago (2012-08-08 08:07:48 UTC) #4
ahe
PTAL at "Patch Set 3 : Reviving CL after reverting". I'm resubmitting this CL without ...
8 years, 4 months ago (2012-08-08 12:31:45 UTC) #5
kasperl
LGTM. https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/implementation/ssa/builder.dart File dart/lib/compiler/implementation/ssa/builder.dart (right): https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/implementation/ssa/builder.dart#newcode3299 dart/lib/compiler/implementation/ssa/builder.dart:3299: if (element === builder.compiler.boolClass) return HType.BOOLEAN; I'm a ...
8 years, 4 months ago (2012-08-08 12:36:46 UTC) #6
ahe
https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/implementation/ssa/builder.dart File dart/lib/compiler/implementation/ssa/builder.dart (right): https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/implementation/ssa/builder.dart#newcode3299 dart/lib/compiler/implementation/ssa/builder.dart:3299: if (element === builder.compiler.boolClass) return HType.BOOLEAN; On 2012/08/08 12:36:47, ...
8 years, 4 months ago (2012-08-08 12:40:04 UTC) #7
ngeoffray
Very nice https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/implementation/ssa/builder.dart File dart/lib/compiler/implementation/ssa/builder.dart (right): https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/implementation/ssa/builder.dart#newcode3302 dart/lib/compiler/implementation/ssa/builder.dart:3302: if (element === builder.compiler.listClass) return HType.READABLE_ARRAY; Why?
8 years, 4 months ago (2012-08-16 12:55:40 UTC) #8
ahe
https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/implementation/ssa/builder.dart File dart/lib/compiler/implementation/ssa/builder.dart (right): https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/implementation/ssa/builder.dart#newcode3302 dart/lib/compiler/implementation/ssa/builder.dart:3302: if (element === builder.compiler.listClass) return HType.READABLE_ARRAY; On 2012/08/16 12:55:40, ...
8 years, 4 months ago (2012-08-16 17:15:19 UTC) #9
ngeoffray
https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/implementation/ssa/builder.dart File dart/lib/compiler/implementation/ssa/builder.dart (right): https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/implementation/ssa/builder.dart#newcode3302 dart/lib/compiler/implementation/ssa/builder.dart:3302: if (element === builder.compiler.listClass) return HType.READABLE_ARRAY; On 2012/08/16 17:15:19, ...
8 years, 4 months ago (2012-08-17 07:59:28 UTC) #10
ahe
8 years, 4 months ago (2012-08-21 15:05:38 UTC) #11
https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/...
File dart/lib/compiler/implementation/ssa/builder.dart (right):

https://chromiumcodereview.appspot.com/10855020/diff/10001/dart/lib/compiler/...
dart/lib/compiler/implementation/ssa/builder.dart:3302: if (element ===
builder.compiler.listClass) return HType.READABLE_ARRAY;
On 2012/08/17 07:59:28, ngeoffray wrote:
> On 2012/08/16 17:15:19, ahe wrote:
> > On 2012/08/16 12:55:40, ngeoffray wrote:
> > > Why?
> > 
> > What else would you use?
> 
> HBoundedPotentialPrimitiveArray. A user-defined class that extends List will
not
> be a readable array. Maybe the assumption here is that it will always be a JS
> array (because that's what READABLE_ARRAY is), but this deserves a comment.

It will always be a JS array. That is what concrete-type inference is about.

I assume we will get a better infrastructure for this, so we don't use elements
to represent concrete types.

Powered by Google App Engine
This is Rietveld 408576698