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

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

Issue 2669783002: Put tree-shaking behind a flag in dartk. (Closed)
Patch Set: Make named argument TargetFlags.treeShake default to false Created 3 years, 10 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 | « pkg/kernel/lib/target/vm.dart ('k') | tools/testing/dart/test_options.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 import 'runtime_configuration.dart' show DartPrecompiledAdbRuntimeConfiguration; 10 import 'runtime_configuration.dart' show DartPrecompiledAdbRuntimeConfiguration;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 bool isHostChecked = configuration['host_checked']; 62 bool isHostChecked = configuration['host_checked'];
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 verifyKernel = configuration['verify-ir']; 70 bool verifyKernel = configuration['verify-ir'];
71 bool useStandaloneDartK = configuration['use-standalone-dartk']; 71 bool useStandaloneDartK = configuration['use-standalone-dartk'];
72 bool treeShake = !configuration['no-tree-shake'];
72 73
73 switch (compiler) { 74 switch (compiler) {
74 case 'dart2analyzer': 75 case 'dart2analyzer':
75 return new AnalyzerCompilerConfiguration( 76 return new AnalyzerCompilerConfiguration(
76 isDebug: isDebug, 77 isDebug: isDebug,
77 isChecked: isChecked, 78 isChecked: isChecked,
78 isStrong: isStrong, 79 isStrong: isStrong,
79 isHostChecked: isHostChecked, 80 isHostChecked: isHostChecked,
80 useSdk: useSdk); 81 useSdk: useSdk);
81 case 'dart2js': 82 case 'dart2js':
(...skipping 17 matching lines...) Expand all
99 arch: configuration['arch'], 100 arch: configuration['arch'],
100 useBlobs: useBlobs, 101 useBlobs: useBlobs,
101 isAndroid: configuration['system'] == 'android'); 102 isAndroid: configuration['system'] == 'android');
102 case 'dartk': 103 case 'dartk':
103 if (useStandaloneDartK) { 104 if (useStandaloneDartK) {
104 return ComposedCompilerConfiguration.createDartKConfiguration( 105 return ComposedCompilerConfiguration.createDartKConfiguration(
105 isChecked: isChecked, 106 isChecked: isChecked,
106 isHostChecked: isHostChecked, 107 isHostChecked: isHostChecked,
107 useSdk: useSdk, 108 useSdk: useSdk,
108 verify: verifyKernel, 109 verify: verifyKernel,
109 strong: isStrong); 110 strong: isStrong,
111 treeShake: treeShake);
110 } 112 }
111 113
112 return new NoneCompilerConfiguration( 114 return new NoneCompilerConfiguration(
113 isDebug: isDebug, 115 isDebug: isDebug,
114 isChecked: isChecked, 116 isChecked: isChecked,
115 isHostChecked: isHostChecked, 117 isHostChecked: isHostChecked,
116 useSdk: useSdk, 118 useSdk: useSdk,
117 hotReload: hotReload, 119 hotReload: hotReload,
118 hotReloadRollback: hotReloadRollback, 120 hotReloadRollback: hotReloadRollback,
119 useDFEIsolate: true); 121 useDFEIsolate: true);
120 122
121 case 'dartkp': 123 case 'dartkp':
122 return ComposedCompilerConfiguration.createDartKPConfiguration( 124 return ComposedCompilerConfiguration.createDartKPConfiguration(
123 isChecked: isChecked, 125 isChecked: isChecked,
124 isHostChecked: isHostChecked, 126 isHostChecked: isHostChecked,
125 arch: configuration['arch'], 127 arch: configuration['arch'],
126 useBlobs: useBlobs, 128 useBlobs: useBlobs,
127 isAndroid: configuration['system'] == 'android', 129 isAndroid: configuration['system'] == 'android',
128 useSdk: useSdk, 130 useSdk: useSdk,
129 verify: verifyKernel, 131 verify: verifyKernel,
130 strong: isStrong); 132 strong: isStrong,
133 treeShake: treeShake);
131 case 'none': 134 case 'none':
132 return new NoneCompilerConfiguration( 135 return new NoneCompilerConfiguration(
133 isDebug: isDebug, 136 isDebug: isDebug,
134 isChecked: isChecked, 137 isChecked: isChecked,
135 isHostChecked: isHostChecked, 138 isHostChecked: isHostChecked,
136 useSdk: useSdk, 139 useSdk: useSdk,
137 hotReload: hotReload, 140 hotReload: hotReload,
138 hotReloadRollback: hotReloadRollback); 141 hotReloadRollback: hotReloadRollback);
139 default: 142 default:
140 throw "Unknown compiler '$compiler'"; 143 throw "Unknown compiler '$compiler'";
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 } 239 }
237 return args 240 return args
238 ..addAll(vmOptions) 241 ..addAll(vmOptions)
239 ..addAll(sharedOptions) 242 ..addAll(sharedOptions)
240 ..addAll(originalArguments); 243 ..addAll(originalArguments);
241 } 244 }
242 } 245 }
243 246
244 /// The "dartk" compiler. 247 /// The "dartk" compiler.
245 class DartKCompilerConfiguration extends CompilerConfiguration { 248 class DartKCompilerConfiguration extends CompilerConfiguration {
246 final bool verify, strong; 249 final bool verify, strong, treeShake;
247 250
248 DartKCompilerConfiguration({bool isChecked, bool isHostChecked, bool useSdk, 251 DartKCompilerConfiguration({bool isChecked, bool isHostChecked, bool useSdk,
249 this.verify, this.strong}) 252 this.verify, this.strong, this.treeShake})
250 : super._subclass(isChecked: isChecked, isHostChecked: isHostChecked, 253 : super._subclass(isChecked: isChecked, isHostChecked: isHostChecked,
251 useSdk: useSdk); 254 useSdk: useSdk);
252 255
253 @override 256 @override
254 String computeCompilerPath(String buildDir) { 257 String computeCompilerPath(String buildDir) {
255 return 'tools/dartk_wrappers/dartk$executableScriptSuffix'; 258 return 'tools/dartk_wrappers/dartk$executableScriptSuffix';
256 } 259 }
257 260
258 CompilationCommand computeCompilationCommand( 261 CompilationCommand computeCompilationCommand(
259 String outputFileName, 262 String outputFileName,
260 String buildDir, 263 String buildDir,
261 CommandBuilder commandBuilder, 264 CommandBuilder commandBuilder,
262 List arguments, 265 List arguments,
263 Map<String, String> environmentOverrides) { 266 Map<String, String> environmentOverrides) {
264 Iterable<String> extraArguments = [ 267 Iterable<String> extraArguments = [
265 '--sdk', 268 '--sdk',
266 '$buildDir/patched_sdk', 269 '$buildDir/patched_sdk',
267 '--link', 270 '--link',
268 '--target=vm', 271 '--target=vm',
272 treeShake ? '--tree-shake' : null,
269 strong ? '--strong' : null, 273 strong ? '--strong' : null,
270 verify ? '--verify-ir' : null, 274 verify ? '--verify-ir' : null,
271 '--out', 275 '--out',
272 outputFileName 276 outputFileName
273 ].where((x) => x != null); 277 ].where((x) => x != null);
274 return commandBuilder.getKernelCompilationCommand( 278 return commandBuilder.getKernelCompilationCommand(
275 'dartk', 279 'dartk',
276 outputFileName, 280 outputFileName,
277 true, 281 true,
278 bootstrapDependencies(buildDir), 282 bootstrapDependencies(buildDir),
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 CommandArtifact artifact) { 419 CommandArtifact artifact) {
416 CompilerConfiguration lastCompilerConfiguration = 420 CompilerConfiguration lastCompilerConfiguration =
417 pipelineCommands.last.compilerConfiguration; 421 pipelineCommands.last.compilerConfiguration;
418 return lastCompilerConfiguration.computeRuntimeArguments( 422 return lastCompilerConfiguration.computeRuntimeArguments(
419 runtimeConfiguration, buildDir, info, vmOptions, sharedOptions, 423 runtimeConfiguration, buildDir, info, vmOptions, sharedOptions,
420 originalArguments, artifact); 424 originalArguments, artifact);
421 } 425 }
422 426
423 static ComposedCompilerConfiguration createDartKPConfiguration( 427 static ComposedCompilerConfiguration createDartKPConfiguration(
424 {bool isChecked, bool isHostChecked, String arch, bool useBlobs, 428 {bool isChecked, bool isHostChecked, String arch, bool useBlobs,
425 bool isAndroid, bool useSdk, bool verify, bool strong}) { 429 bool isAndroid, bool useSdk, bool verify, bool strong, bool treeShake}) {
426 var nested = []; 430 var nested = [];
427 431
428 // Compile with dartk. 432 // Compile with dartk.
429 nested.add(new PipelineCommand.runWithGlobalArguments( 433 nested.add(new PipelineCommand.runWithGlobalArguments(
430 new DartKCompilerConfiguration(isChecked: isChecked, 434 new DartKCompilerConfiguration(isChecked: isChecked,
431 isHostChecked: isHostChecked, useSdk: useSdk, verify: verify, 435 isHostChecked: isHostChecked, useSdk: useSdk, verify: verify,
432 strong: strong))); 436 strong: strong, treeShake: treeShake)));
433 437
434 // Run the normal precompiler. 438 // Run the normal precompiler.
435 nested.add(new PipelineCommand.runWithPreviousKernelOutput( 439 nested.add(new PipelineCommand.runWithPreviousKernelOutput(
436 new PrecompilerCompilerConfiguration( 440 new PrecompilerCompilerConfiguration(
437 isChecked: isChecked, arch: arch, useBlobs: useBlobs, 441 isChecked: isChecked, arch: arch, useBlobs: useBlobs,
438 isAndroid: isAndroid))); 442 isAndroid: isAndroid)));
439 443
440 return new ComposedCompilerConfiguration(nested); 444 return new ComposedCompilerConfiguration(nested);
441 } 445 }
442 446
443 static ComposedCompilerConfiguration createDartKConfiguration( 447 static ComposedCompilerConfiguration createDartKConfiguration(
444 {bool isChecked, bool isHostChecked, bool useSdk, bool verify, 448 {bool isChecked, bool isHostChecked, bool useSdk, bool verify,
445 bool strong}) { 449 bool strong, bool treeShake}) {
446 var nested = []; 450 var nested = [];
447 451
448 // Compile with dartk. 452 // Compile with dartk.
449 nested.add(new PipelineCommand.runWithGlobalArguments( 453 nested.add(new PipelineCommand.runWithGlobalArguments(
450 new DartKCompilerConfiguration(isChecked: isChecked, 454 new DartKCompilerConfiguration(isChecked: isChecked,
451 isHostChecked: isHostChecked, useSdk: useSdk, 455 isHostChecked: isHostChecked, useSdk: useSdk,
452 verify: verify, strong: strong))); 456 verify: verify, strong: strong, treeShake: treeShake)));
453 457
454 return new ComposedCompilerConfiguration(nested); 458 return new ComposedCompilerConfiguration(nested);
455 } 459 }
456 } 460 }
457 461
458 /// Common configuration for dart2js-based tools, such as, dart2js 462 /// Common configuration for dart2js-based tools, such as, dart2js
459 class Dart2xCompilerConfiguration extends CompilerConfiguration { 463 class Dart2xCompilerConfiguration extends CompilerConfiguration {
460 final String moniker; 464 final String moniker;
461 static Map<String, List<Uri>> _bootstrapDependenciesCache = 465 static Map<String, List<Uri>> _bootstrapDependenciesCache =
462 new Map<String, List<Uri>>(); 466 new Map<String, List<Uri>>();
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
914 RuntimeConfiguration runtimeConfiguration, 918 RuntimeConfiguration runtimeConfiguration,
915 String buildDir, 919 String buildDir,
916 TestInformation info, 920 TestInformation info,
917 List<String> vmOptions, 921 List<String> vmOptions,
918 List<String> sharedOptions, 922 List<String> sharedOptions,
919 List<String> originalArguments, 923 List<String> originalArguments,
920 CommandArtifact artifact) { 924 CommandArtifact artifact) {
921 return <String>[]; 925 return <String>[];
922 } 926 }
923 } 927 }
OLDNEW
« no previous file with comments | « pkg/kernel/lib/target/vm.dart ('k') | tools/testing/dart/test_options.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698