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

Issue 11369168: Fix result type checking of factory constructors of generic classes in VM. (Closed)

Created:
8 years, 1 month ago by regis
Modified:
8 years, 1 month ago
Reviewers:
ngeoffray, hausner
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Fix result type checking of factory constructors of generic classes in VM. Add a language test. Fix some language tests. Fix runtime library. Note: This does not yet fix result checking of redirecting factories. Committed: https://code.google.com/p/dart/source/detail?r=14769

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+66 lines, -8 lines) Patch
M runtime/lib/string_base.dart View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/class_finalizer.cc View 1 chunk +28 lines, -1 line 0 comments Download
M runtime/vm/parser.cc View 1 chunk +5 lines, -0 lines 0 comments Download
A tests/language/factory1_test.dart View 1 chunk +26 lines, -0 lines 0 comments Download
M tests/language/factory_redirection_test.dart View 1 chunk +1 line, -1 line 0 comments Download
M tests/language/factory_type_parameter_test.dart View 2 chunks +5 lines, -5 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
regis
8 years, 1 month ago (2012-11-09 23:06:24 UTC) #1
hausner
lgtm
8 years, 1 month ago (2012-11-09 23:43:44 UTC) #2
ngeoffray
Regis, are you aware that this change caused a big regression on running dart2js in ...
8 years, 1 month ago (2012-11-10 22:15:45 UTC) #3
regis
On 2012/11/10 22:15:45, ngeoffray wrote: > Regis, are you aware that this change caused a ...
8 years, 1 month ago (2012-11-11 21:51:23 UTC) #4
ahe
8 years, 1 month ago (2012-11-12 06:43:37 UTC) #5
I have filed bug 6658 to track this.  This is a big problem for dart2js, as it
cripples checked mode for us.

See the build bot:
http://build.chromium.org/p/client.dart.fyi/builders/dart2js-linux-release-ho...

Cheers,
Peter

On 2012/11/11 21:51:23, regis wrote:
> On 2012/11/10 22:15:45, ngeoffray wrote:
> > Regis, are you aware that this change caused a big regression on running
> dart2js
> > in checked mode? For example, a dart2js unit test
> > (tests/compiler/dart2js/field_type_inferer_test) went from 13 seconds to 58
> > seconds (sometimes reaching 1 minute and therefore triggering a timeout on
the
> > buildbot).
> 
> Nicolas,
> I was not aware of the impact of this change on dart2js in checked mode. With
> all the language changes done to factories over the last months, a type check
> got crippled by mistake at some time. The issue arises with a factory declared
> in a generic class M<T>. The result returned by the factory must be checked to
> be of type M<T>. Prior to this cl, the result was only checked to be
M<dynamic>.
> 
> The bad news is that redirecting factories are still missing a type check, so
it
> will get slower before getting faster.
> 
> I am not sure if this is something Srdjan and his team can optimize. I'll
> discuss with him this week.
> 
> Thanks for the heads up.
> Regis

Powered by Google App Engine
This is Rietveld 408576698