Commit graph

51514 commits

Author SHA1 Message Date
Zach Anderson 8f5d55623e Revert "[GN] Adds dart_host_sdk_toolchain argument"
This reverts commit 8fc90bd3bc.

Broken precomp bots due to wrong toolchain condition in dart_arch_config and dart_os_config.

Change-Id: Ic5c75f9ca3a0d4f316678354da44d1fcca10499d
Reviewed-on: https://dart-review.googlesource.com/18360
Reviewed-by: Zach Anderson <zra@google.com>
2017-11-02 18:03:27 +00:00
Zachary Anderson 8fc90bd3bc [GN] Adds dart_host_sdk_toolchain argument
Setting this build argument to something other than host_toolchain will
cause the build target create_host_sdk to be exposed. That target will
build the Dart SDK with the toolchain specified by
dart_host_sdk_toolchain.

TO-549

Change-Id: Ida92521724cf7af34b34fb8c6d3514a226c48dd4
Reviewed-on: https://dart-review.googlesource.com/18145
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-11-02 17:27:19 +00:00
Zachary Anderson f09c86d0d5 Remove turnidge@ from WATCHLISTS =(
Change-Id: I958446e963e03a1145be108c44be4d82a23ac1f5
Reviewed-on: https://dart-review.googlesource.com/18242
Reviewed-by: Siva Annamalai <asiva@google.com>
2017-11-02 16:53:10 +00:00
Samir Jindel 9029ee09c5 Revert "[kernel] Fix NoSuchMethod errors for generic functions."
This reverts commit 52e1466588.

Bug:
Change-Id: Ic1b37a5df2f50ede4f6873b6d2a701663673bcbb
Reviewed-on: https://dart-review.googlesource.com/18261
Reviewed-by: Zach Anderson <zra@google.com>
2017-11-02 16:52:32 +00:00
Adam Barth a30002cfbd [fuchsia] Update package() BUILD.gn syntax
Update the package() template to match the new syntax. This change keeps these
packages working the same way they do currently (i.e., being included in the
system image). In the future, we'll want to remove this annotation and separate
these packages from the system image.

Change-Id: I0f0de3a07afc68a36d07c2e1cc9aa5b22072bf65
Reviewed-on: https://dart-review.googlesource.com/18241
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-11-02 16:44:28 +00:00
Jaime Wren f5904eae38 Fix for SimpleFormalParameter exception in the Dart Kythe indexer.
Change-Id: Ibf0a8468bc154d97a7d2f84d2947aabc5e960ab7
Reviewed-on: https://dart-review.googlesource.com/18142
Reviewed-by: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 16:37:38 +00:00
Brian Wilkerson c0f81029a3 Extract error translation and re-enable completeness test
Change-Id: Ic78139f46a56f5b37d5569af712071ee8ae5fed9
Reviewed-on: https://dart-review.googlesource.com/18148
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 16:34:09 +00:00
Brian Wilkerson 62ee6d42f1 More parser conversion
Change-Id: Idfd6afe6cce71ff852b746e52aa5810692c43dbd
Reviewed-on: https://dart-review.googlesource.com/18240
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 16:33:39 +00:00
Dan Rubel e781b33c83 move Analyzer test classes out of lib
This moves several classes used only for testing purposes
out of the analyzer/lib directory tree and
into front_end/test/fasta/testing where they are used.

Change-Id: I294b20710de4b16e27fbea5d13be316a6ecda112
Reviewed-on: https://dart-review.googlesource.com/18200
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-11-02 16:02:58 +00:00
Paul Berry 00b292511d Avoid a crash when an invalid assignment is detected during top level inference.
Change-Id: I382a4fdcd25bca529ca424ccdb7fd313d6a95066
Reviewed-on: https://dart-review.googlesource.com/18143
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-02 15:22:55 +00:00
Samir Jindel 52e1466588 [kernel] Fix NoSuchMethod errors for generic functions.
Bug:
Change-Id: I8ad90e34a7b1f77b29f1d711f158bcb69f5928f4
Reviewed-on: https://dart-review.googlesource.com/17941
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2017-11-02 15:16:08 +00:00
Vyacheslav Egorov 8306f07fb6 [kernel] Add pkg/kernel/test/binary_bench.dart.
This file implements a simple benchmark for kernel serialization and
deserialization routines.

Change-Id: Ib67745a4176c2bcf5717395af86d724ffbb164fd
Reviewed-on: https://dart-review.googlesource.com/18185
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2017-11-02 15:09:48 +00:00
Samir Jindel 091f12b148 [kernel] Serialize fileOffset with SuperProperty{Get,Set}
Bug:
Change-Id: I35d568b8ce98413df36bd83837fd46cb95e98ec7
Reviewed-on: https://dart-review.googlesource.com/18184
Reviewed-by: Jens Johansen <jensj@google.com>
2017-11-02 14:11:33 +00:00
Johnni Winther d3f3846207 Remove .getClosureInfoForMember
- and use ScopeInfo.forEachBoxedVariable instead of ClosureRepresentationInfo.forEachBoxedVariable.

Change-Id: I9d0c67eb06b7633a27d48745dc81d03d30f7e7ae
Reviewed-on: https://dart-review.googlesource.com/18186
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2017-11-02 14:06:38 +00:00
Brian Wilkerson 27fd7cad98 Clean-up parseUnit
Change-Id: Icbcef86609c5b84a129b6c68a1311cb4447c90a9
Reviewed-on: https://dart-review.googlesource.com/18100
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 13:33:08 +00:00
Brian Wilkerson 38a170cca9 Make parseTypeVariable accept the last committed
Change-Id: I64e29df367fca45709beb450b5aff1f9073f0b78
Reviewed-on: https://dart-review.googlesource.com/18080
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-02 13:19:20 +00:00
Johnni Winther 0373526d82 Fix refinements order on updates.
Change-Id: I2677792bb23d90ce5c63f159156c27653ed69f5f
Reviewed-on: https://dart-review.googlesource.com/17800
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-02 13:03:47 +00:00
Jens Johansen 57c3f0579c [kernel] Replace for in loop in BinaryBuilder
Loading vm_platform.dill 100 times after 2 seconds warmup:
		Statistics on 5 runs:
			It varies to much to tell on the runs I did.

	Loading vm_outline.dill 100 times after 2 seconds warmup:
		Statistics on 5 runs:
			-7.84428% +/- 1.21335% at 95.0% confidence

Bug:
Change-Id: I34bbdca555ec50e1d16a5994c5cb46f845b4a4a3
Reviewed-on: https://dart-review.googlesource.com/18183
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-11-02 11:55:58 +00:00
Johnni Winther 74022b9902 Refine receiver before arguments in method invocation
Change-Id: I6c32ade4d2342489299b010c841fb5c928f96b9a
Reviewed-on: https://dart-review.googlesource.com/17783
Reviewed-by: Emily Fortuna <efortuna@google.com>
2017-11-02 11:50:29 +00:00
Martin Kustermann 08408affa3 [VM] Enable recognized method inlining in CallSiteInliner again with fix
Change-Id: I4f0f92231530f10e054ebb04606df96a00366812
Reviewed-on: https://dart-review.googlesource.com/17940
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2017-11-02 10:46:18 +00:00
Florian Loitsch 0407c94349 Fix obsolete comment change in libs document.
"DateTime.parse taking optional arg".

Change-Id: I67779495a946789ba71ff1dffcdb8089a14f8073
Reviewed-on: https://dart-review.googlesource.com/18182
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-11-02 09:37:37 +00:00
Jens Johansen 4ea37a8702 [Kernel] Replace List.generate in BinaryBuilder
Changes in runtime:
	Running python tools/test.py -m release -cdartk language -j6
		Statistics on 3 runs:
			real -1.21% +/- 1% at 95.0% confidence
			user -2.01% +/- 0.29% at 95.0% confidence
			sys No difference at 95%

	Loading vm_platform.dill 100 times after 2 seconds warmup:
		Statistics on 5 runs:
			-15.3209% +/- 1.26028% at 95.0% confidence

	Loading vm_outlin.dill 100 times after 2 seconds warmup:
		Statistics on 5 runs:
			-21.9672% +/- 0.48754% at 95.0% confidence

Bug:
Change-Id: I16474e32715df57922376d88baddd17a1cf73663
Reviewed-on: https://dart-review.googlesource.com/17788
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-11-02 09:07:08 +00:00
Johnni Winther dc366e2c71 Test index access on this
Change-Id: I9ce9e901ba7fed257c9035d40b9119bab1bbdc6e
Reviewed-on: https://dart-review.googlesource.com/17785
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-02 08:35:57 +00:00
Ryan Macnak 8ed836fd6d [vm] Factor out the image snapshot code.
Prep for aligning image pages.

Bug: https://github.com/dart-lang/sdk/issues/30978
Change-Id: I5abd5d73ac9fed427942218a827e144fc74593de
Reviewed-on: https://dart-review.googlesource.com/18121
Reviewed-by: Siva Annamalai <asiva@google.com>
2017-11-02 00:57:42 +00:00
Paul Berry 174c132931 Change CheckedModeCompileTimeErrorCodeTest to run in strong mode.
Change-Id: Id5d11429bb9ab8b0507b7a2047ba2f82f9b420fa
Reviewed-on: https://dart-review.googlesource.com/18141
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-01 22:40:27 +00:00
Paul Berry c4e00daf70 Create a front_end test case for invalid assignment errors.
Change-Id: I5c23f7eb6d07b551397ca2301ed5485910083b8d
Reviewed-on: https://dart-review.googlesource.com/18140
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-01 22:09:27 +00:00
Zachary Anderson 02eebb0c69 [GN] Remove the dart_host_toolchain arg
This flag can be removed after: https://github.com/flutter/engine/pull/4308
lands.

Change-Id: I4730aaece1e43cf71ea569bda78c2cd546a66358
Reviewed-on: https://dart-review.googlesource.com/18060
Reviewed-by: Alexander Aprelev <aam@google.com>
2017-11-01 21:13:28 +00:00
Brian Wilkerson 6661da9b86 Make parseMapLiteralEntry accept the last consumed
Change-Id: I0d4c393ece13bbe8f1edad032053df90bd4fcf5d
Reviewed-on: https://dart-review.googlesource.com/18040
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 21:12:23 +00:00
Brian Wilkerson 0d94dfaf5c Make parseLiteralStringOrRecoverExpression accept the last consumed
Change-Id: Ia8b8ad0d9e8a86c7a782185ef00dd667bc2e457a
Reviewed-on: https://dart-review.googlesource.com/18002
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 21:07:18 +00:00
Konstantin Shcheglov 229fdff530 Triage a test for generic function types as a Fasta issue.
R=paulberry@google.com, sigmund@google.com

Bug: https://github.com/dart-lang/sdk/issues/31213
Change-Id: I0e791e20ac84d0bd3ddd0b2f9e489119a4eda9de
Reviewed-on: https://dart-review.googlesource.com/18020
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-01 21:04:17 +00:00
Jenny Messerly 1dfa9d2320 fix DDC SDK for Symbol.computeUnmangledName
Change-Id: I8b793744339dd934833f6188b5b8267d4dad1746
Reviewed-on: https://dart-review.googlesource.com/17864
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2017-11-01 20:38:06 +00:00
Brian Wilkerson 1e6490dbef Return last committed from parseTopLevelMember, parseTopLevelKeywordDeclaration, and parseTopLevelDeclarationImpl
Change-Id: If9fe159f4926c250cf06937cea9f1f4a78e21269
Reviewed-on: https://dart-review.googlesource.com/18003
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 20:31:36 +00:00
Konstantin Shcheglov 9d0d1fb6d2 Replace #30035 with #28434 in status files.
Kernel now supports these annotations, we need to start producing them.

R=paulberry@google.com, sigmund@google.com

Bug:
Change-Id: I1b2732ddad2674688d562f3be3ca29140a5e9381
Reviewed-on: https://dart-review.googlesource.com/17863
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-01 20:30:04 +00:00
Konstantin Shcheglov 9def9444cd Stop storing the parent node in AnalyzerMetadata.
We don't actually need it, and using any node disables lazy Kernel
loading.

R=brianwilkerson@google.com

Bug:
Change-Id: Ie92aa6c101c4b94c3585fc1ab7879ca2b6db6053
Reviewed-on: https://dart-review.googlesource.com/17983
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-01 19:10:04 +00:00
Brian Wilkerson 895f771726 Make parseTopLevelMethod return the last consumed
Change-Id: I65b9a2a6842ed1ec8ce986cb83fa108ce38be6ba
Reviewed-on: https://dart-review.googlesource.com/18001
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 19:02:47 +00:00
Konstantin Shcheglov a3ea40eb3b Fix for covariant function typed parameters with void return type.
R=brianwilkerson@google.com

Bug:
Change-Id: I8e46ebd0afb7d9812016bae584a2f53066e15019
Reviewed-on: https://dart-review.googlesource.com/17982
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-01 18:58:35 +00:00
Paul Berry d2e3c54941 Allow arguments of type DartType in error message templates.
Change-Id: Ief2c253dc287cb416f35d03d796383725c2982c3
Reviewed-on: https://dart-review.googlesource.com/17981
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-01 18:53:15 +00:00
Brian Wilkerson f95e1475fc Remove the unused Listener.beginDottedName
Change-Id: I1c5752a9610f21dad62db6655972b4006ce632e9
Reviewed-on: https://dart-review.googlesource.com/17862
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-11-01 18:35:45 +00:00
Konstantin Shcheglov 9350925efe Add InvalidCodeTest with end-to-end cases of problematic invalid code.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I39d26ea0b333ddfa69f281eeba78b04212e95a96
Reviewed-on: https://dart-review.googlesource.com/17960
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-11-01 18:16:25 +00:00
Brian Wilkerson 87a096e992 Remove the unused Listener.beginIdentifierList
Change-Id: I3644aaff3fa7a8a97b9e9bcc83f549f628a1fb71
Reviewed-on: https://dart-review.googlesource.com/17861
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 17:21:05 +00:00
Brian Wilkerson 8d9243b4f9 Fix an assertion to be stronger
Change-Id: Ie7a3fd7206b9b2a6acb8685e887ea53e31b0e4c5
Reviewed-on: https://dart-review.googlesource.com/17860
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 16:47:45 +00:00
Brian Wilkerson dd18ef841b Parser conversion, part 3
Change-Id: Ibe48da9bfa89887fb04a4b958b913fe7c0087cf1
Reviewed-on: https://dart-review.googlesource.com/17600
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-11-01 16:32:45 +00:00
Paul Berry 08b0120186 Begin reporting "invalid assignment" errors.
Change-Id: I1e47acd662032c63e56cb2349b2f349e9825b990
Reviewed-on: https://dart-review.googlesource.com/17680
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-01 16:28:35 +00:00
Martin Kustermann 19ac48da44 [VM] Disable recognized method inlining in CallSiteInliner (after enabling it recently)
It appears like the manual flow graph building code for
MethodRecognizer::kObjectRuntimeType is wrong and was exposed by
enabling it recently.
Change-Id: Ia4be8c4bc7c3342e0cdf1cb8b270dc48b5f2fde4
Reviewed-on: https://dart-review.googlesource.com/17920
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-11-01 16:15:12 +00:00
Martin Kustermann 56050f47fb [VM] Let FlowGraphTypePropagator know that LinkedHashMap.index is kTypedDataUint32ArrayCid
Now that we do eager rehashing of linked hashmaps we no longer have the
index field be `null` (which in the past signaled we needed rehashing).

This means we can teach the optimizer that loads from the index fied
always result in kTypedDataUint32ArrayCid.

Change-Id: Ic012881c12b2310a6337696521fa1355afd4069f
Reviewed-on: https://dart-review.googlesource.com/17447
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-11-01 15:52:14 +00:00
Peter von der Ahé 0023f99019 Changes to runtime patches so Fasta can understand them.
Change-Id: I7f8d6b110f2f0c90b131a2538240c1b81bfa1578
Reviewed-on: https://dart-review.googlesource.com/17162
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-11-01 15:16:04 +00:00
Martin Kustermann bf9dd5342f [VM] Inling recognized methods even without speculation in some cases
Change-Id: I40df1c7f89952463a15fc43f24cd8925047717cf
Reviewed-on: https://dart-review.googlesource.com/17446
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-11-01 15:11:24 +00:00
danrubel 9319716c4f Ensure progress in parseUnit
This adds a check in the top level parseUnit loop to ensure
that parsing has not stalled causing an infinite loop.

Fix https://github.com/dart-lang/sdk/issues/31151

Change-Id: Ief7c12d60bd7e09111f9b1bbefa4a29b9fcf9175
Reviewed-on: https://dart-review.googlesource.com/17460
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-11-01 14:22:40 +00:00
Morten Krogh-Jespersen f18d6e25e9 Revert "Add vm-linux-debug builder to CQ."
This reverts commit 939e295f9a.

Bug:
Change-Id: Iae0d040d00254e85904a5cbd9cb3b889aafcc0d6
Reviewed-on: https://dart-review.googlesource.com/17880
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-11-01 14:17:40 +00:00
Martin Kustermann 8d043ccb89 [VM] Use TryReplaceStaticCallWithInline also in the normal inlining path
Previously we would sometimes build specifically hand-crafted flow graph
code for recognized methods and sometimes let the normal flow graph
builder do it (depending on whether inlining was triggered via
[CallSiteInliner] or [CallSpecializer]).

This CL makes us use the hand-crafted flow graph building for recognized
methods in both cases.

Change-Id: I58405b16adca810fd7ccff32027b9d4a13858976
Reviewed-on: https://dart-review.googlesource.com/17445
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-11-01 13:55:01 +00:00