23 Commits

Author SHA1 Message Date
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
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
Alexander Aprelev
e859ef3093 Missed one feedback item from https://github.com/flutter/engine/pull/3982 (flutter/engine#3996) 2017-08-21 17:41:16 -07:00
Alexander Aprelev
c5c4abaeff Introduce frontend_server that flutter tools will use for compilation. (flutter/engine#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