This shaves off 40-50 ms from each compialtion, e.g. makes 1 library
compilation IKG performance test about 15% faster.
R=sigmund@google.com
Bug:
Change-Id: Iec6432dc6380bcf5255a40f9b468f9927fe182ce
Reviewed-on: https://dart-review.googlesource.com/20220
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
The return type of visitGenericTypeAliasInFunctionScope() method had a
mismatch between the ScopedVisitor and ResolverVisitor.
Change-Id: I591845c24de4c33c054f289805ccd2391ba41933
Reviewed-on: https://dart-review.googlesource.com/19802
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
* update parseStatement to use new API
* remove unused _run and _runParser methods
* rename _run2 --> _run
Change-Id: I288f8d4d03acce817f2e11671dc22642f60e57dd
Reviewed-on: https://dart-review.googlesource.com/19900
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Several of the conditions treated as warnings in Dart 1.0 are
compile-time errors in Dart 2.0.
Change-Id: I2d2165c622ab34e1cebd2073f35ead364087c5fd
Reviewed-on: https://dart-review.googlesource.com/19841
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Random.Random contains the following code:
return new _Random._withState(state)
.._nextState()
.._nextState()
.._nextState()
.._nextState();
This code gets compiled into a let cascade by Fasta
return let final dynamic #t300 = new math::_Random::_withState(state) in
let final dynamic #t301 = #t300._nextState() in
let final dynamic #t302 = #t300._nextState() in
let final dynamic #t303 = #t300._nextState() in
let final dynamic #t304 = #t300._nextState() in #t300;
This means that _nextState should not return GC unsafe garbage because
its return value will be pushed onto the stack by unoptimizing compiler.
Fixes https://github.com/dart-lang/sdk/issues/31309R=kustermann@google.com
Bug:
Change-Id: Ib44abfc66ec82c350a3899b054e4b095bbc78ea4
Reviewed-on: https://dart-review.googlesource.com/19569
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Erik Corry <erikcorry@google.com>
In the specification grammar docs/language/Dart.g, named parameters in
a new style `Function` type must now have a type. They used to support
a plain `identifier` form, which means that the type was omitted and
only the name given, but the informal spec did not allow this (and this
was a decision taken because we wanted to take a step towards the kind
of function types where it is always the name which is omitted if
anything is omitted, and this means that nothing can be omitted for a
named parameter).
Change-Id: Ib2538f5bafd1e044f0b4f22ea0a6b9a339f81501
Reviewed-on: https://dart-review.googlesource.com/19567
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
For more information see dartbug.com/31331
Bug:
Change-Id: Ic0dee3fa04403dc7305eaf01ae3c932b334269e8
Reviewed-on: https://dart-review.googlesource.com/19600
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
* add parsePrimaryExpression and update tests to use it
* rework formatParameterList tests to use new API
* update expression tests to use new parser adapter API
* rework parseConstructorInitializer to use new proxy API
* move parseTypeParameter and parseTypeParameterList
Change-Id: I58b45999ae9e194d0b7728b7e82cb2b55f2281c3
Reviewed-on: https://dart-review.googlesource.com/19820
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
We can separately pass this flag from individual benchmarks on the bots.
Change-Id: I541821976ad0538ee615718f0511e3154b983f2c
Reviewed-on: https://dart-review.googlesource.com/19764
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Because by default we had the NullByteStore, we were practically recompiling the
entire app all the time.
Change-Id: I79ded9ab32d2518a35e392c95d7673b3abbb16ed
Reviewed-on: https://dart-review.googlesource.com/19762
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Previously, we were inferring super property gets as though they were
`this` property gets.
Change-Id: Ic82ea6a400c71ef1413870d9adce6202666bb126
Reviewed-on: https://dart-review.googlesource.com/19763
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Set<dynamic>.every() and Set<dynamic>.any() require their callback to
have type `(dynamic) -> bool`.
Change-Id: I075728af72dbcda90e343e8af42ef3f4eda2dfbe
Reviewed-on: https://dart-review.googlesource.com/19201
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
The maps used by this test have a reified type argument of `dynamic`,
so the callbacks we pass to `any` and `every` need to be typed
accordingly.
Change-Id: Idd00478cc7667560ad81167db8d4816c8a7fff8d
Reviewed-on: https://dart-review.googlesource.com/19450
Reviewed-by: Janice Collins <jcollins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Also add test cases to verify that type argument substitution works
properly for other kinds of super calls.
Change-Id: I7a04c85cd13e83403a0e86efa82f30ae71dc0b15
Reviewed-on: https://dart-review.googlesource.com/19621
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>