52 Commits

Author SHA1 Message Date
Siva
80a6a46fb4 Roll Dart to version fe606f890b0a311da802c78b0af414a3c2087a79 (flutter/engine#5033)
fe606f890b Revert [vm/compiler] Canonicalize more intermediate constants in IL.
54531ad4e7 Bring in the latest pub_semver
61b15fede8 [build] Remove unnecessary inputs from uses of application_snapshot.
9968728df1 Remove package:cli_util deps from package:analyzer.
0ca8b6e5be Improve recovery when "assert" is used in an expression
6de5da1f58 fix #32649, add an option to disable asserts in DDC/K
afbaf0c4a6 Add 'Extract Widget' to getAvailableRefactorings().
d4a1896cfb Demote IMPORT_DUPLICATED_LIBRARY_NAMED to a warning
f85480b4dd Add tests for CFE implementation of expression compilation.
a865531f57 Remove two unused classes from the public API
3b7199fe63 [standalone] Only allow one outstanding load when running with --deterministic.
35fecb4a10 Issue 32896. Add isXYZ accessors to ParameterElementForLink_VariableSetter.
8df94f34fd Improve fasta parser await-for statement recovery
dd897d35a2 Move the task API out of the public API
c32e0e4bf3 [vm] Clear trailing bytes of objects that end up in snapshot images.
3a5fcf5a87 Upgrade the dep on package:isolate.
973a1a0219 Remove uses of upper-case constants in remaining SDK code.
b3595d59b3 [VM] Revert small change in FlowGraphCompiler::EmitTestAndCallCheckCid
0cbd4b520a Address review comments from change 51120
5dd283e783 fix #32270, DDC tests can now work with preview-dart-2
ce2b0db370 Improve fasta parser "assert" recovery
f8f5365a94 [vm/compiler] Fix sorting of instructions stats.
30655dcea0 [vm/aot] Treat Endian.host as a compile time constant.
eeaea82b75 Update status on test that often times out
805c08d8bf Fix a run-time type issue when running in Dart 2 mode
b1bc4ed2b5 Handle as in nested const constructors
823dfda5a5 Delete serialization, except for equivalence and helpers used in other tests.
7383cd46e0 Fix for issue 32872
86ba29265a Clean up the use of deprecated API in the analyzer_plugin package
fbb60b786f Add generic bounds test to function_type_variable_test
fd5f998796 [vm] Delta-encode offsets into ROData.
6fe7a86e7f Replace SourceFactory.resolveUri() with resolveRelativeUri() in resynthesizer.
2fb94418cd Mark mirrors test crashing.
c2b338f1b7 Remove fuzzy arrow support from analyzer
9976cddcd7 Shared cache of FileState contents.
b52931ff30 Revert "[vm/kernel] Fix non-canoncialized type arguments in partial instantiation."
c214c43758 Make LineInfo a public class
bd12c869ae [vm/kernel] Fix non-canoncialized type arguments in partial instantiation.
51a2f96a71 Always call writeAnnotationList to write annotations.
974a8ee21d Fix crash in named function expression
988de9c925 Thread forest object through calls
51f9d243e7 [VM] Mark type as finalized before calling the Canonicalize() method
a8578eaf69 Clean up some imports in Fasta type inference
e9616da13e Cleanup TypeInfo
3b414a277c Reland "[VM] Introduction of type testing stubs - Part 1-4"
c5f69dff2d Include `call` on Closure in inference
826928e2ab Use _trust to test inference of --omit-implicit-checks
6802746ad7 Fixed a couple of typos in subtyping.md
782cfe04d1 fix #32756, DDC dynamic calls to generics will work with emit-metadata
8613938e33 fix DDK to track mock setters correctly.
92f1d0fab4 [gn] Allow single or double quotes in .config
e2ee654cd1 Make a method in MempryResourceProvider private
b0fafbd1f4 Clean up js_runtime parse/tryParse methods
5e1cb4d41b Make SourceRange part of analyzers public API
1ab4cee181 Add a benchmark for running flutter analyze --flutter-repo against flutter head.
ff24a5ee6b fasta: make strong-mode inference aware of the type of LoadLibrary and CheckLibraryIsLoaded
6d7df88fa3 Delay computing file name sets until they are requested.
b7cc1e7ce7 Fix stack overflow in RTI computation
6db4ea4ca5 [vm] Use unsigned varints when possible in the clustered snapshot.
2018-04-18 11:07:56 +02:00
Todd Volkert
dd9b7675de Revert "Roll Dart to fe606f890b0a311da802c78b0af414a3c2087a79" (flutter/engine#5023)
This reverts commit 2983a1b6130a10aadb0f64a6ff411890a794c92f.
2018-04-16 21:50:11 -07:00
Régis Crelier
2983a1b613 Roll Dart to fe606f890b0a311da802c78b0af414a3c2087a79 (flutter/engine#5020) 2018-04-16 17:25:39 -07:00
Alexander Aprelev
00424d36f7 Perform exit from server, not starter as awaiting from starter causes hanging in incremental compilation scenario. (flutter/engine#4955) 2018-04-09 14:34:46 -07:00
Alexander Aprelev
0f5bffce62 Return non-zero exit code when frontend reports errors. (flutter/engine#4952) 2018-04-09 13:06:59 -07:00
Alexander Aprelev
8dc44e0d70 Leave only widget creation tracker kernel pass in flutter frontend server. (flutter/engine#4727)
* Leave only widget creation tracker kernel pass in flutter frontend server.

This is follow-up to https://dart-review.googlesource.com/c/sdk/+/43888.

* Adapt to updated interface

* Tyop

* Fix imports. Compiler interface extension

* Add trivial test back. Rename library to flutter_frontend_server.
2018-03-02 07:52:19 -08:00
Alexander Markov
8bd1d0d50e Move generated entry points JSON out of flutter_patched_sdk, add an option to pass entry points to frontend_server (flutter/engine#4734)
Flutter downloads only one version of flutter_patched_sdk, which was obtained from host_debug build on Linux. Generated entry points JSON files are different in profile and release builds (as release build omits observatory), so these files should be downloaded independently of flutter_patched_sdk.

This PR moves generated entry points JSON files from flutter_patched_sdk to a separate directory (out/*/dart_entry_points) and adds an option to specify entry points to frontend_server (as Flutter tools will need to pass custom locations of entry points files outside of flutter_patched_sdk).
2018-03-01 14:02:35 -08:00
jensjoha
ae33eb844f Specify sdkSummary when compiling via frontend server (flutter/engine#4733)
Without specifying sdkSummary it defaults to vm_outline.dill which is not what we want if using mixins from the sdk.
2018-03-01 11:32:08 +01:00
Alexander Markov
446118c542 Prepare to enable global type flow analysis in AOT (flutter/engine#4725)
* Generate Flutter-specific entry points JSON file while building engine.
* Add ''--tfa' option to front-end server.
* Rename _entryPoint field in front-end server to _mainSource to avoid disambiguation.
2018-02-28 15:31:52 -08:00
Alexander Aprelev
91babc8e83 Fix analyzer warning. (flutter/engine#4715)
* Fix analyzer warning.

  warning • This function declares a return type of 'Future<void>', but doesn't end with a return statement at flutter/frontend_server/lib/server.dart:340:1 • missing_return

* Remove await

* Ignore warning.
2018-02-26 10:56:51 -08:00
Alexander Aprelev
a9798b413c Add an option '--depfile' to produce ninja-style depfile for the generated kernel. (flutter/engine#4704)
* Add an option '--depfile' to produce ninja-style depfile for the generated kernel file.

* Use [program.uriToSource] as a source of dependencies.
2018-02-26 08:55:20 -08:00
Alexander Aprelev
294daddbf1 Add option for recompile request to switch to new main file(entrypoint). (flutter/engine#4703)
* Add option for recompile request to switch to new main file(entrypoint).

This is needed to reuse incremental compiler to compile unrelated programs. First use case is reuse single
incremental compiler for all tests run by 'flutter test'

* Remove left over print
2018-02-22 23:08:54 -08:00
Alexander Aprelev
9742ed5cb6 Write artifacts produced during frontend_server training into temp folder. (flutter/engine#4687)
* Write artifacts produced during frontend_server training into temp folder.

* Write artifacts produced during frontend_server training into temp folder.

* Fix File/String mixup

* Remove temp directory. Use full prefix for package

* Delete in finally {}
2018-02-18 14:48:55 -08:00
Alexander Aprelev
c5feb1bb10 Remove workaround for handling of relative paths (flutter/engine#4673) 2018-02-13 18:46:00 -08:00
Alexander Aprelev
c69188ad9f Add output path option (flutter/engine#4663) 2018-02-13 14:00:34 -08:00
Jacob Richman
a98c9a16a6 Track widget creation locations. (flutter/engine#4529)
* Track widget creation locations.
2018-02-13 12:33:23 -08:00
Alexander Aprelev
69c776b209 Switch to accept/reject-friendly incremental compiler (flutter/engine#4601)
* Switch to accept/reject-friendly incremental compiler

* Merge
2018-02-13 06:58:04 -08:00
Alexander Markov
1aac5e6ed4 Roll Dart to 223eeb2ebe112aaaddca206aab55cd54b4e54391 (flutter/engine#4659)
* Roll Dart to 223eeb2ebe112aaaddca206aab55cd54b4e54391
* Update licenses
* Make analyzer happy, fix test for change in mockito
2018-02-12 14:47:18 -08:00
Alexander Aprelev
d8718d5feb Use Uri.file expecting filepath (flutter/engine#4646) 2018-02-07 15:24:44 -08:00
jensjoha
b7a3eb583d Let frontend_server bootstrap the incremental compiler from a previou… (flutter/engine#4642)
* Let frontend_server bootstrap the incremental compiler from a previously build dill file

* Wrap 'invalidateIfBootstrapping' in try and don't bootstrap if getting an exception
2018-02-07 14:03:05 -08:00
Alexander Aprelev
b4425bcd06 Fix default value for 'packages' option to be null (flutter/engine#4570) 2018-01-18 17:12:29 -08:00
Alexander Aprelev
a8e9231915 Accommodate flutter test --preview-dart-2 on windows and linux (flutter/engine#4564)
* Support .packages option in frontend_server, bundle_path in main_mac.

This is needed to be able to run  in  mode.

* Remove byte store tests

* Remove unused import

* Fix formatting

* Enable flutter test argument passing on win and linux.

* Fix formatting
2018-01-18 16:05:19 -08:00
Siva Chandra
f8600043cc Roll Dart to 93d8c9fe2a2c22dc95ec85866af108cfab71ad06. (flutter/engine#4558)
* Roll Dart to 93d8c9fe2a2c22dc95ec85866af108cfab71ad06.

* Fix analyzer nits

* Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get

* Pin dart to dev.16 to overcome pub issue

* Revert "Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get"

This reverts commit d525a83f4494a511996226d328a5208d4651d46e as it is no
longer needed, was added to diagnose the problem, which turned out to be
a problem with pub in latest dart dev release.

* Fix license hash

* Reintroduce api methods and tests
2018-01-18 12:35:09 -08:00
Ian Hickson
28564ac5f9 Analysis cleanup of the Dart in the Engine repo (flutter/engine#4554)
* Analysis cleanup of the Dart in the Engine repo

* Update painting.dart

* Update painting.dart
2018-01-17 09:48:56 -08:00
jensjoha
54fdc2f5ae Train frontend_server snapshot (flutter/engine#4560)
Reland d7e7abbcc2dfac04861e257a35d5e6314f27e182 with a fix for Windows build

Cuts 30% from hot-reload benchmarks with `--preview-dart-2`
2018-01-17 10:33:10 +01:00
Alexander Aprelev
c03cd3798d Revert "Train frontend_server snapshot (#4512)" (flutter/engine#4556)
This reverts commit d7e7abbcc2dfac04861e257a35d5e6314f27e182 as it
breaks Windows engine buildbot.
2018-01-16 10:05:00 -08:00
jensjoha
d7e7abbcc2 Train frontend_server snapshot (flutter/engine#4512)
Cuts 30% from hot-reload benchmarks with `--preview-dart-2`
2018-01-15 15:59:57 +01:00
Siva
04d910f0b1 Add support for --strong option in the engine, create a strong mode version of the platform file (flutter/engine#4504)
* Add a --strong option to the front end server so we can use strong mode with preview-dart-2.

* Plumb the --strong option through the dart controller into the VM.

* - Build a strong version of platform.dill for use with the engine.
- Fix a strong mode static error in the assert statement

* Enable asserts when running debug version even in strong mode.

* Use the correct platform dill file for linking when doing the aot builds.

* Fix formatting issue.
2018-01-03 16:52:24 -08:00
Alexander Aprelev
12e9e426fa Revert "Revert "Fix filename handling for Windows. (#4482)" (#4484)" (flutter/engine#4506)
* Revert "Revert "Fix filename handling for Windows. (#4482)" (#4484)"

This reverts commit fc9dac8435bc01141c549436262139ad7cee8c93.

Reverting now since issue with
gen_snapshot(as described in https://github.com/flutter/flutter/issues/13708) was fixed.

* resolve->resolveUri, drop underscores

* Fix underscore
2018-01-03 09:43:35 -08:00
Alexander Aprelev
fc9dac8435 Revert "Fix filename handling for Windows. (#4482)" (flutter/engine#4484)
This reverts commit d65485dd0e61dc3a21920e0132bb37b8da37720c.

This change is not sufficient as it exposes problem with kernel-based
gen_snapshot on Windows and results in Flutter test failures.
2017-12-20 22:55:27 -08:00
Alexander Aprelev
d65485dd0e Fix filename handling for Windows. (flutter/engine#4482)
* Fix filename handling for Windows.

Bug: https://github.com/flutter/flutter/issues/13708

* Fix tyop

* Add final to make analyzer happy
2017-12-20 16:40:18 -08:00
Vyacheslav Egorov
88e1e258a7 Fix frontend_server error reporting. (flutter/engine#4461)
* Do not use CompilerOptions.onError to report errors.

CompilerMessage does not carry correct SourceSpan
which makes errors unreadable: they all point to
line 1 column XYZ.

* Run dartfmt on frontend_server/lib/server.dart.

* Fix linting issues for frontend_server
2017-12-14 16:26:53 +01:00
Alexander Markov
e7d9371831 Front-end server: use VM-specific package:vm/kernel_front_end (flutter/engine#4412)
* Use the VM-specific wrapper for the kernel front-end to support VM-specific kernel transformations.
* Also, pass a flag to distinguish AOT mode from JIT mode to enable whole-program optimizations.
2017-12-02 17:37:32 -08:00
Alexander Aprelev
e05c8cc2d8 Roll dart to 48a927acb2dc4178691b4ddfa817e87043e30b01 (flutter/engine#4409)
* Roll dart to f5fc335a4cdfcf96ae550044c64044ffe599e595

* Update license hash

* Roll a little further to pick up a revert

* Update hash
2017-12-01 11:13:31 -08:00
Alexander Aprelev
35acd03c15 Run frontend server from temp directory to force absolute URIs in Kernel file. (flutter/engine#4394)
* Run frontend server from temp directory to force absolute URIs in Kernel file.

* Create special directory to cwd into to avoid conflicts with app sources in temp folder

* Make variable final
2017-11-28 13:58:51 -08:00
Alexander Aprelev
eca8948a88 Turn off smart minimal IKG compilation (flutter/engine#4383) 2017-11-21 16:09:41 -08:00
Martin Kustermann
84bad5cf45 Make frontend_server depend on dart/pkg/* files (flutter/engine#4369)
It speeds up local development workflow when doing changes to the front end
when ninja automatically rebuilds the frontend_server.dart.snapshot.
2017-11-16 15:34:23 +01:00
Alexander Aprelev
20493aaa5e Roll dart to pick up fix for diagnostic server (flutter/engine#4266)
* Roll dart to pick up fix for diagnostic server

* Fix runUnaryGuarded, runBinaryGuarded calls

* Revert changes to runUnaryGuarded, runBinaryGuarded as they seem to be local-only, perhaps dependent on version of analyzer

* Update third_party license hash. No changes to licenses
2017-10-23 16:02:24 -07:00
P.Y. Laligand
0768d0714e Move //dart to //third_party/dart. (flutter/engine#4245) 2017-10-19 01:20:38 -07:00
Alexander Aprelev
dcdf709491 Make sure we await for the file writing to complete before reporting that compilation is done. (flutter/engine#4210) 2017-10-12 13:39:19 -07:00
Alexander Aprelev
df45191b54 Add an option to link platform.dill into app kernel file (flutter/engine#4204) 2017-10-12 10:11:47 -07:00
Alexander Aprelev
cf981ae074 Add an option to specify file byte store location (flutter/engine#4201) 2017-10-11 17:33:22 -07:00
Alexander Aprelev
d73c211831 Add reset method to reset incremental compiler. (flutter/engine#4187)
* Add reset method to reset incremental compiler.

This is needed to support Flutter app restart request.

* Indent constructor calls
2017-10-09 14:58:27 -07:00
Alexander Markov
2b0120bc36 Roll Dart to 9ee73fe322ce3875a6b1f16ba16d64b11c680e90 (flutter/engine#4176)
* Switch from FlutterFastaTarget to FlutterTarget as FlutterFastaTarget was removed.
2017-10-04 16:28:30 -07:00
Alexander Aprelev
6b506e5dd2 Switch from FlutterTarget to FlutterFastaTarget (flutter/engine#4169) 2017-10-03 13:57:18 -07:00
Alexander Aprelev
a87bbccccd Capture all aspects of messages from compiler (flutter/engine#4118)
* Capture all aspects of messages from compiler

* Make static
2017-09-15 16:04:58 -07:00
Alexander Aprelev
93c9eb30ef Use MemoryByteStore for incremental compilation (flutter/engine#4077) 2017-09-08 13:06:34 -07:00
Alexander Aprelev
4009e524e8 Return generated kernel filename on incremental compilation results. (flutter/engine#4069) 2017-09-06 15:13:25 -07:00
Alexander Aprelev
93713ea712 Use BinaryPrinter instead of KernelSerializer to accommodate IKG (flutter/engine#4058)
* Use BinaryPrinter instead of KernelSerializer to accomodate IKG

* Close sink opened with openWrite
2017-09-05 10:14:59 -07:00
Alexander Aprelev
cf23a4d599 Fix frontend_server problem with _filename not being set in compile. (flutter/engine#3998)
* Fix problem with _filename not being set. Add tests for that(and add mockito to mock IKG).

* Initialize KernelSerializer, Fix indentation

* Style nits and reworded comment
2017-08-22 11:19:24 -07:00