Commit graph

74750 commits

Author SHA1 Message Date
Sam Rawlins
b8ce4baf7e Remove 'checked mode' from checked_mode_compile_time_errors
Change-Id: I6576eb186149d540ce2dbc0e0aab7177ff4727be
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156484
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-07-31 19:20:58 +00:00
Brian Wilkerson
dc908e076b Do not suggest an explicit cast when the only difference is the nullability of the type
Change-Id: Ibb20fd5d3ced4ca13bb604bbe42eced16903de9e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156723
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
2020-07-31 19:00:20 +00:00
Brian Wilkerson
4776ac1f89 Fix a couple of recently introduced hints
Change-Id: I68b653ea44e548a2789f7e720d6abfddb7cfb08c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156721
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-07-31 17:33:58 +00:00
Konstantin Shcheglov
dfb3720cda Changes to analysis_server/ to be compatible with the breaking changes to analyzer/.
Change-Id: I606072798633601d78f38c0035b579d93875ef3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156601
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-07-31 17:04:58 +00:00
Mehmet Fidanboylu
336a733e44 [dart:io] Disable isInsecureConnectionAllowed check as it broken
an internal test on Fuchsia.

Change-Id: I1fc6124b7dbdd07a82d09daf5c870971e0c237de
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156720
Commit-Queue: Mehmet Fidanboylu <mehmetf@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2020-07-31 16:45:00 +00:00
pq
4894e34f1f bulk fix for empty_statements
Change-Id: I92c2dd5333d9b505a2c37b5936199895ab928fad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156700
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-07-31 16:27:10 +00:00
Daco Harkes
9871331450 [vm/ffi] Clarify DynamicLibrary.open behavior
Both dlopen and LoadLibrary have caching behavior and only load the
dynamic library once into the DartVM, even with multiple isolates.

Change-Id: If16791baf28706c61acb1ecdae668485b264a373
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156682
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2020-07-31 15:15:20 +00:00
Tess Strickland
d7feab5aaa [vm/compiler] Make BinaryIntegerOpInstr::InferRange().
Instead of putting the same InferRange() in BinaryInt32Op,
BinaryInt64Op, and (currently missing) BinaryUint32Op, just add a base
version in BinaryIntegerOp that's overridden by the caching versions in
BinarySmiOp and ShiftIntegerOp.

Change-Id: I38e4b4869c08101b97201159eee0de972bfc0cbc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156681
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2020-07-31 15:06:15 +00:00
Mayank Patke
12be370067 [dart2js] Fix missing braces in
internal/deferred/load_in_correct_order_test.

Change-Id: I9691be06ce061b174f675261688797f9cd1f78f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156641
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
Auto-Submit: Mayank Patke <fishythefish@google.com>
2020-07-31 14:59:00 +00:00
Mayank Patke
e973e3d10d [dart2js] Remove static error from effectively_constant_fields_test.
Change-Id: I017174b2d1439e9e61e7486fe6306ce0848622d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156640
Auto-Submit: Mayank Patke <fishythefish@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2020-07-31 14:58:10 +00:00
pq
b10f22c7f5 bulk fix for empty_constructor_bodies
Change-Id: Iffd3b80e6316372986374dc6b66cae24bd287dfa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156604
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-07-31 14:30:00 +00:00
Alexander Thomas
2e241cf79c [co19] Roll co19 to 702bc6e1132d581534867b5e7d22ae8b8e3296cb
2020-07-31 sgrekhov@unipro.ru LibTest/core fixed after tryjob run
2020-07-31 sgrekhov@unipro.ru isRedirect_A01_t02 fixed (set followRedirects to false)
2020-07-31 irina.arkhipets@gmail.com Fixes 874: LibTest\typed_data\Float32x4List tests adopted for null safety.
2020-07-30 sgrekhov@unipro.ru Fix for 877. LibTest\io\HttpClientResponse test migrated to null safety
2020-07-30 sgrekhov@unipro.ru Fix for 876. LibTest\io\HttpClientRequest test migrated to null safety
2020-07-30 sgrekhov@unipro.ru Range test fixed to not to fail on JS

Change-Id: Icb1fba88d6803f87435029e83a933285b3c55b3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156683
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2020-07-31 14:17:20 +00:00
Alexander Thomas
76b433c940 [test] Skip Stream.periodic_all_t02 on simarm64/AOT
https://github.com/dart-lang/sdk/issues/42898

Change-Id: Ida44f5a829bab831f2a622243fc38e3900d8cadd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156684
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2020-07-31 14:15:20 +00:00
Mayank Patke
035994dae4 [dart2js] Fix dart2js/native/load_elim_refinement_test.
Change-Id: I91017589251cda16b8967cf62bbd750a77be9296
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156642
Auto-Submit: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-07-31 14:03:00 +00:00
Alexander Thomas
0c78420a3f [presubmit] Delete old .packages file from package status_file
It caused the presubmit to fail with null safety errors.

Change-Id: Ie28a77af0d3663abacdd8b6de0e7645e2b613163
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156685
Auto-Submit: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-31 13:31:00 +00:00
Aske Simon Christensen
fda6a1f136 [vm/aot] Fix DominantUse being quadratic in the block size.
This was caused by GetBlock() being called for every use.

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

Change-Id: Ib77d5d9fb69eb815a60b868aa1bf989af5f90e67
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156680
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2020-07-31 13:29:40 +00:00
An Xiao (Luffy)
272f39a196 Fix typo in internal.dart
`I` -> `If`

Closes https://github.com/dart-lang/sdk/pull/42739
https://github.com/dart-lang/sdk/pull/42739

GitOrigin-RevId: 8e96b7bc4be00a7c0a4098d405b4818520aa6988
Change-Id: Ib8dfd98a6cb327fdb81f9b384f24dcf45d5cd350
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154801
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2020-07-31 09:59:51 +00:00
Brett Morgan
e1c7bde14c Fix markup
Closes https://github.com/dart-lang/sdk/pull/42840
https://github.com/dart-lang/sdk/pull/42840

GitOrigin-RevId: 977c120bf78951e2f844f5c0888dc8d3bfc1c542
Change-Id: I980f6689ea6a8c49220316cdee35a87226966039
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155923
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2020-07-31 08:39:41 +00:00
Daco Harkes
9dbe5026dd [vm/ffi] Remove dead code for ia32 AOT
Precompiled mode has never been supported for ia32. Removing dead code.

Change-Id: Ia2de44373f3f494cb22f774369f922e061fc99c7
Cq-Include-Trybots:dart/try:vm-kernel-linux-debug-ia32-try,vm-kernel-win-debug-ia32-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156521
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-07-31 08:09:49 +00:00
Karl Klose
d4d91c40af [infra] Add a script to narrow blamelists in the result feed
This script takes a list of test results and identifies blamelists
in the result feed data that include the commit of the test results
and tries to narrow the blamelist, if possible.

This CL also adds a small library to use the firestore REST API,
which contains mostly the functionality used in the script, but
should be easy enough to extend for other scripts.

Change-Id: If3c8272438e2a9bbf24891d9f5b62c342ea77cc6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153966
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-31 07:59:20 +00:00
Sam Rawlins
ea6bde577d Analyzer: remove unnecessary this in lib/src/generated
Change-Id: I2fb3d84e054bce192604690804f321723730e19f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156603
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-07-31 03:37:05 +00:00
Konstantin Shcheglov
207d642df1 Set min SDK to 2.7.0, so that extensions work.
Change-Id: Id915ffa39e9a8dde537653699674adfaecf3ed27
Bug: https://github.com/dart-lang/sdk/issues/42888
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156602
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-07-31 03:29:26 +00:00
pq
2dca5ad318 bulk fix for empty_catches
Change-Id: Ia1cc3aefd79968bba0ff43f7ac9016e68ee2195a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156600
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-31 01:29:45 +00:00
Nicholas Shahan
d514ee5a0e [ddc] Fix method call on object without prototype
Creating a js object with `Object.create(null)` produces an empty
js object with no prototype. Calling methods attached to these
objects would result in a NPE since we assumed all objects would
have a valid `.__proto__`.

Discovered the error in some benchmark code. Created a new test
with the same patterns.

Change-Id: I1fd38893b0c90315b338c3b6a1b4981be1d64065
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156582
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
2020-07-31 01:29:44 +00:00
Zichang Guo
15494c741b Unify error messages when calling unix sockets on unsupported platforms
Using unix domain sockets on unsupported platforms will throw different
error messages.

Change-Id: I3091c87d74dd4e6fc0a6799b454f3e16b400c0f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155925
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2020-07-31 01:09:46 +00:00
Zichang Guo
9b6dbd1481 dart run drops wrong argument
With "--enable-experiment" arguments, dartdev drops the wrong argument.

Change-Id: I3cf6b3bc1f21c7c8c33ef8e48236dfcd5a009c3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156480
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2020-07-31 01:06:58 +00:00
Mayank Patke
9b5f0f32ee [dart2js] Fix folding of x is Object when x may be null.
Change-Id: Ie45dae49c936e6a163963773747a17006f9554c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156481
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-07-31 00:45:54 +00:00
pq
2b51d59e69 bulk fix for use_curly_braces
Change-Id: Ia1a9fdde3d283cab94455aa4277d26e2d09998cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156586
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-07-31 00:02:24 +00:00
Mayank Patke
4ac2a5a213 [dart2js] Avoid constructing redundant closure fields.
When a captured local type variable was used in more than one context
with different nullabilities, we would construct a separate field for
each one. Because the localToFieldMap is keyed by the local, each field
would clobber the previous one when it was written to the map.

This is a side effect of the CFE storing nullability on each type rather
than as a wrapper. Consider the following function:

void Function<S1 extends T, S2 extends T?>() f<T>() =>
  <S1 extends T, S2 extends T?>() {};

Although the closure that f returns has a single free variable (T), we
end up with two distinct TypeVariableTypeWithContexts - one for T% and
one for T? - even though they're both keyed by the same local - T.

Change-Id: I7ea3ca7132ad51201beeb3c2a52311a97ce45875
Bug: #42847
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156445
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-07-30 23:56:14 +00:00
Sam Rawlins
9f49ef9d82 Strict-inference: be lenient on @optionalTypeArgs classes
Fixes https://github.com/dart-lang/sdk/issues/42882

Change-Id: I01c7b12cdb36d06ab9d44fb080b15b30684cba3a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156583
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2020-07-30 22:48:04 +00:00
Stephen Adams
c6deb3793f [dart2js] Remove AbstractValue from DummyInterceptorConstantValue
The stored AbstractValue is unused and removing it makes it possible
for the dummy to be independent of the AbtractValueDomain.

The actual receiver type is stored independently on the HInvokeDynamic
node, and would also be available via the 'interceptor' input, since
the dummy is used only on 'self-intercepted' call sites.

Change-Id: I04ff0a50f3afd399a6994ebe7f006687d57c84f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156585
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2020-07-30 22:42:04 +00:00
Joshua Litt
7e39d33f05 [dart2js] Add type use for using a class only for its constructor.
Change-Id: I8a7e031045811962998229d25463c74b88ca311e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156140
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-07-30 22:30:14 +00:00
Stephen Adams
30a7f00f0b [dart2js] Add --null-assertions flag
With --enable-asserts, does automatic debug assertion insertion:
https://github.com/dart-lang/language/blob/master/accepted/future-releases/nnbd/feature-specification.md#automatic-debug-assertion-insertion

Without --enable-asserts, does a NullCheck instead of an assert.

Change-Id: I57b8c9ce9e7605b9d2355b1d96a10db3fd631917

Fixes: 42403
Change-Id: I57b8c9ce9e7605b9d2355b1d96a10db3fd631917
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156044
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-07-30 22:13:04 +00:00
Ben Konyi
60fef97b0c [ DartDev / GN ] Updated build files to always copy dartdev and DDS
snapshots to the root build directory

Change-Id: I065baea33074d5f54310c8d132b5599f22cc2c50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156051
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2020-07-30 22:02:24 +00:00
Konstantin Shcheglov
caaa2a752b Add TypeVisitorWithArgument and DartType.acceptWithArgument().
Bug: https://github.com/dart-lang/sdk/issues/40478
Change-Id: I2a8d196bf3ba41f771e390acb7eade5cdd5f1e6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156563
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-07-30 21:33:04 +00:00
pq
f640e58e45 bulk fix for await_only_futures
Change-Id: Ic643ef1fd0e8374ecce7fffff34fc9b6f7e8550c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-07-30 21:26:04 +00:00
Kevin Moore
bb6cb64287 Remove author from pubspec, add changelog, update repository
Change-Id: I8778fad420f4354cd55d8d79cf3d93e842a94b5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156584
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2020-07-30 21:09:23 +00:00
Stephen Adams
1fa926d44c [dart2js] Move operator== null check before argument checks.
Change-Id: I906ba0239aef74f48273d5e242e68a8ccb8eb831
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156366
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-07-30 20:23:34 +00:00
Nicholas Shahan
851d3875ea [dart_internal] Bump sdk lower bound to 2.0.0
This is simply to get around the new restriction on publishing
packages that depend on a dev version of the sdk.

Change-Id: I523d6732ee2c0bc7b45a73050bff6b327372e5d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156564
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Auto-Submit: Nicholas Shahan <nshahan@google.com>
2020-07-30 20:23:25 +00:00
Konstantin Shcheglov
bd528bfbd6 Updates and tests for ReplaceTopBottomVisitor, fix hints.
Bug: https://github.com/dart-lang/sdk/issues/42196
Change-Id: If9350ccc4ad2908a2c7cde7281fe9e2f01c52f97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156561
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-07-30 19:12:38 +00:00
Christian Altamirano
9750492969 [dart2js] Added two functions to JClosedWorld and some refactoring
These two functions (includeClosureCallInDomain and locateMembersInDomain) are similar to existing ones but take an AbstractValueDomain as a parameter. This is done so that the abstract value parameter belongs to the abstract value domain passed, for the wrapped version this did not happen.

Change-Id: Id085c1d589beccbf95fd2a0251b3b884f1dc2d30
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156220
Commit-Queue: Christian Altamirano <coam@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-07-30 18:50:18 +00:00
Konstantin Shcheglov
0a06e86e57 Test that prefix based filtering in Cider does not use following identifier.
Change-Id: Ieb37a1adce3ab2fb7bdc49fcb1d263b3940fd1e0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156483
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-07-30 17:34:18 +00:00
Mike Fairhurst
c9ee369a7c [analyzer] Fix #41926 super bounded types broken for NNBD
`DartType.replaceTopAndBottom` needs to do different things for
NNBD/legacy code. Move this behavior into TypeSystemImpl with its own
responsible visitor.

Fixed: 41926
Change-Id: Ib0eca2384276998d5fdf99f2d9a210d86c999afa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156443
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-07-30 16:37:48 +00:00
Nicholas Shahan
0f7add33bd [ddc] Pass an empty list as args in ddb script
This brings ddc to parity with dart2js when running benchmarks
and fixes a crash in the migrated Utf8Decode benchmarks.

In the future we might reject programs based on the signature
of the main method or introduce runtime errors but that is
still under discussion
https://github.com/dart-lang/language/issues/1120.

Change-Id: I594f60e887ce05ef7074c72cbbe379c0d526707e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156361
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2020-07-30 16:07:18 +00:00
Aske Simon Christensen
00edd9756b [vm/aot] Delay allocation instructions until right before first use.
Moves AllocateObject and CreateArray instructions down to their
dominant use (use that dominates all other uses) when such a use exists
and the move is not hampered by environment uses (which can happen when
the allocation is inside a try block).

This improves write barrier elimination for inlined constructors, since
it moves the allocation after evaluation of the arguments. Any Dart
calls in an argument would disable elimination after it.

The optimization is particularly effective for Flutter Widget code,
since such code typically contains many nested constructor calls.

Reduces instructions size of Flutter Gallery by about 0.8%.

Change-Id: Ife30850c1a23f0986f85d42c1015f4caa7cf1fa6
Cq-Do-Not-Cancel-Tryjobs: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153602
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-07-30 15:57:33 +00:00
Dmitry Stefantsov
7831716efd [cfe] Use Object? as top type in NNBD greatest closure algorithm
Closes #42579, #42580.

Bug: https://github.com/dart-lang/sdk/issues/42579
Bug: https://github.com/dart-lang/sdk/issues/42580
Change-Id: I90a519b4d580d139bbccfcefd8553ec68aac71ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156240
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-07-30 15:49:59 +00:00
Danny Tuppeny
6762f2294c Tweak parser to handle LSP 3.16 spec
Change-Id: I53ef27f4b9dc9c4f6a8ff54e116dd3d2a9faf65c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156506
Commit-Queue: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-30 15:49:28 +00:00
Alexander Thomas
e87cb96bb8 [infra] Use ELF on VM AOT NNBD simarm64 builder
Change-Id: Ie8584ff46ecb6e818bdc8a7a5c4e1ef5f015d7c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156520
Reviewed-by: William Hesse <whesse@google.com>
2020-07-30 15:19:19 +00:00
Konstantin Shcheglov
fb0578159e Convert paths to absolute and normalized in analyzer_cli arguments.
See https://github.com/dart-lang/linter/pull/2189#issuecomment-665984938

Change-Id: I6becb616dd8bcb0c9945ea5ad5ac6119bb93e330
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156441
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-07-30 15:00:58 +00:00
Sam Rawlins
f925019c5a Add tests for strict-inference on instance creation, fix constructor name
Fixes https://github.com/dart-lang/sdk/issues/42881

Change-Id: I0f21f106936e88c9e195fd789408ec590ee4f44d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156423
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-30 14:55:38 +00:00