| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library compiler_configuration; | 5 library compiler_configuration; |
| 6 | 6 |
| 7 import 'dart:io' show Platform; | 7 import 'dart:io' show Platform; |
| 8 | 8 |
| 9 import 'runtime_configuration.dart' show RuntimeConfiguration; | 9 import 'runtime_configuration.dart' show RuntimeConfiguration; |
| 10 import 'runtime_configuration.dart' show DartPrecompiledAdbRuntimeConfiguration; | 10 import 'runtime_configuration.dart' show DartPrecompiledAdbRuntimeConfiguration; |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 bool useSdk = configuration['use_sdk']; | 63 bool useSdk = configuration['use_sdk']; |
| 64 bool isCsp = configuration['csp']; | 64 bool isCsp = configuration['csp']; |
| 65 bool useCps = configuration['cps_ir']; | 65 bool useCps = configuration['cps_ir']; |
| 66 bool useBlobs = configuration['use_blobs']; | 66 bool useBlobs = configuration['use_blobs']; |
| 67 bool hotReload = configuration['hot_reload']; | 67 bool hotReload = configuration['hot_reload']; |
| 68 bool hotReloadRollback = configuration['hot_reload_rollback']; | 68 bool hotReloadRollback = configuration['hot_reload_rollback']; |
| 69 bool useFastStartup = configuration['fast_startup']; | 69 bool useFastStartup = configuration['fast_startup']; |
| 70 bool useKernelInDart2js = configuration['dart2js_with_kernel']; | 70 bool useKernelInDart2js = configuration['dart2js_with_kernel']; |
| 71 bool verifyKernel = configuration['verify-ir']; | 71 bool verifyKernel = configuration['verify-ir']; |
| 72 bool useDFE = !configuration['noDFE']; | 72 bool useDFE = !configuration['noDFE']; |
| 73 bool useFasta = configuration['useFasta']; | 73 bool useFasta = !configuration['noUseFasta']; |
| 74 bool treeShake = !configuration['no-tree-shake']; | 74 bool treeShake = !configuration['no-tree-shake']; |
| 75 | 75 |
| 76 switch (compiler) { | 76 switch (compiler) { |
| 77 case 'dart2analyzer': | 77 case 'dart2analyzer': |
| 78 return new AnalyzerCompilerConfiguration( | 78 return new AnalyzerCompilerConfiguration( |
| 79 isDebug: isDebug, | 79 isDebug: isDebug, |
| 80 isChecked: isChecked, | 80 isChecked: isChecked, |
| 81 isStrong: isStrong, | 81 isStrong: isStrong, |
| 82 isHostChecked: isHostChecked, | 82 isHostChecked: isHostChecked, |
| 83 useSdk: useSdk); | 83 useSdk: useSdk); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 return new NoneCompilerConfiguration( | 117 return new NoneCompilerConfiguration( |
| 118 isDebug: isDebug, | 118 isDebug: isDebug, |
| 119 isChecked: isChecked, | 119 isChecked: isChecked, |
| 120 isHostChecked: isHostChecked, | 120 isHostChecked: isHostChecked, |
| 121 useSdk: useSdk, | 121 useSdk: useSdk, |
| 122 hotReload: hotReload, | 122 hotReload: hotReload, |
| 123 hotReloadRollback: hotReloadRollback, | 123 hotReloadRollback: hotReloadRollback, |
| 124 dfeMode: useFasta ? DFEMode.Fasta : DFEMode.DartK); | 124 dfeMode: useFasta ? DFEMode.Fasta : DFEMode.DartK); |
| 125 | 125 |
| 126 case 'dartkp': | 126 case 'dartkp': |
| 127 return ComposedCompilerConfiguration.createDartKPConfiguration( | 127 if (!useDFE) { |
| 128 return ComposedCompilerConfiguration.createDartKPConfiguration( |
| 129 isChecked: isChecked, |
| 130 isHostChecked: isHostChecked, |
| 131 arch: configuration['arch'], |
| 132 useBlobs: useBlobs, |
| 133 isAndroid: configuration['system'] == 'android', |
| 134 useSdk: useSdk, |
| 135 verify: verifyKernel, |
| 136 strong: isStrong, |
| 137 treeShake: treeShake); |
| 138 } |
| 139 return new PrecompilerCompilerConfiguration( |
| 140 isDebug: isDebug, |
| 128 isChecked: isChecked, | 141 isChecked: isChecked, |
| 129 isHostChecked: isHostChecked, | |
| 130 arch: configuration['arch'], | 142 arch: configuration['arch'], |
| 131 useBlobs: useBlobs, | 143 useBlobs: useBlobs, |
| 132 isAndroid: configuration['system'] == 'android', | 144 isAndroid: configuration['system'] == 'android', |
| 133 useSdk: useSdk, | 145 dfeMode: useFasta ? DFEMode.Fasta : DFEMode.DartK); |
| 134 verify: verifyKernel, | 146 |
| 135 strong: isStrong, | |
| 136 treeShake: treeShake); | |
| 137 case 'none': | 147 case 'none': |
| 138 return new NoneCompilerConfiguration( | 148 return new NoneCompilerConfiguration( |
| 139 isDebug: isDebug, | 149 isDebug: isDebug, |
| 140 isChecked: isChecked, | 150 isChecked: isChecked, |
| 141 isHostChecked: isHostChecked, | 151 isHostChecked: isHostChecked, |
| 142 useSdk: useSdk, | 152 useSdk: useSdk, |
| 143 hotReload: hotReload, | 153 hotReload: hotReload, |
| 144 hotReloadRollback: hotReloadRollback); | 154 hotReloadRollback: hotReloadRollback); |
| 145 default: | 155 default: |
| 146 throw "Unknown compiler '$compiler'"; | 156 throw "Unknown compiler '$compiler'"; |
| (...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 596 Uri preambleDir = sdk.resolve('lib/_internal/js_runtime/lib/preambles/'); | 606 Uri preambleDir = sdk.resolve('lib/_internal/js_runtime/lib/preambles/'); |
| 597 return runtimeConfiguration.dart2jsPreambles(preambleDir) | 607 return runtimeConfiguration.dart2jsPreambles(preambleDir) |
| 598 ..add(artifact.filename); | 608 ..add(artifact.filename); |
| 599 } | 609 } |
| 600 } | 610 } |
| 601 | 611 |
| 602 class PrecompilerCompilerConfiguration extends CompilerConfiguration { | 612 class PrecompilerCompilerConfiguration extends CompilerConfiguration { |
| 603 final String arch; | 613 final String arch; |
| 604 final bool useBlobs; | 614 final bool useBlobs; |
| 605 final bool isAndroid; | 615 final bool isAndroid; |
| 616 final DFEMode dfeMode; |
| 606 | 617 |
| 607 PrecompilerCompilerConfiguration({bool isDebug, bool isChecked, | 618 PrecompilerCompilerConfiguration({bool isDebug, bool isChecked, |
| 608 this.arch, this.useBlobs, this.isAndroid}) | 619 this.arch, this.useBlobs, this.isAndroid, this.dfeMode: DFEMode.None}) |
| 609 : super._subclass(isDebug: isDebug, isChecked: isChecked); | 620 : super._subclass(isDebug: isDebug, isChecked: isChecked); |
| 610 | 621 |
| 611 int computeTimeoutMultiplier() { | 622 int computeTimeoutMultiplier() { |
| 612 int multiplier = 2; | 623 int multiplier = 2; |
| 613 if (isDebug) multiplier *= 4; | 624 if (isDebug) multiplier *= 4; |
| 614 if (isChecked) multiplier *= 2; | 625 if (isChecked) multiplier *= 2; |
| 615 return multiplier; | 626 return multiplier; |
| 616 } | 627 } |
| 617 | 628 |
| 618 CommandArtifact computeCompilationArtifact( | 629 CommandArtifact computeCompilationArtifact( |
| (...skipping 20 matching lines...) Expand all Loading... |
| 639 CommandBuilder commandBuilder, | 650 CommandBuilder commandBuilder, |
| 640 List arguments, | 651 List arguments, |
| 641 Map<String, String> environmentOverrides) { | 652 Map<String, String> environmentOverrides) { |
| 642 var exec; | 653 var exec; |
| 643 if (isAndroid && arch == 'arm') { | 654 if (isAndroid && arch == 'arm') { |
| 644 exec = "$buildDir/clang_x86/dart_bootstrap"; | 655 exec = "$buildDir/clang_x86/dart_bootstrap"; |
| 645 } else { | 656 } else { |
| 646 exec = "$buildDir/dart_bootstrap"; | 657 exec = "$buildDir/dart_bootstrap"; |
| 647 } | 658 } |
| 648 var args = new List(); | 659 var args = new List(); |
| 660 if (dfeMode != DFEMode.None) { |
| 661 args.add('--dfe=utils/kernel-service/kernel-service.dart'); |
| 662 } |
| 663 if (dfeMode == DFEMode.Fasta) { |
| 664 args.add('-DDFE_USE_FASTA=true'); |
| 665 } |
| 649 args.add("--snapshot-kind=app-aot"); | 666 args.add("--snapshot-kind=app-aot"); |
| 650 if (useBlobs) { | 667 if (useBlobs) { |
| 651 args.add("--snapshot=$tempDir/out.aotsnapshot"); | 668 args.add("--snapshot=$tempDir/out.aotsnapshot"); |
| 652 args.add("--use-blobs"); | 669 args.add("--use-blobs"); |
| 653 } else { | 670 } else { |
| 654 args.add("--snapshot=$tempDir/out.S"); | 671 args.add("--snapshot=$tempDir/out.S"); |
| 655 } | 672 } |
| 656 if (isAndroid && arch == 'arm') { | 673 if (isAndroid && arch == 'arm') { |
| 657 args.add('--no-sim-use-hardfp'); | 674 args.add('--no-sim-use-hardfp'); |
| 658 } | 675 } |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 932 RuntimeConfiguration runtimeConfiguration, | 949 RuntimeConfiguration runtimeConfiguration, |
| 933 String buildDir, | 950 String buildDir, |
| 934 TestInformation info, | 951 TestInformation info, |
| 935 List<String> vmOptions, | 952 List<String> vmOptions, |
| 936 List<String> sharedOptions, | 953 List<String> sharedOptions, |
| 937 List<String> originalArguments, | 954 List<String> originalArguments, |
| 938 CommandArtifact artifact) { | 955 CommandArtifact artifact) { |
| 939 return <String>[]; | 956 return <String>[]; |
| 940 } | 957 } |
| 941 } | 958 } |
| OLD | NEW |