Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: tools/testing/dart/compiler_configuration.dart

Issue 2638033002: Remove some hacks in the testing scripts & prepare for checked mode handling with kernel (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tools/testing/dart/runtime_configuration.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 10
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 isDebug: isDebug, isChecked: isChecked); 84 isDebug: isDebug, isChecked: isChecked);
85 case 'precompiler': 85 case 'precompiler':
86 return new PrecompilerCompilerConfiguration( 86 return new PrecompilerCompilerConfiguration(
87 isDebug: isDebug, 87 isDebug: isDebug,
88 isChecked: isChecked, 88 isChecked: isChecked,
89 arch: configuration['arch'], 89 arch: configuration['arch'],
90 useBlobs: useBlobs, 90 useBlobs: useBlobs,
91 isAndroid: configuration['system'] == 'android'); 91 isAndroid: configuration['system'] == 'android');
92 case 'dartk': 92 case 'dartk':
93 return ComposedCompilerConfiguration.createDartKConfiguration( 93 return ComposedCompilerConfiguration.createDartKConfiguration(
94 isChecked: isChecked,
94 isHostChecked: isHostChecked, 95 isHostChecked: isHostChecked,
95 useSdk: useSdk, 96 useSdk: useSdk,
96 verify: verifyKernel, 97 verify: verifyKernel,
97 strong: isStrong); 98 strong: isStrong);
98 case 'dartkp': 99 case 'dartkp':
99 return ComposedCompilerConfiguration.createDartKPConfiguration( 100 return ComposedCompilerConfiguration.createDartKPConfiguration(
101 isChecked: isChecked,
100 isHostChecked: isHostChecked, 102 isHostChecked: isHostChecked,
101 arch: configuration['arch'], 103 arch: configuration['arch'],
102 useBlobs: useBlobs, 104 useBlobs: useBlobs,
103 isAndroid: configuration['system'] == 'android', 105 isAndroid: configuration['system'] == 'android',
104 useSdk: useSdk, 106 useSdk: useSdk,
105 verify: verifyKernel, 107 verify: verifyKernel,
106 strong: isStrong); 108 strong: isStrong);
107 case 'none': 109 case 'none':
108 return new NoneCompilerConfiguration( 110 return new NoneCompilerConfiguration(
109 isDebug: isDebug, 111 isDebug: isDebug,
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 ..addAll(vmOptions) 213 ..addAll(vmOptions)
212 ..addAll(sharedOptions) 214 ..addAll(sharedOptions)
213 ..addAll(originalArguments); 215 ..addAll(originalArguments);
214 } 216 }
215 } 217 }
216 218
217 /// The "dartk" compiler. 219 /// The "dartk" compiler.
218 class DartKCompilerConfiguration extends CompilerConfiguration { 220 class DartKCompilerConfiguration extends CompilerConfiguration {
219 final bool verify, strong; 221 final bool verify, strong;
220 222
221 DartKCompilerConfiguration({bool isHostChecked, bool useSdk, this.verify, 223 DartKCompilerConfiguration({bool isChecked, bool isHostChecked, bool useSdk,
222 this.strong}) 224 this.verify, this.strong})
223 : super._subclass(isHostChecked: isHostChecked, useSdk: useSdk); 225 : super._subclass(isChecked: isChecked, isHostChecked: isHostChecked,
226 useSdk: useSdk);
224 227
225 @override 228 @override
226 String computeCompilerPath(String buildDir) { 229 String computeCompilerPath(String buildDir) {
227 return 'tools/dartk_wrappers/dartk$executableScriptSuffix'; 230 return 'tools/dartk_wrappers/dartk$executableScriptSuffix';
228 } 231 }
229 232
230 CompilationCommand computeCompilationCommand( 233 CompilationCommand computeCompilationCommand(
231 String outputFileName, 234 String outputFileName,
232 String buildDir, 235 String buildDir,
233 CommandBuilder commandBuilder, 236 CommandBuilder commandBuilder,
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 } 309 }
307 310
308 List<String> extractArguments(List<String> globalArguments, 311 List<String> extractArguments(List<String> globalArguments,
309 String previousOutput) { 312 String previousOutput) {
310 return _argumentsFunction(globalArguments, previousOutput); 313 return _argumentsFunction(globalArguments, previousOutput);
311 } 314 }
312 } 315 }
313 316
314 class ComposedCompilerConfiguration extends CompilerConfiguration { 317 class ComposedCompilerConfiguration extends CompilerConfiguration {
315 final List<PipelineCommand> pipelineCommands; 318 final List<PipelineCommand> pipelineCommands;
316 final bool isPrecompiler;
317 319
318 ComposedCompilerConfiguration(this.pipelineCommands, {this.isPrecompiler: fals e}) 320 ComposedCompilerConfiguration(this.pipelineCommands) : super._subclass();
319 : super._subclass();
320 321
321 CommandArtifact computeCompilationArtifact( 322 CommandArtifact computeCompilationArtifact(
322 String buildDir, 323 String buildDir,
323 String tempDir, 324 String tempDir,
324 CommandBuilder commandBuilder, 325 CommandBuilder commandBuilder,
325 List globalArguments, 326 List globalArguments,
326 Map<String, String> environmentOverrides) { 327 Map<String, String> environmentOverrides) {
327 328
328 List<Command> allCommands = []; 329 List<Command> allCommands = [];
329 330
(...skipping 27 matching lines...) Expand all
357 } 358 }
358 359
359 List<String> computeRuntimeArguments( 360 List<String> computeRuntimeArguments(
360 RuntimeConfiguration runtimeConfiguration, 361 RuntimeConfiguration runtimeConfiguration,
361 String buildDir, 362 String buildDir,
362 TestInformation info, 363 TestInformation info,
363 List<String> vmOptions, 364 List<String> vmOptions,
364 List<String> sharedOptions, 365 List<String> sharedOptions,
365 List<String> originalArguments, 366 List<String> originalArguments,
366 CommandArtifact artifact) { 367 CommandArtifact artifact) {
367 final String suffix = isPrecompiler ? "/out.aotsnapshot" : ""; 368 CompilerConfiguration lastCompilerConfiguration =
368 return <String>["${artifact.filename}${suffix}"]; 369 pipelineCommands.last.compilerConfiguration;
370 return lastCompilerConfiguration.computeRuntimeArguments(
371 runtimeConfiguration, buildDir, info, vmOptions, sharedOptions,
372 originalArguments, artifact);
369 } 373 }
370 374
371 static ComposedCompilerConfiguration createDartKPConfiguration( 375 static ComposedCompilerConfiguration createDartKPConfiguration(
372 {bool isHostChecked, String arch, bool useBlobs, bool isAndroid, 376 {bool isChecked, bool isHostChecked, String arch, bool useBlobs,
373 bool useSdk, bool verify, bool strong}) { 377 bool isAndroid, bool useSdk, bool verify, bool strong}) {
374 var nested = []; 378 var nested = [];
375 379
376 // Compile with dartk. 380 // Compile with dartk.
377 nested.add(new PipelineCommand.runWithGlobalArguments( 381 nested.add(new PipelineCommand.runWithGlobalArguments(
378 new DartKCompilerConfiguration(isHostChecked: isHostChecked, 382 new DartKCompilerConfiguration(isChecked: isChecked,
379 useSdk: useSdk, verify: verify, strong: strong))); 383 isHostChecked: isHostChecked, useSdk: useSdk, verify: verify,
384 strong: strong)));
380 385
381 // Run the normal precompiler. 386 // Run the normal precompiler.
382 nested.add(new PipelineCommand.runWithPreviousKernelOutput( 387 nested.add(new PipelineCommand.runWithPreviousKernelOutput(
383 new PrecompilerCompilerConfiguration( 388 new PrecompilerCompilerConfiguration(
384 arch: arch, useBlobs: useBlobs, isAndroid: isAndroid))); 389 isChecked: isChecked, arch: arch, useBlobs: useBlobs,
390 isAndroid: isAndroid)));
385 391
386 return new ComposedCompilerConfiguration(nested, isPrecompiler: true); 392 return new ComposedCompilerConfiguration(nested);
387 } 393 }
388 394
389 static ComposedCompilerConfiguration createDartKConfiguration( 395 static ComposedCompilerConfiguration createDartKConfiguration(
390 {bool isHostChecked, bool useSdk, bool verify, bool strong}) { 396 {bool isChecked, bool isHostChecked, bool useSdk, bool verify,
397 bool strong}) {
391 var nested = []; 398 var nested = [];
392 399
393 // Compile with dartk. 400 // Compile with dartk.
394 nested.add(new PipelineCommand.runWithGlobalArguments( 401 nested.add(new PipelineCommand.runWithGlobalArguments(
395 new DartKCompilerConfiguration(isHostChecked: isHostChecked, 402 new DartKCompilerConfiguration(isChecked: isChecked,
396 useSdk: useSdk, verify: verify, strong: strong))); 403 isHostChecked: isHostChecked, useSdk: useSdk,
404 verify: verify, strong: strong)));
397 405
398 return new ComposedCompilerConfiguration(nested, isPrecompiler: false); 406 return new ComposedCompilerConfiguration(nested);
399 } 407 }
400 } 408 }
401 409
402 /// Common configuration for dart2js-based tools, such as, dart2js 410 /// Common configuration for dart2js-based tools, such as, dart2js
403 class Dart2xCompilerConfiguration extends CompilerConfiguration { 411 class Dart2xCompilerConfiguration extends CompilerConfiguration {
404 final String moniker; 412 final String moniker;
405 static Map<String, List<Uri>> _bootstrapDependenciesCache = 413 static Map<String, List<Uri>> _bootstrapDependenciesCache =
406 new Map<String, List<Uri>>(); 414 new Map<String, List<Uri>>();
407 415
408 Dart2xCompilerConfiguration(this.moniker, 416 Dart2xCompilerConfiguration(this.moniker,
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 TestInformation info, 698 TestInformation info,
691 List<String> vmOptions, 699 List<String> vmOptions,
692 List<String> sharedOptions, 700 List<String> sharedOptions,
693 List<String> originalArguments, 701 List<String> originalArguments,
694 CommandArtifact artifact) { 702 CommandArtifact artifact) {
695 List<String> args = []; 703 List<String> args = [];
696 if (isChecked) { 704 if (isChecked) {
697 args.add('--enable_asserts'); 705 args.add('--enable_asserts');
698 args.add('--enable_type_checks'); 706 args.add('--enable_type_checks');
699 } 707 }
708 var newOriginalArguments = new List<String>.from(originalArguments);
709 for (var i = 0; i < newOriginalArguments .length; i++) {
710 if (newOriginalArguments[i].endsWith(".dart")) {
711 newOriginalArguments[i] = "${artifact.filename}/out.aotsnapshot";
712 }
713 }
kustermann 2017/01/17 15:19:54 Maybe I can also get rid of this at some point, bu
700 return args 714 return args
701 ..addAll(vmOptions) 715 ..addAll(vmOptions)
702 ..addAll(sharedOptions) 716 ..addAll(sharedOptions)
703 ..addAll(originalArguments); 717 ..addAll(newOriginalArguments);
704 } 718 }
705 } 719 }
706 720
707 class Dart2AppSnapshotCompilerConfiguration extends CompilerConfiguration { 721 class Dart2AppSnapshotCompilerConfiguration extends CompilerConfiguration {
708 Dart2AppSnapshotCompilerConfiguration({bool isDebug, bool isChecked}) 722 Dart2AppSnapshotCompilerConfiguration({bool isDebug, bool isChecked})
709 : super._subclass(isDebug: isDebug, isChecked: isChecked); 723 : super._subclass(isDebug: isDebug, isChecked: isChecked);
710 724
711 int computeTimeoutMultiplier() { 725 int computeTimeoutMultiplier() {
712 int multiplier = 2; 726 int multiplier = 2;
713 if (isDebug) multiplier *= 4; 727 if (isDebug) multiplier *= 4;
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
848 RuntimeConfiguration runtimeConfiguration, 862 RuntimeConfiguration runtimeConfiguration,
849 String buildDir, 863 String buildDir,
850 TestInformation info, 864 TestInformation info,
851 List<String> vmOptions, 865 List<String> vmOptions,
852 List<String> sharedOptions, 866 List<String> sharedOptions,
853 List<String> originalArguments, 867 List<String> originalArguments,
854 CommandArtifact artifact) { 868 CommandArtifact artifact) {
855 return <String>[]; 869 return <String>[];
856 } 870 }
857 } 871 }
OLDNEW
« no previous file with comments | « no previous file | tools/testing/dart/runtime_configuration.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698