| Index: tools/testing/dart/compiler_configuration.dart
|
| diff --git a/tools/testing/dart/compiler_configuration.dart b/tools/testing/dart/compiler_configuration.dart
|
| index 147cd993445f5759207f32ad6fd3056807b2e243..4f7ed75a96ca8d041f32afa43734f980d93accb5 100644
|
| --- a/tools/testing/dart/compiler_configuration.dart
|
| +++ b/tools/testing/dart/compiler_configuration.dart
|
| @@ -4,7 +4,7 @@
|
|
|
| library compiler_configuration;
|
|
|
| -import 'dart:io' show Platform;
|
| +import 'dart:io' show Directory, Platform;
|
|
|
| import 'runtime_configuration.dart' show RuntimeConfiguration;
|
|
|
| @@ -47,6 +47,7 @@ abstract class CompilerConfiguration {
|
| // which can eventually completely replace the Map-based configuration
|
| // object.
|
| bool isDebug = configuration['mode'] == 'debug';
|
| + bool isProduct = configuration['mode'] == 'product';
|
| bool isChecked = configuration['checked'];
|
| bool isHostChecked = configuration['host_checked'];
|
| bool useSdk = configuration['use_sdk'];
|
| @@ -77,6 +78,7 @@ abstract class CompilerConfiguration {
|
| return new PrecompilerCompilerConfiguration(
|
| isDebug: isDebug,
|
| isChecked: isChecked,
|
| + isProduct: isProduct,
|
| arch: configuration['arch']);
|
| case 'none':
|
| return new NoneCompilerConfiguration(
|
| @@ -299,9 +301,12 @@ class Dart2jsCompilerConfiguration extends Dart2xCompilerConfiguration {
|
|
|
| class PrecompilerCompilerConfiguration extends CompilerConfiguration {
|
| final String arch;
|
| + final bool isProduct;
|
|
|
| - PrecompilerCompilerConfiguration({bool isDebug, bool isChecked, String arch})
|
| + PrecompilerCompilerConfiguration(
|
| + {bool isDebug, bool isChecked, bool isProduct, String arch})
|
| : super._subclass(isDebug: isDebug, isChecked: isChecked),
|
| + isProduct = isProduct,
|
| arch = arch;
|
|
|
| int computeTimeoutMultiplier() {
|
| @@ -333,9 +338,25 @@ class PrecompilerCompilerConfiguration extends CompilerConfiguration {
|
| CommandBuilder commandBuilder,
|
| List arguments,
|
| Map<String, String> environmentOverrides) {
|
| - var exec = "$buildDir/dart_bootstrap";
|
| + var sourceDir = Directory.current.path;
|
| + var exec = "$buildDir/gen_snapshot";
|
| var args = new List();
|
| - args.add("--gen-precompiled-snapshot=$tempDir");
|
| +
|
| + var precompiledVMIsolate = "$tempDir/precompiled.vmisolate";
|
| + var precompiledIsolate = "$tempDir/precompiled.isolate";
|
| + var precompiledInstructions = "$tempDir/precompiled.S";
|
| + var dartProductEntries = "$sourceDir/runtime/bin/dart_product_entries.txt";
|
| + var dartEntries = "$sourceDir/runtime/bin/dart_entries.txt";
|
| + var vmServiceIoMain = "$sourceDir/runtime/bin/vmservice/vmservice_io.dart";
|
| +
|
| + args.add("--embedder_entry_points_manifest=$dartProductEntries");
|
| + if (!isProduct) {
|
| + args.add("--embedder_entry_points_manifest=$dartEntries");
|
| + }
|
| + args.add("--vm_isolate_snapshot=$precompiledVMIsolate");
|
| + args.add("--isolate_snapshot=$precompiledIsolate");
|
| + args.add("--instructions_snapshot=$precompiledInstructions");
|
| + args.add("--url_mapping=dart:vmservice_io,$vmServiceIoMain");
|
| args.addAll(arguments);
|
|
|
| return commandBuilder.getCompilationCommand('precompiler', tempDir, !useSdk,
|
|
|