29 Commits

Author SHA1 Message Date
Ian Hickson
f3f005c457
Analysis cleanup of the Dart in the Engine repo (#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
6de9931c36 Train frontend_server snapshot (#4560)
Reland 86430be68a8294fa6ef3002ee5aba27a50ce3ca6 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
e3be1b3d4e
Revert "Train frontend_server snapshot (#4512)" (#4556)
This reverts commit 86430be68a8294fa6ef3002ee5aba27a50ce3ca6 as it
breaks Windows engine buildbot.
2018-01-16 10:05:00 -08:00
jensjoha
86430be68a Train frontend_server snapshot (#4512)
Cuts 30% from hot-reload benchmarks with `--preview-dart-2`
2018-01-15 15:59:57 +01:00
Siva
0f0b144b03
Add support for --strong option in the engine, create a strong mode version of the platform file (#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
e1162b1b9b
Revert "Revert "Fix filename handling for Windows. (#4482)" (#4484)" (#4506)
* Revert "Revert "Fix filename handling for Windows. (#4482)" (#4484)"

This reverts commit 929e5b3900e2aab0c0f05889fd44b3a9525e846a.

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
929e5b3900
Revert "Fix filename handling for Windows. (#4482)" (#4484)
This reverts commit 1fb585810faacccf81d4aa4e5392c31e1593e031.

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
1fb585810f
Fix filename handling for Windows. (#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
e0d19e2897 Fix frontend_server error reporting. (#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
3e84bf01c2
Front-end server: use VM-specific package:vm/kernel_front_end (#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
b62785f00d
Roll dart to 48a927acb2dc4178691b4ddfa817e87043e30b01 (#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
229e474517
Run frontend server from temp directory to force absolute URIs in Kernel file. (#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
fbd384329b
Turn off smart minimal IKG compilation (#4383) 2017-11-21 16:09:41 -08:00
Martin Kustermann
a5ab58352e
Make frontend_server depend on dart/pkg/* files (#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
59f7f5038d Roll dart to pick up fix for diagnostic server (#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
6fcb45991d Move //dart to //third_party/dart. (#4245) 2017-10-19 01:20:38 -07:00
Alexander Aprelev
974e68a1bf Make sure we await for the file writing to complete before reporting that compilation is done. (#4210) 2017-10-12 13:39:19 -07:00
Alexander Aprelev
11cac67ff9 Add an option to link platform.dill into app kernel file (#4204) 2017-10-12 10:11:47 -07:00
Alexander Aprelev
f737d49ca2 Add an option to specify file byte store location (#4201) 2017-10-11 17:33:22 -07:00
Alexander Aprelev
74e58f66d4 Add reset method to reset incremental compiler. (#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
0dba2fe78d Roll Dart to 9ee73fe322ce3875a6b1f16ba16d64b11c680e90 (#4176)
* Switch from FlutterFastaTarget to FlutterTarget as FlutterFastaTarget was removed.
2017-10-04 16:28:30 -07:00
Alexander Aprelev
dd65308ce4 Switch from FlutterTarget to FlutterFastaTarget (#4169) 2017-10-03 13:57:18 -07:00
Alexander Aprelev
0f79a0cc1a Capture all aspects of messages from compiler (#4118)
* Capture all aspects of messages from compiler

* Make static
2017-09-15 16:04:58 -07:00
Alexander Aprelev
be87a63f2d Use MemoryByteStore for incremental compilation (#4077) 2017-09-08 13:06:34 -07:00
Alexander Aprelev
5aabbe131a Return generated kernel filename on incremental compilation results. (#4069) 2017-09-06 15:13:25 -07:00
Alexander Aprelev
c2f762606f Use BinaryPrinter instead of KernelSerializer to accommodate IKG (#4058)
* Use BinaryPrinter instead of KernelSerializer to accomodate IKG

* Close sink opened with openWrite
2017-09-05 10:14:59 -07:00
Alexander Aprelev
364bfa0e6a Fix frontend_server problem with _filename not being set in compile. (#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
Alexander Aprelev
c4ac5fe97a Missed one feedback item from https://github.com/flutter/engine/pull/3982 (#3996) 2017-08-21 17:41:16 -07:00
Alexander Aprelev
fe0e123b12 Introduce frontend_server that flutter tools will use for compilation. (#3982)
* Introduce frontend_server that allows for interactive and batch modes.

Example of batch mode:
```
$ dart $HOME/p/f/t11/flutter/engine/src/flutter/frontend_server/bin/server.dart --sdk-root=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk --platform-kernel-dill=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk/platform.dill $HOME/p/f/t11/flutter/flutter/examples/flutter_gallery/lib/main.dart

out: result 79256789-598c-4909-a9e4-0ef36d4c26ba
out: 'State&TickerProviderStateMixin^#U0^' is exported from both 'package:flutter/src/widgets/animated_cross_fade.dart' and 'package:flutter/src/widgets/animated_list.dart'.
...
out: Superclass has no method named 'hitTest'.
out: 79256789-598c-4909-a9e4-0ef36d4c26ba $HOME/p/f/t11/flutter/flutter/examples/flutter_gallery/lib/main.dart.dill
$
```

Example of interactive mode - communication via stdin/stdout:
```
$ dart $HOME/p/f/t11/flutter/engine/src/flutter/frontend_server/bin/server.dart --sdk-root=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk --platform-kernel-dill=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk/platform.dill --incremental

out: Frontend server is ready.
in: compile abc.dart
out: result fd99c0f9-12bb-4083-818e-2521d454fdc8
out: fd99c0f9-12bb-4083-818e-2521d454fdc8 abc.dart.dill
in: accept
in: recompile kuka
in: 123.dart
in: 456.dart
in: kuka
out: result d12f8d05-6c79-44f7-a775-1d3469e1be53
in: quit
$
```

* Add test. Cleanup dependencies.

* One more test with mocks

* Remove platform-kernel option. Refactored CompilerOptions. Clean up comments.

* Update license

* Use Uri.base.resolve consistently. Ensure folder path for sdk root. Fix test.

* Fix main_dart for frontend_server build target

* Reintroduce .packages file, add README.md, revert changes to licenses_flutter

* Run analyzer on frontend-server. Update .packages deps so tests can be run too.

* Add analyzer options file

* Clean up dependencies

* Add frontend_server files to license file back

* Fix comment in analysis_options.yaml

* Run frontend_server tests in travis

* Update licenses

* Change a+x permission on travis/test.sh

* pub get before pub run test

* Fix path to when

* Clarify accept/reject instructions

* Formatting, fixed docs, style

* Update license script to skip .travis.yml, when/example. Update license file.

* Update style nits

* Fix license

* Trim license extracted text. Fix licenses

* Update licenses_third_party signature

* Few more tests

* Update dart license

* Update dart license

* Style changes. Fix return value for Future<Null>
2017-08-21 12:55:17 -07:00