diff --git a/frontend_server/.packages b/frontend_server/.packages index eaa65353212fa321ba04afb0e77c035952050ee7..d75e7e56bf45d2c77fbe8959d245e87158a93c95 100644 --- a/frontend_server/.packages +++ b/frontend_server/.packages @@ -44,6 +44,7 @@ test:../../third_party/dart/third_party/pkg/test/lib/ typed_data:../../third_party/dart/third_party/pkg/typed_data/lib/ usage:../../third_party/dart/third_party/pkg/usage/lib/ utf:../../third_party/dart/third_party/pkg/utf/lib/ +vm:../../third_party/dart/pkg/vm/lib/ watcher:../../third_party/dart/third_party/pkg/watcher/lib/ web_socket_channel:../../third_party/dart/third_party/pkg/web_socket_channel/lib/ when:../../third_party/pkg/when/lib/ diff --git a/frontend_server/lib/server.dart b/frontend_server/lib/server.dart index d222a0893a88221bac859691be0e9ead929534af..8b7adee526fb6777e1929ba41ef0958b67de771f 100644 --- a/frontend_server/lib/server.dart +++ b/frontend_server/lib/server.dart @@ -16,13 +16,13 @@ import 'package:front_end/src/api_prototype/compilation_message.dart'; import 'package:front_end/src/api_prototype/byte_store.dart'; import 'package:front_end/src/api_prototype/compiler_options.dart'; import 'package:front_end/src/api_prototype/incremental_kernel_generator.dart'; -import 'package:front_end/src/api_prototype/kernel_generator.dart'; import 'package:kernel/ast.dart'; import 'package:kernel/binary/ast_to_binary.dart'; import 'package:kernel/binary/limited_ast_to_binary.dart'; import 'package:kernel/target/flutter.dart'; import 'package:kernel/target/targets.dart'; import 'package:usage/uuid/uuid.dart'; +import 'package:vm/kernel_front_end.dart' show compileToKernel; ArgParser _argParser = new ArgParser(allowTrailingOptions: true) ..addFlag('train', @@ -37,6 +37,9 @@ ArgParser _argParser = new ArgParser(allowTrailingOptions: true) help: 'Path to file byte store used to keep incremental compiler state.' ' If omitted, then memory byte store is used.', defaultsTo: null) + ..addFlag('aot', + help: 'Run compiler in AOT mode (enables whole-program transformations)', + defaultsTo: false) ..addFlag('link-platform', help: 'When in batch mode, link platform kernel file into result kernel file.' ' Intended use is to satisfy different loading strategies implemented' @@ -177,7 +180,9 @@ class _FrontendCompiler implements CompilerInterface { sdkRoot.resolve('platform.dill') ]; } - program = await kernelForProgram(Uri.base.resolve(_filename), compilerOptions); + program = await compileToKernel( + Uri.base.resolve(_filename), compilerOptions, + aot: options['aot']); } if (program != null) { final IOSink sink = new File(_kernelBinaryFilename).openWrite(); diff --git a/frontend_server/pubspec.yaml b/frontend_server/pubspec.yaml index 49acf2fb76ad8d1e00ff0721340214de17563213..70f15896ec237d37d3c2a3c600a6a15c219b4c84 100644 --- a/frontend_server/pubspec.yaml +++ b/frontend_server/pubspec.yaml @@ -21,6 +21,7 @@ dependencies: source_span: any typed_data: any usage: any + vm: any dev_dependencies: analyzer: any @@ -90,6 +91,8 @@ dependency_overrides: path: ../../third_party/dart/third_party/pkg/typed_data usage: path: ../../third_party/dart/third_party/pkg/usage + vm: + path: ../../third_party/dart/pkg/vm/ analyzer: path: ../../third_party/dart/pkg/analyzer