Commit graph

54425 commits

Author SHA1 Message Date
Leaf Petersen
4c881188b2 Disable the .whereType method until generic methods are turned on.
The whereType method silently does the wrong thing without methods,
so make it throw until we turn them on everywhere.

Change-Id: Id934c8bdb4f682dbc3560d78fbca580e37297e2d
Reviewed-on: https://dart-review.googlesource.com/45744
Reviewed-by: Nate Bosch <nbosch@google.com>
2018-03-08 23:14:22 +00:00
Sigmund Cherem
16e8194147 Prepare additional lib, html, samples statuses: this embeds of d8-hostcheck results
TBR=sra@google.com

Change-Id: I4a86f3d51629bbd7dd36825f8c2d993b386ea8e0
Reviewed-on: https://dart-review.googlesource.com/45745
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-08 21:10:37 +00:00
Sigmund Cherem
0013f6acf8 Prepare co19 for the FE switch
TBR=sra@google.com

Change-Id: I7971fd5e1c795ffa688688e78675d41ffc313997
Reviewed-on: https://dart-review.googlesource.com/45582
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-08 20:35:07 +00:00
Ryan Macnak
22ccad1aa6 [vm] Stream writing snapshots as assembly to reduce peak memory usage.
Bug: US-449
Change-Id: Ic1ce6881b54c8c0eb7c93cbbda8057d7268bb3fd
Reviewed-on: https://dart-review.googlesource.com/45580
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-03-08 19:26:17 +00:00
Konstantin Shcheglov
eea08cfabe Add optional 'file' for getElementDeclarations.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/32461
Change-Id: I0fa5ab2165e24f5b17ecc20ad8f97471389c8b8f
Reviewed-on: https://dart-review.googlesource.com/45761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-08 19:10:47 +00:00
Sigmund Cherem
b7cb8a1daa Mark 2 more tests as flaky
TBR=efortuna@google.com

Change-Id: I70d360de716d06a6467107cc535b5e1b2210d33a
Reviewed-on: https://dart-review.googlesource.com/45743
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-03-08 18:36:07 +00:00
Zach Anderson
8240134d66 [infra] Roll boringssl forward. Use clang for arm on Linux.
fixes: #32363
Change-Id: I68c3ea314b320e51e0dcbdc98b71cf3150800837
Reviewed-on: https://dart-review.googlesource.com/45742
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-03-08 18:09:28 +00:00
Sigmund Cherem
e775ae9c30 Mark flaky co19 test
Recent failure on the CQ: https://ci.chromium.org/p/dart/builders/luci.dart.try/dart2js-linux-chrome-try/82

TBR=efortuna@google.com

Change-Id: Ida091ff31ad3a19696378ee10f143c9d202fa44e
Reviewed-on: https://dart-review.googlesource.com/45741
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-03-08 18:00:45 +00:00
Vyacheslav Egorov
3da9c349d4 [vm/simarm] Fix VRECPS/VRSQRTSQS instruction implementation.
This instruction handles 0.0 and infinity operands
specially because otherwise it produces NaN where it
should produce appropriate infinity or zero.

Fixes https://github.com/dart-lang/sdk/issues/24399
Fixes https://github.com/dart-lang/sdk/issues/26675

Change-Id: I0741d0daa8b92b4dcd780b1453c9ec449552b1fd
Reviewed-on: https://dart-review.googlesource.com/45382
Reviewed-by: Zach Anderson <zra@google.com>
2018-03-08 17:50:29 +00:00
Sigmund Cherem
d059e97974 Add platform.dill files to the hostchecked try bots.
This change is needed before we turn on the CFE by default in dart2js.

R=whesse@google.com,athom@google.com

Change-Id: I2868d2dcef82d95456a56e809fe90e28dc698437
Reviewed-on: https://dart-review.googlesource.com/45640
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-03-08 17:29:47 +00:00
Lasse Reichstein Holst Nielsen
b3c12d4e3a Dart 2 Libraries Wave 3
Add `typeArguments` to Invocation.
Add constructors to Invocation, making it less necessary for users to create their own implementations.
Add tests.
Add Symbol.unaryMinus and Symbol.empty constants.

Change-Id: I70cb3265f9413617cf57fce1297e393a29eeb26a
Reviewed-on: https://dart-review.googlesource.com/40741
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-03-08 16:36:07 +00:00
Paul Berry
021a29d68f Move analyzer-specific status lines into language_2_analyzer.status
Change-Id: Ib1f7be60c9e5e14e0794e31ca5747f2f409e0a94
Reviewed-on: https://dart-review.googlesource.com/45525
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-03-08 14:55:17 +00:00
Aske Simon Christensen
b457d71713 Canonicalize representation of a message without location.
This simplifies formatting and reporting logic.

Also move the noLength constant to fasta_codes.dart, where it more
rightly belongs. This avoids loads of bogus imports of the parser.

Change-Id: I2720df0e6ff627fba8f4bdd9ed03ee87bc0db0bd
Reviewed-on: https://dart-review.googlesource.com/44424
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-08 12:58:17 +00:00
Régis Crelier
383517d292 [VM runtime] Fix type canonicalization (fixes #32425).
A reused type argument vector that is longer than necessary needs to be
shortened to the correct length upon type canonicalization.
The runtime call comparing two instance runtime types also needs to consider
reused vectors.
Add regression test.

Change-Id: Ib3b9620409b9cff313f270c4f3fb7051fecbb604
Reviewed-on: https://dart-review.googlesource.com/45340
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-03-08 09:55:35 +00:00
Johnni Winther
0fdbc331f6 Fix dynamic type dependencies in codegen
Change-Id: Id3d8e89d55cc4ad8cc23c4be4012b4798d5abe4e
Reviewed-on: https://dart-review.googlesource.com/45424
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-08 09:51:55 +00:00
Jens Johansen
ef5909b986 Remove now unused dartk_wrappers
Change-Id: I7c9a91c829c2f8cc748fa38c8affca678e888706
Reviewed-on: https://dart-review.googlesource.com/45506
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-03-08 08:01:06 +00:00
Konstantin Shcheglov
50ba330a04 Fix for suggesting both class and its default constructor.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/dart-lang/sdk/issues/32456
Change-Id: Ie4d8b38ad78b1d8ac72f95e71ec29f081d9a9ee8
Reviewed-on: https://dart-review.googlesource.com/45584
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-08 07:27:46 +00:00
Ben Konyi
e3ecc87eb9 [VM / Kernel ] Fixed issue where enum classes were not being marked as such in the VM. Enum class fields are now eagerly initialized.
Change-Id: I6e5a95a3289d417e1f01f14b289960e45cce6c7b
Reviewed-on: https://dart-review.googlesource.com/45365
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2018-03-08 01:11:45 +00:00
Sigmund Cherem
4c58384b50 Prepare html, isolate, lib, and lib_2 status files to turn on CFE on dart2js by default
TBR=sra@google.com

Change-Id: I4ed72f27eb21477bf281df5039a53d0eb703b8ac
Reviewed-on: https://dart-review.googlesource.com/45581
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-03-08 01:04:05 +00:00
Emily Fortuna
24507da9da Fix stack overflow when analyzing type variables in generic methods.
Change-Id: Id182bb5f0511911662c1a758fce7792c686538c4
Reviewed-on: https://dart-review.googlesource.com/45560
Reviewed-by: Stephen Adams <sra@google.com>
2018-03-07 22:49:11 +00:00
asiva
0e30facfc3 Update versions of the following packages to the latest versions
- boolean_selector
- collection

Change-Id: I973665660415ed417513d1a65dd92ddc701eb855
Reviewed-on: https://dart-review.googlesource.com/45543
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-03-07 22:43:02 +00:00
Alexander Markov
211bf1ee5f [vm/kernel/aot] Cache specializations of cone types in TFA
This speeds up TFA on Flutter gallery:
Analysis time before change: 10131ms
Analysis time after change:   8041ms

Change-Id: I370cc3f1fefc87e5efc311b390e9a6a07dae4497
Reviewed-on: https://dart-review.googlesource.com/45360
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-03-07 22:03:52 +00:00
Alexander Markov
1c8841e52a [vm/kernel/aot] Fully support named parameters in type flow analysis
This CL adds all necessary support for analyzing types of named
parameters.

Also, optional positional parameters are analyzed more precisely:
default value is taken into account only if there is a call which omits
parameter.

Issue: https://github.com/dart-lang/sdk/issues/30480
Change-Id: I33ee68cfc736afb65ce561361975d67153af04a3
Reviewed-on: https://dart-review.googlesource.com/44883
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-03-07 21:33:42 +00:00
Emily Fortuna
618cd897e6 Gardening: Adjust test status to fix bots again. Didn't fix the right status
file last time and I couldn't test this since it's on Windows. :-(

Change-Id: I8224bd2b97153a10f2e1b36197423c38364c2bcd
Reviewed-on: https://dart-review.googlesource.com/45542
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-07 20:51:16 +00:00
Stephen Adams
23a7b62c42 Use type of receiver for setter target identification
This 'almost typo' was preventing any setters from being inlined.

Change-Id: Idca5ba35df34f2328e3f926790e093ce02ac8863
Reviewed-on: https://dart-review.googlesource.com/45367
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-03-07 20:48:52 +00:00
Brian Wilkerson
f5b5ae86b6 Respect comments when inserting imports (issue 32432)
Change-Id: I163818e60e21ee68bd621b8faa94b7ba9b545bcf
Reviewed-on: https://dart-review.googlesource.com/45526
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-03-07 20:47:42 +00:00
Emily Fortuna
7290c950d0 Change name of 'signature' to ':signature' to not conflict with a DOM member.
Change-Id: Iff924ac9ef47abdb79d21a5eb9a9f69cf7135d28
Reviewed-on: https://dart-review.googlesource.com/45541
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-07 20:09:27 +00:00
Emily Fortuna
7f9d5d318a Gardening: Change test status for standalone_2/namespace_test on Windows. Has been passing
for as far back as I can see in the history.

Change-Id: I674143e5a7db29d5fe687c26acfc00b25ef0285e
Reviewed-on: https://dart-review.googlesource.com/45540
Reviewed-by: Alexander Thomas <athom@google.com>
2018-03-07 19:37:35 +00:00
Alexander Thomas
55f7687908 [infra] Enable front end CQ builder
Change-Id: Ife7d8b714eeb68a186f5e8bda23fb6be1836a01f
Reviewed-on: https://dart-review.googlesource.com/45508
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-07 19:09:44 +00:00
Sigmund Cherem
e8018bfdea Mark tests as flaky
TBR=efortuna@google.com

Change-Id: I3cb7153665609c0f02b1246e558857e20d09e100
Reviewed-on: https://dart-review.googlesource.com/45527
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-03-07 19:08:12 +00:00
Peter von der Ahé
9d17f3a92d Tests no longer crash
Change-Id: Iec0b6de33083cdce7a2fd16c3589ff96adc6913b
Reviewed-on: https://dart-review.googlesource.com/45507
Reviewed-by: Alexander Thomas <athom@google.com>
2018-03-07 19:06:31 +00:00
William Hesse
90c08d5287 Update co19 status for Chrome 65 roll
Change-Id: I49a9d3ed472f81ba2ff11fd4637a0832ae08ea6b
Reviewed-on: https://dart-review.googlesource.com/45425
Reviewed-by: Paul Berry <paulberry@google.com>
2018-03-07 17:43:09 +00:00
Paul Berry
440b58d644 Start running analyzer tests with --preview-dart-2.
The changes to the CQ bot should take effect immediately.  The changes
to the other bots will take effect once those bots are switched over
to use the test matrix.

Change-Id: Ibfe59817a11f730fd1847cdc60b3244b4a71a480
Reviewed-on: https://dart-review.googlesource.com/45300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-03-07 15:04:33 +00:00
William Hesse
dc0f4c840c Fix status of map_literal1_test on analyzer
Change-Id: I98b1fc2ec3298ba104fc9b32aa34cd8ecd0a8ce1
Reviewed-on: https://dart-review.googlesource.com/45423
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-07 14:45:20 +00:00
Martin Kustermann
aecf5bf56e [VM] Remove locking in code called by signal handler, ensure profiler thread sees valid [Redirection] list
Change-Id: Ib108b92ce67f2fe0bd18318a966cba345c834f67
Reviewed-on: https://dart-review.googlesource.com/45504
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-03-07 14:27:29 +00:00
Peter von der Ahé
a55cdaee08 A bit of gardening
Change-Id: I5cee2e167e283c7e89d2a5c9a3f83edc1cf005b3
Reviewed-on: https://dart-review.googlesource.com/45422
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-07 14:11:40 +00:00
Paul Berry
db08061424 Handle implicit tear-off of .call when an implicit downcast is required
Previously, we were setting `expression` incorrectly after generating
the implicit tear-off of .call, so if an implicit downcast was needed
as well, it was not attached to the proper kernel node, and the
resulting kernel representation was invalid.

Addresses the front end manifestation of #32426.

Change-Id: Ibd86b75c54a53db1fc4606b7583910c57e1c4aae
Reviewed-on: https://dart-review.googlesource.com/45522
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-03-07 13:59:39 +00:00
Johnni Winther
8f4db274f1 Compute which selectors that need type arguments
Change-Id: I0e48ff67353d676ea77d13008ae46f79bb69336e
Reviewed-on: https://dart-review.googlesource.com/45321
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-07 13:46:49 +00:00
Dan Rubel
83c8c21abe Gracefully handle local function modifiers
Change-Id: I23f5ab9c9aaaee595ab6c552a6dddf9522ee17cd
Reviewed-on: https://dart-review.googlesource.com/45400
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-07 12:47:31 +00:00
Johnni Winther
8831dd1308 Remove failing assertion
Change-Id: Idfc2656460e2e6e63948172d63f90585be65d19d
Reviewed-on: https://dart-review.googlesource.com/45320
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-03-07 12:22:33 +00:00
Paul Berry
a3218d0b72 Roll back change to pkg/dev_compiler/analysis_options.yaml
This should work around #32450 and fix the buildbots.

Change-Id: I21d187a34de86ef4e383a9ea7fc297eda1363780
Reviewed-on: https://dart-review.googlesource.com/45521
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-03-07 12:10:07 +00:00
William Hesse
50a6bb559d Update co19 status on IE11 after co19 update
Change-Id: I9dccd2f256d76733d5981713d4b7d2b7d687394a
Reviewed-on: https://dart-review.googlesource.com/45502
Reviewed-by: William Hesse <whesse@google.com>
2018-03-07 12:03:10 +00:00
Johnni Winther
6b91b4f2d2 Remove RuntimeTypesNeed.classUsesTypeVariableLiteral
Change-Id: Ibd9ccb5308b9170296f81ed18a35f212283b9afa
Reviewed-on: https://dart-review.googlesource.com/44783
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-07 12:02:31 +00:00
Johnni Winther
f69da8e36b Move tests to /model/
Change-Id: I70fc06e51951eabbb123b4cf83a8e04ccb8f7eb6
Reviewed-on: https://dart-review.googlesource.com/44781
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-07 11:54:24 +00:00
Paul Berry
d17db1d5f3 Pass type inference context down to field initializer when type inferred via override
Fixes #32412.

Change-Id: I52660ffd5a6eadd10c6d62a17c64872946aa2a4a
Reviewed-on: https://dart-review.googlesource.com/45520
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-03-07 11:45:34 +00:00
Vyacheslav Egorov
675048d0b6 Add pragma class to dart:core.
This class can be used to annotate declarations with
tool specific hints.

For example @pragma('vm:extern') can tell that a method is invoked from
outside (e.g. via VM C API), which informs Kernel based tools not to
tree-shake this method.

Design doc (internal) https://docs.google.com/document/d/1yqje8uctBqITcwKxhebb0EHunY1bt0Qd4yZExrTHIW8/edit

Change-Id: Icf2106accfb1167124582466a3a55486d432793d
Reviewed-on: https://dart-review.googlesource.com/43062
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-03-07 11:01:57 +00:00
Peter von der Ahé
94aa20dd07 Update status for $compiler == fasta
Change-Id: I5d073d1c678dc313e79193074c6491085c093596
Reviewed-on: https://dart-review.googlesource.com/45381
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-03-07 10:32:33 +00:00
Paul Berry
615f40bc1d Ensure that null is not used as a context in more places.
This CL changes the handling of writeContext (for complex
assignments), returnOrYieldContext (for closures), expectedType (for
ensureAssignable), and receiverType (for findInterfaceMember) so that
they no longer use `null` to represent a context; they use UnknownType
or DynamicType as appropriate.

It also changes the handling of expectedType (for ensureAssignable) so
that it does not require the type to be known.  That makes this CL
simpler and paves the way for fixing #31792.

Change-Id: Ib1be06182f9a9e9f77a9eb81f5daf2364de0f3a7
Reviewed-on: https://dart-review.googlesource.com/44800
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-03-07 09:30:33 +00:00
Sigmund Cherem
f3687198b8 Update dart2js_extra: normalize further and update to match runtime==chrome expectations
TBR=sra@google.com

Change-Id: I13408ae668c0163f1973ff2616c546b426b5bd1e
Reviewed-on: https://dart-review.googlesource.com/45368
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-03-07 03:39:16 +00:00
Sigmund Cherem
18aa6b570f Delete recursive import test, improve comment of dummy_compiler_test.
recursive_import: was covering logic for the old frontend and it is no longer
relevant.  dummy_compiler is not just about APIs, is about self-hosting.

TBR=sra@google.com

Bug: https://github.com/dart-lang/sdk/issues/30773
Change-Id: I56d094d9ecee47264c7a7a206f942d9e3dbdaadc
Reviewed-on: https://dart-review.googlesource.com/45364
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-03-07 03:36:54 +00:00