Commit graph

57246 commits

Author SHA1 Message Date
Peter von der Ahé e7c6416f80 Run bootstrap test in strong mode
Fixes https://github.com/dart-lang/sdk/issues/33811

Change-Id: Ie4863d5a1e8932bbf5d16a3a84236f7a66d27534
Reviewed-on: https://dart-review.googlesource.com/65084
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-07-18 11:21:23 +00:00
Peter von der Ahé 38db4a10db Normalize status file
Change-Id: Ic3d18aed72c572fe07bbd2a98b85431a0a143019
Reviewed-on: https://dart-review.googlesource.com/65505
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-07-18 11:21:21 +00:00
Johnni Winther 7c27ebe8e3 Remove unused messages
Change-Id: I3b81dd5dfecf2dee881ec1901d68df71aa703260
Reviewed-on: https://dart-review.googlesource.com/64844
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-07-18 10:28:59 +00:00
Peter von der Ahé 11001793a2 Check void usage and invalid returns
Closes https://github.com/dart-lang/sdk/issues/30470

Change-Id: I2ed5b54c74e0bba2771036774bbe2197ce29109d
Reviewed-on: https://dart-review.googlesource.com/65141
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-07-18 10:18:52 +00:00
Peter von der Ahé a3bb529eec Update package:testing wrt. void
Change-Id: I7bb99b192410c0fc966cff06bea3a938b1d0351b
Reviewed-on: https://dart-review.googlesource.com/65504
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-07-18 10:18:52 +00:00
Dmitry Stefantsov 7d1f3b358a [fasta] Update test status after the fixes for #32613
Change-Id: Idd473d5105237bcb57c2c051e3a1903c041ec323
Reviewed-on: https://dart-review.googlesource.com/65323
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-07-18 10:00:08 +00:00
Peter von der Ahé c6f525634f Normalize status files
Change-Id: I2668ec23b5fe83623acefcf53110499ecf30dcb9
Reviewed-on: https://dart-review.googlesource.com/65502
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-07-18 09:54:33 +00:00
Peter von der Ahé db45d049db Update VM CC test to new void rules
Change-Id: Icf8db6ab4dd701b449af5998d3ed10cc3d5b2e6f
Reviewed-on: https://dart-review.googlesource.com/65503
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-07-18 09:48:19 +00:00
Peter von der Ahé 389b8997b3 Update dart2js extra test wrt. void rules
Change-Id: Ic83252a27fc90dd2d19b799d09c0bc4b111a1caf
Reviewed-on: https://dart-review.googlesource.com/65501
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-07-18 09:48:19 +00:00
Johnni Winther 4a01dc66bc Fix crash in inferrer_engine
Closes #33810

Change-Id: I25ec7ab62dbd6a54331ee0f777644da3ddad1135
Reviewed-on: https://dart-review.googlesource.com/65300
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-07-18 09:46:28 +00:00
Devon Carew c49cfa690d Replace crc32 with fletcher16 for a faster checksum algorithm.
Change-Id: I200e8450eb4a27e1c8093f400f8fe5f864f4c026
Reviewed-on: https://dart-review.googlesource.com/65444
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-18 03:30:44 +00:00
Paul Berry 54e98e7c15 Stop tracking ResolutionData.literalType in analyzer/FE integration.
In all but one case, the types that had previously been stored in
ResolutionData.literalType have become redundant; we now communicate
the necessary information in a higher fidelity way using
typeReference(), voidType(), and functionType().

There is one case that isn't redundant: variables declared in a catch
clause.  In this case the type in question really isn't a literal type
at all, it's an inferred type, so it makes more sense to store it in
ResolutionData.inferredType.

Change-Id: Ic03f6e5ba4bd91b561b3ee46b02324758763bc83
Reviewed-on: https://dart-review.googlesource.com/65482
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-18 02:58:31 +00:00
Alexander Aprelev b1a68a408e [vm] Clean up bad_reload_test as it works as expected now.
Bug: https://github.com/dart-lang/sdk/issues/32341
Change-Id: I54e9d2bf6a7b3fe0976e1895c4dce35aa1cdaa99
Reviewed-on: https://dart-review.googlesource.com/63721
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-07-18 01:00:52 +00:00
Brian Wilkerson df8e525655 Use InvalidUseOfNullAwareAccess and ThisOrSuperAccessInFieldInitializer rather than Unspecified
Change-Id: Ib6bb02873129740217fcf589648f12d3f0ceccc5
Reviewed-on: https://dart-review.googlesource.com/65420
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-18 01:00:51 +00:00
Devon Carew 23776cd162 Increase the analysis server memory cache size.
Change-Id: I7f9bcef3d0b0676f0512532dd7597c6d194b7ef2
Reviewed-on: https://dart-review.googlesource.com/65480
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-07-18 00:02:31 +00:00
asiva f9620adcc5 Fix hot reload bot failures.
Change-Id: I3f3a01612ed43ae136ee6639888895765e74c20a
Reviewed-on: https://dart-review.googlesource.com/65440
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2018-07-17 23:12:00 +00:00
Samir Jindel c1df0d4c10 [vm] Very basic store barrier elimination.
If the left-hand side of the store is an allocation and no GC-triggering
instructions have been executed since, it is safe to elide the store barrier.

This gives a 1.4% code size reduction on Flutter Gallery ARM32.

Change-Id: Ib7227d3ef9d798d5e30f238f3f789f9a2e637d6a
Cq-Include-Trybots: luci.dart.try: vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/64687
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-07-17 22:59:28 +00:00
Paul Berry 6d28b0a551 Postpone type/element translation until ResolutionApplier.
This CL moves type/element translation from the
_ResolutionApplierContext class to the ResolutionApplier.  This allows
types and elements to be translated in the context in which they
appear in source code, so that we can resolve type parameter
references properly even when they refer to type parameters of local
functions and function expressions.

Fixes #33722.
Fixes #33874.

Change-Id: I100f417654c53ee24e8ca4e7295761df0812a83b
Reviewed-on: https://dart-review.googlesource.com/65404
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-17 22:54:09 +00:00
Zach Anderson 9cb4a23651 [status] Status file fixes dropped from last change
Forgot to git cl upload some updates to status files for my last change

Change-Id: Ib3635a3f77294f1f3d77635ad6133f7db32c5b91
Reviewed-on: https://dart-review.googlesource.com/65443
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-07-17 22:39:00 +00:00
danrubel 22998a18fc Statement completion fixes
This fixes all but 2 of the statement completion tests
when the fasta parser is enabled.

Change-Id: I056cb386f46ce489e5ee70f01d9903fa4eb03bf6
Reviewed-on: https://dart-review.googlesource.com/65361
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-17 22:10:01 +00:00
Devon Carew ebf1e8493e Don't iterate over the entire package map when looking for a package mapping.
Change-Id: I5e565eeee0759b91b9abb430ccee4ccba46fb146
Reviewed-on: https://dart-review.googlesource.com/65403
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-17 22:09:44 +00:00
Zach Anderson d0510501d2 [build] Add -a kbc for interpreter
This CL adds support to build.py and test.py for building/testing
a VM with the interpreter on x64, e.g.:

$ ./tools/gn.py -m release -a x64 --bytecode
$ ./tools/build.py -m release -a x64 --bytecode runtime
$ ./tools/test.py -m release -a x64 -r vm -c dartkb language_2

Change-Id: I956d23790636609d4a2e71129481fcbd7afef9a0
Reviewed-on: https://dart-review.googlesource.com/65206
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-07-17 21:51:41 +00:00
Devon Carew 8aeb7de19d Avoid List.forEach in performance sensitive code.
Change-Id: Ieb9ba0b5fd8474fccdc502a753749999e15c1efa
Reviewed-on: https://dart-review.googlesource.com/65283
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-07-17 21:22:50 +00:00
Martin Kustermann dc04320c64 [VM] Fix memory leak after landing embedder abstraction change
Change-Id: I6597cbd871539d06d37991c479aeab2dae0ab089
Reviewed-on: https://dart-review.googlesource.com/65324
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-07-17 20:36:00 +00:00
Alexander Markov 253660db21 [vm/kernel/bytecode] Support corner cases of super calls in bytecode generator
* Super tear-offs: 'super.foo' where foo() is a method.
* Super calls of abstract members (useful with super-mixins).

Change-Id: I373b11c9773c7535e703cdc4e1bb9e632eef8dd2
Reviewed-on: https://dart-review.googlesource.com/64980
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-07-17 20:23:50 +00:00
Brian Wilkerson 7341da84bd Use SuperclassHasNoDefaultConstructor in place of Unspecified
Change-Id: I6f912b28bfac2e6e068d1fb8d8485d491a2a4b41
Reviewed-on: https://dart-review.googlesource.com/65402
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 18:57:21 +00:00
Konstantin Shcheglov 9c2e9ecca9 Fix context elements for fields and top-level variables.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I67487727a60e0a814e4ac3372aada11e6a2669b4
Reviewed-on: https://dart-review.googlesource.com/65401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-17 18:43:50 +00:00
Brian Wilkerson 62ce40f287 Map AmbiguousSupertypes to an analyzer error
Change-Id: I3c9044eded49398895dac0fc973e574884fb3cc1
Reviewed-on: https://dart-review.googlesource.com/65400
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 18:43:19 +00:00
Aart Bik 19002bf094 [vm/compiler] Improve AOT decision on speculation.
Rationale:
The previous change to avoid speculation altogether
in AOT strong mode (to improve typed data performance)
was a bit too conservative. We only need to avoid
speculation that introduces deopting checks, not ones
with a fast/slow path where the fast path is very likely.
In the long run, better analysis may help even more.

Performance impact (restores prior drop):
Meteor                 +40%
JsonParseCustomReviver + 6%

https://github.com/dart-lang/sdk/issues/33656

Change-Id: I1735d8e642285cb2df538fc49468cf64a99d7f72
Reviewed-on: https://dart-review.googlesource.com/65383
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-07-17 18:22:12 +00:00
Brian Wilkerson 9ebab91896 Use ConstConstructorInSubclassOfMixinApplication in place of Unspecified
Change-Id: I8a183ee4473249209587dd24c64cd40f5ccd7cf1
Reviewed-on: https://dart-review.googlesource.com/65384
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 18:19:50 +00:00
Ryan Macnak 296319d2f0 [observatory] Switch to static mode.
Bug: https://github.com/dart-lang/sdk/issues/32503
Change-Id: I9ff65d1598031473fa8ca97a27e340e722f038fa
Reviewed-on: https://dart-review.googlesource.com/65382
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-07-17 18:04:10 +00:00
Konstantin Shcheglov 7a35e9cade Store resolution for using non-constant factory for constant instance creation.
This also fixes https://github.com/dart-lang/sdk/issues/33642

Change-Id: I696da4895de28758264034f5a40914c3847b21b8
Reviewed-on: https://dart-review.googlesource.com/65200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-17 17:34:12 +00:00
Dan Rubel 75e1ebd55c Improve "else" statement recovery
Change-Id: I122e84f80b13cf6d72080af17b3a0f4a27a14b53
Reviewed-on: https://dart-review.googlesource.com/65180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-17 17:17:21 +00:00
Brian Wilkerson 0fb284217d Map ConflictsWithSetter to an analyzer code
Change-Id: I5f0b4bf6dc20733b980e6c4c8db4709a08e8d459
Reviewed-on: https://dart-review.googlesource.com/65380
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 17:03:22 +00:00
Alexander Markov 8245707b4c [vm] Refactoring: remove misuses of StreamingFlowGraphBuilder
In certain cases StreamingFlowGraphBuilder was used not for building
flow graph, but as an advanced kernel reader. This CL extracts all such
functionality from StreamingFlowGraphBuilder and revises all such uses.

StreamingFlowGraphBuilder constructors without FlowGraphBuilder are
removed. After this CL StreamingFlowGraphBuilder is only used to build
flow graph, as intended.

Change-Id: I69b08e24d37f8f2f336bee85334af11be1639b24
Reviewed-on: https://dart-review.googlesource.com/64821
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-07-17 16:36:50 +00:00
Brian Wilkerson 0a2eb8524f Map UnmatchedToken to an analyzer code
Change-Id: Idb7130dee9692086e4ed844daa48787f9085b94b
Reviewed-on: https://dart-review.googlesource.com/65341
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 16:29:19 +00:00
Ryan Macnak 651994ba70 [observatory] Progress toward static mode compatibility.
(Mostly package:unittest -> package:test)

Bug: https://github.com/dart-lang/sdk/issues/32503
Change-Id: I3486cceb97792707b2dc92c1ee78372731bfb92f
Reviewed-on: https://dart-review.googlesource.com/65202
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-07-17 16:27:40 +00:00
Sigmund Cherem a7e511f4dc Fix order of named arguments in nsm-forwarders
Change-Id: I4fa9c3165c61e675be87978441093b9ee664a29d
Reviewed-on: https://dart-review.googlesource.com/65204
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-07-17 16:05:50 +00:00
Dan Rubel 4674961476 Improve missing ")" recovery and remove duplicate error messages
Change-Id: Id3033d5a5a737b191bd96be4e6e20323e7e5bcfd
Reviewed-on: https://dart-review.googlesource.com/65040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-17 15:51:48 +00:00
Peter von der Ahé 64a1f8f69c Prepare for upcoming void usage semantics
Change-Id: I30d92ffb88338036aebed4e6891ce8e5737bf81f
Reviewed-on: https://dart-review.googlesource.com/65322
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-07-17 15:36:38 +00:00
Brian Wilkerson ab1c1582b1 Remove deprecation hints in analyzer packages
Change-Id: I001e57239a87f2806be74052a5e7686245fea812
Reviewed-on: https://dart-review.googlesource.com/65000
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2018-07-17 15:22:07 +00:00
danrubel 1714abb7b0 Update status file
Change-Id: I23e2ad2231699272f95dc6098b706bdb6e50d92e
Reviewed-on: https://dart-review.googlesource.com/65360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 15:04:52 +00:00
Devon Carew f08ada2d52 Disable a flakey analysis server test.
Change-Id: I9af9145305e29a37c82afc0b2199fba7866a0e0d
Reviewed-on: https://dart-review.googlesource.com/65281
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-07-17 14:54:07 +00:00
Peter von der Ahé cc1a7b35d0 Update SDK wrt to void and invalid returns
Change-Id: Ia1a6b056351beb9faddc2c6e86280983a2395d45
Reviewed-on: https://dart-review.googlesource.com/65140
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-07-17 13:37:47 +00:00
Brian Wilkerson 3dba24bda2 Use TypeVariableInConstExpression in place of Unspecified
Change-Id: Ib0f902979c33e97fa46660f0c0a4e98b092c274c
Reviewed-on: https://dart-review.googlesource.com/65240
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 13:23:18 +00:00
Brian Wilkerson 6927e30cac Use BreakOutsideOfLoop instead of Unspecified
Change-Id: Ib420f7d2bb3c47da36f8fa81b4c2c09d319b74e7
Reviewed-on: https://dart-review.googlesource.com/65205
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 13:23:09 +00:00
Dan Rubel b571e9391c Report missing semicolon on last consumed token
This moves the location on which a missing semicolon error is reported,
making it easier for a user to understand and fix,
and fixing some of the statement completion tests.

Change-Id: I11b9de57e2b3104238e1edb801ad1cd02e9a63a2
Reviewed-on: https://dart-review.googlesource.com/64900
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 12:30:37 +00:00
William Hesse dcd58ff563 Update unittest to 0.11.x. Check out unittest from chromium.googlesource.
Change-Id: I35fbf7d18cf596c23fcdc9c702cc1a6d498a4691
Reviewed-on: https://dart-review.googlesource.com/65320
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2018-07-17 12:18:48 +00:00
Bob Nystrom 42bbdec54e Update dartfmt to 1.1.3.
We also need to update the prebuilt SDK to keep it in sync with this
change so the presubmit doesn't get wonky. But, in this case, it should
be fine. The change affects a rare case that I don't think occurs in
the SDK: a multi-line string inside a string interpolation, inside
another string. If that does occur, it's easy to just change that code.

Change-Id: Icdfdfb0b2e1359005d88d983e9a3cf05b0e91e48
Reviewed-on: https://dart-review.googlesource.com/65280
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2018-07-17 11:04:29 +00:00
Peter von der Ahé c137fe2fbe Update tests related to generalized void
Change-Id: Iac43d86759e0ae958940bbfd2ce53286762b7207
Reviewed-on: https://dart-review.googlesource.com/64381
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-07-17 10:25:25 +00:00